A better way to organize and develop on your Express.js Node.js application. Built for developers who need a little bit more structure and for helping engineering teams scale from 0 to 1.
Add a new HTTP action (endpoint) to an existing feature in this Express/Sequelize codebase. Use when the user asks to "add an action/endpoint/route" to a feature, e.g. "add a V1Cancel action to Order" or "add an update endpoint to Product".
Add a new authenticated user type (e.g. Partner, Driver) with its own login/refresh/logout and access+refresh tokens, alongside the existing User and Admin. Use when the user wants a new kind of authenticated account with its own portal/auth, NOT a role on an existing table.
Add a global constant or enum (e.g. a status set, role list, type list) to helpers/constants.js using the dual-export pattern. Use when the user introduces a new enum/status/type, or you'd otherwise hardcode a string literal like 'PENDING' or 'ADMIN' in code.
Schedule recurring work with a cronjob in this codebase (runs in the clock process, enqueues a background task on a schedule). Use when the user asks to "run something every day/hour", "add a scheduled/cron job", or do periodic maintenance (token refresh, cleanup, daily emails).
Add a new client error code (4xx) to a feature and return it from an action in this codebase. Use when the user needs a new error response, a business-rule rejection, or asks to "add an error code / error message".
Add test fixtures and/or dev seed data for a feature/table in this codebase. Use when a new table needs baseline test data, tests fail because a table is empty, or the user asks to "add fixtures / seed data / test data".
Add a new language/locale (e.g. Spanish 'es', French 'fr') to the i18n system, or add/edit translation keys. Use when the user asks to "add a language", "support translations/i18n", or "add a translation key".
Add a transactional email (mailer) to a feature and send it from an action or task in this codebase. Use when the user asks to "add an email/mailer", "send an email when X happens", or create an email template.
Create a database migration to add a new table or alter an existing one (add columns, indexes, constraints) in this Sequelize/Postgres codebase. Use when the user asks to "add a migration", "add/change a column", "create a table migration", or "add an index/constraint".
Build a Query/list/read-all endpoint with pagination, filtering, and sorting in this Express/Sequelize codebase. Use when the user asks to "list/query/search/paginate" records, add a "get all" or "index" endpoint, or filter results by ranges/dates/status.
Add a real-time Socket.IO event (server listener and/or emit) in this codebase. Use when the user asks to "add a socket event", "emit something in real time", "push updates to clients", or wire a live feature (typing, presence, new message).
Add a background job (Bull/Redis task) to an existing feature in this Express/Sequelize codebase. Use when the user asks to "add a task/background job/worker", schedule async work, or fan out heavy processing (e.g. exports, notifications, syncs).
Scaffold and wire a brand-new feature (a database table + its API) end-to-end in this Express/Sequelize codebase. Use when the user asks to "create/add a feature", "add a new table/model and endpoints", or names a new domain entity (e.g. Order, Product, Post) to build CRUD/query around.
Modify an EXISTING feature — add columns to its table and/or add new actions/tasks/methods — without creating a new feature folder. Use when the user asks to "add a field/column", "update/extend a feature", "add an endpoint to an existing feature", or change behavior on a table that already exists.
Cut a new release of Orbital Express — bump the version, write the changelog, commit, push, and tag. Use this skill whenever the user says something like "let's do a release", "write the changelog", "let's ship a new version", "bump the version", "time to tag a release", or anything that suggests they want to record…
Self-audit changed/new code against this codebase's conventions before declaring work done, or review a diff/PR for convention violations. Use after implementing a feature/action/task/migration, or when the user asks to "review for conventions", "check this follows our patterns", or "audit this code".
Environment setup, running the servers, database backup/restore/migrate, i18n/email compilation, and Heroku deployment for this codebase. Use when the user asks to "set up / run the project", run migrations, back up/restore the DB, deploy, or asks what a yarn command does.
Keep all documentation in sync. Use whenever you edit ANY documentation surface — documentation.html, README.md, docs/conventions.txt, AGENTS.md, CLAUDE.md, or any .claude/skills//SKILL.md — to propagate the same change to the other surfaces that need it. A change to one doc is never done until the others are…
Sync Traditional Chinese (zh-TW) translations after English docs are updated. Use this skill whenever English documentation pages have been edited and the Chinese versions need to be updated to match. Trigger when the user says things like "sync the translations", "update the Chinese docs", "translate the changes"…
Write or audit Jest integration/task/unit tests in this codebase following its conventions (real DB, fixtures-as-baselines, every error code tested, auth-rejection tests, --runInBand). Use when the user asks to "write/add tests", "test this action/task", or "improve test coverage".