Orchestrate end-to-end Node.js backend feature development from idea or plan to reviewed, committed code. Use this skill proactively when the user wants to implement a feature, endpoint, service, module, or integration in a Node.js application โ even if they just say "implement this", "add this endpoint", "build this service", "develop this plan", or "create this API". Works with any Node.js framework (Express, Fastify, NestJS, Koa) and TypeScript or JavaScript. Spawns parallel specialist subagents for codebase exploration, architecture planning, implementation, testing, and code review, then guides the user through approval, commit, and optional PR creation.
From nodenpx claudepluginhub wesleyegberto/software-engineering-skills --plugin nodeThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Orchestrate the complete development of a Node.js backend feature โ from requirements through architecture planning, implementation, testing, review, and delivery. Uses specialized subagents running in parallel where possible to accelerate the workflow without sacrificing quality.
This skill starts a team of specialist subagents to parallelize and accelerate the implementation. Before proceeding, inform the user which agents will be used:
This skill will coordinate a team of specialist subagents to implement your feature:
๐ Code Explorer โ maps the existing codebase, patterns, and impact areas
๐๏ธ Backend Architect โ designs the module/component structure, API, data model, and security
๐ข Node.js Developer โ implements router, service, repository, DTOs, and migrations
๐งช Test Automator โ writes unit, integration, and API tests
๐ Code Reviewer โ reviews for correctness, security, performance, and consistency
Agents run in parallel where possible to save time.
Each agent will open in a dedicated terminal pane (tmux or iTerm2) so you can follow progress in real time.
Shall I start the team and begin the feature development workflow?
1. Yes โ let's go
2. No โ I'll implement manually
Use AskUserQuestion to present this message and wait for confirmation before continuing.
If the user selects option 2, stop and let them proceed on their own.
Each agent step MUST open a dedicated terminal pane before launching so the user can follow progress in real time.
use skill programming-skills:terminal-monitor โ handles detection (tmux / iTerm2 / none) and pane opening. Call it once per agent with the parameters below.
| Step | mode | label | pane-name | output-file |
|---|---|---|---|---|
| 2 โ Code Explorer | subagent | ๐ Code Explorer | ๐ explorer | .node-dev/02-codebase-analysis.md |
| 3 โ Backend Architect | subagent | ๐๏ธ Backend Architect | ๐๏ธ architect | .node-dev/03-architecture.md |
| 4 โ Node.js Developer | subagent | ๐ข Node.js Developer | ๐ข node | .node-dev/04-implementation.md |
| 5a โ Test Automator | subagent | ๐งช Test Automator | ๐งช tests | .node-dev/05-quality.md |
| 5b โ Code Reviewer | subagent | ๐ Code Reviewer | ๐ reviewer | .node-dev/05-quality.md |
Follow these rules exactly. Violating any of them is a failure.
.node-dev/ before the next step begins. Read from prior step files โ do NOT rely on context window memory.PHASE CHECKPOINT, you MUST stop and wait for explicit user approval using AskUserQuestion. Do NOT continue automatically.backend-architect step MUST complete and be approved before implementation begins. Do NOT skip or merge it with implementation.EnterPlanMode โ this skill IS the plan. Execute it.Check if .node-dev/state.json exists:
If status is "in_progress": Read it and ask the user via AskUserQuestion:
Found an in-progress Node.js feature session:
Feature: [name from state]
Current step: [step from state]
1. Resume from where we left off
2. Start fresh (archives existing session to .node-dev/archive/)
If status is "complete": Ask whether to archive and start fresh.
Create .node-dev/ directory and state.json:
{
"feature": "$ARGUMENTS",
"status": "in_progress",
"current_step": 1,
"current_phase": 1,
"completed_steps": [],
"files_created": [],
"started_at": "ISO_TIMESTAMP",
"last_updated": "ISO_TIMESTAMP"
}
The feature description ($FEATURE) is the full content of $ARGUMENTS.
Gather requirements through interactive Q&A using AskUserQuestion. Ask ONE question at a time โ do NOT dump all questions at once.
Questions to ask (in order):
After gathering answers, write:
Output file: .node-dev/01-requirements.md
# Requirements: $FEATURE
## Feature Description
[From Q1]
## API Contract
[From Q2 โ endpoints, methods, request/response shapes]
## Acceptance Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
## Data and Persistence
[From Q4 โ entities/models, relationships, schema changes]
## Integrations
[From Q5 โ external services, queues, third-party APIs]
## Non-Functional Requirements
[From Q6 โ latency, rate limiting, auth, audit]
## Out of Scope
[From Q7]
Update state.json: set current_step to 2, add "01-requirements.md" to files_created.
Read .node-dev/01-requirements.md.
use skill programming-skills:terminal-monitor with: mode: subagent, label: ๐ Code Explorer, pane-name: ๐ explorer, output-file: .node-dev/02-codebase-analysis.md
Launch the codebase explorer:
Agent:
subagent_type: "programming-skills:code-explorer"
description: "Explore Node.js codebase for $FEATURE"
prompt: |
You are a codebase explorer. Analyze this Node.js project to map existing
patterns and identify exactly what needs to change to implement this feature.
## Feature Requirements
[Insert full contents of .node-dev/01-requirements.md]
## What to explore and document:
1. **Project structure**: Folder and module organization โ how routes, controllers,
services, repositories/DAOs, models, middleware, and config are structured.
Note whether it's organized by layer or by domain/feature.
2. **Framework and runtime**: Which framework is in use (Express, Fastify, NestJS,
Koa, etc.), Node.js version, and whether the project uses TypeScript or JavaScript.
Note the tsconfig or Babel config if present.
3. **ORM / Database layer**: Which ORM or query builder is used (Prisma, TypeORM,
Sequelize, Mongoose, Drizzle, Knex, raw SQL, etc.), how models/schemas are
defined, and where migrations or seed files live.
4. **Routing patterns**: How routes are defined and registered, how route parameters,
query strings, and request bodies are handled, how versioning is done.
5. **Middleware patterns**: Authentication middleware (JWT, session, OAuth), validation
middleware (Zod, Joi, express-validator, class-validator), error handling middleware,
logging middleware.
6. **Service layer patterns**: How business logic is organized, how dependencies are
injected or composed (DI container, manual wiring, NestJS DI, etc.).
7. **Error handling**: How errors are thrown (custom error classes vs. standard),
how they're caught (global handler, try/catch patterns), response error shapes.
8. **Testing patterns**: Test setup (Jest, Vitest, Mocha), how integration/API tests
are structured (Supertest, test containers, in-memory DB), mocking patterns,
test file naming and location conventions.
9. **Impact map**: List the specific modules/files/directories that will likely be
created or modified for this feature, with a brief reason for each.
Write your findings as a structured markdown document with clear headings.
Focus on what a developer needs to know to implement this feature consistently
with the existing codebase.
Save the output to:
Output file: .node-dev/02-codebase-analysis.md
Update state.json: set current_step to 3, add step 2 to completed_steps.
Read .node-dev/01-requirements.md and .node-dev/02-codebase-analysis.md.
use skill programming-skills:terminal-monitor with: mode: subagent, label: ๐๏ธ Backend Architect, pane-name: ๐๏ธ architect, output-file: .node-dev/03-architecture.md
Launch the architecture agent:
Agent:
subagent_type: "backend-architect"
description: "Design Node.js backend architecture for $FEATURE"
prompt: |
You are a backend architect. Design the detailed technical architecture for this
Node.js feature, grounded in the existing codebase patterns.
## Feature Requirements
[Insert full contents of .node-dev/01-requirements.md]
## Existing Codebase Patterns
[Insert full contents of .node-dev/02-codebase-analysis.md]
## Architecture Deliverables
Provide ALL of the following:
### 1. Module / Component Design
Map each component that needs to be created or modified:
- **Router/Controller**: route paths, HTTP methods, request validation, response shapes
- **Service(s)**: business logic responsibilities, async patterns, transaction handling
- **Repository/DAO**: data access methods, query patterns, ORM usage
- **Model/Schema**: data structure, field types, validations, relationships
- **DTOs / Validators**: request/response schemas, validation library (Zod, Joi, etc.)
- **Middleware**: any new middleware needed (auth guards, rate limiting, logging)
### 2. Data Model
- New collections/tables with field definitions and types
- Relationships (foreign keys, embedded documents, references)
- Indexing strategy for query performance
- Database migration or schema update content (Prisma migration, Mongoose schema, SQL DDL)
### 3. API Design
- Complete REST API specification: endpoint, HTTP method, request body schema,
response schema, HTTP status codes, error responses
- Pagination/filtering strategy if collections are returned
- Input validation rules per field
### 4. Security Design
- Which endpoints require authentication/authorization
- Role or permission requirements
- Input sanitization strategy
- Sensitive data handling (what NOT to return in responses)
- Rate limiting if applicable
### 5. Integration Design
- External service/queue contracts and how they will be called
- Async vs. sync integration strategy
- Resilience strategy (retries, circuit breakers, timeouts) if applicable
### 6. Risk Assessment
- Technical risks and proposed mitigations
- Known constraints or trade-offs
Use the `Skill` tool with the following skills to guide your design decisions:
- "software-architecture" โ for architectural styles, patterns, and ADR guidance
- "architecture-system-design" โ for distributed systems and scalability decisions
- "microservices-architect" โ if this feature touches service boundaries or integrations
Write your architecture as a single structured markdown document.
Save the output to:
Output file: .node-dev/03-architecture.md
Update state.json: set current_step to "checkpoint-1", add step 3 to completed_steps.
You MUST stop here. Present a concise summary and ask via AskUserQuestion:
Architecture design complete. Review .node-dev/03-architecture.md for full details.
Components: [list router/service/repository/model names from the design]
Data model: [summary of new models/collections and schema changes]
API: [list of new endpoints]
Security: [auth requirements summary]
1. Approve โ proceed to implementation
2. Request changes โ tell me what to adjust
3. Pause โ save progress and stop here
Do NOT proceed to Phase 4 until the user selects option 1.
If they select option 2, revise .node-dev/03-architecture.md and re-checkpoint.
If option 3, update state.json status to "paused" and stop.
Read .node-dev/01-requirements.md, .node-dev/02-codebase-analysis.md, and .node-dev/03-architecture.md.
Use EnterWorktree to create an isolated development branch before implementation begins.
use skill programming-skills:terminal-monitor with: mode: subagent, label: ๐ข Node.js Developer, pane-name: ๐ข node, output-file: .node-dev/04-implementation.md
Then launch the implementation agent โ use node:typescript-developer if the project uses TypeScript, or node:javascript-developer if it uses plain JavaScript (check the codebase analysis):
Agent:
subagent_type: "node:typescript-developer" # or node:javascript-developer
isolation: "worktree"
description: "Implement Node.js feature: $FEATURE"
prompt: |
You are a senior Node.js backend engineer. Implement this feature based on the
approved architecture and the existing codebase patterns.
## Feature Requirements
[Insert full contents of .node-dev/01-requirements.md]
## Existing Codebase Patterns
[Insert full contents of .node-dev/02-codebase-analysis.md]
## Approved Architecture
[Insert full contents of .node-dev/03-architecture.md]
## Implementation Instructions
1. Implement exactly what is specified in the architecture โ router/controller,
service, repository/DAO, model/schema, DTOs, middleware.
2. Match ALL existing code patterns from the codebase analysis: folder structure,
naming conventions, module export style (CommonJS vs. ESM), error handling
approach, middleware composition, async patterns.
3. Use async/await consistently. Avoid mixing Promises and callbacks.
4. Apply input validation on all incoming request data using the project's
existing validation library (Zod, Joi, class-validator, etc.).
5. Implement proper error propagation โ throw typed errors and let the global
error handler catch them, unless the project uses a different convention.
6. Add database migrations or schema updates as specified in the architecture,
following the existing migration tooling and naming conventions.
7. Add inline comments only where business logic is non-obvious.
8. Do NOT introduce new libraries unless clearly necessary and explicitly approved
in the architecture or already present in package.json.
Use the `Skill` tool with the following skills as needed:
- "node:nodejs-backend-patterns" โ for Node.js service architecture, middleware, error handling
- "node:typescript-advanced-types" โ for TypeScript type design (if TypeScript project)
- "node:javascript-modern-patterns" โ for modern async/await and ES module patterns
- "node:javascript-coding-standards" โ for code style and naming conventions
- "node:auth-implementation-patterns" โ if the feature involves auth or authorization
Write all code files directly to the project directory.
After implementation, report a complete summary as a markdown document listing:
- Every file created or modified (with path and brief description of changes)
- Key implementation decisions and patterns used
- Any deviations from the architecture and why
- Database migration or schema files created
Save the agent's summary to:
Output file: .node-dev/04-implementation.md
# Implementation Summary: $FEATURE
## Files Created
- `src/modules/feature/feature.router.ts`: Route definitions and request validation.
- `src/modules/feature/feature.service.ts`: Business logic.
- `src/modules/feature/feature.repository.ts`: Data access layer.
- `src/modules/feature/feature.schema.ts`: Zod/Joi request/response schemas.
- `prisma/migrations/YYYYMMDD_add_feature_table.sql`: Database migration.
## Files Modified
- `src/app.ts`: Registered new feature router.
- `src/types/index.ts`: Added feature-related types.
## Key Decisions
- [Decision 1 and rationale]
- [Decision 2 and rationale]
## Deviations from Architecture
- [Any deviations and why โ or "None"]
Update state.json: set current_step to "checkpoint-2", add step 4 to completed_steps.
You MUST stop here. Ask via AskUserQuestion:
Implementation complete. Review .node-dev/04-implementation.md for full details.
Files created: [count] | Files modified: [count]
Key changes: [2-3 bullet points of most important changes]
Migrations/schema updates: [list of files, or "None"]
1. Approve โ proceed to testing and code review
2. Request changes โ tell me what to fix
3. Pause โ save progress and stop here
Do NOT proceed to Phase 5 until the user selects option 1.
Read .node-dev/01-requirements.md, .node-dev/03-architecture.md, and .node-dev/04-implementation.md.
use skill programming-skills:terminal-monitor with: mode: subagent, label: ๐งช Test Automator, pane-name: ๐งช tests, output-file: .node-dev/05-quality.md
use skill programming-skills:terminal-monitor with: mode: subagent, label: ๐ Code Reviewer, pane-name: ๐ reviewer, output-file: .node-dev/05-quality.md
Launch TWO agents in parallel in a single response:
5a. Test Automator:
Agent:
subagent_type: "programming-skills:test-automator"
description: "Create test suite for $FEATURE"
prompt: |
You are a Node.js test engineer. Create a comprehensive test suite for this
Node.js backend feature.
## Requirements
[Insert full contents of .node-dev/01-requirements.md]
## Architecture
[Insert full contents of .node-dev/03-architecture.md]
## Implementation Summary
[Insert full contents of .node-dev/04-implementation.md]
## Testing Instructions
1. Write unit tests for all new service methods.
Mock all dependencies (repository, external services).
Cover: happy path, business rule violations, edge cases
(null/undefined inputs, empty arrays, boundary values).
2. Write unit tests for all new repository/DAO methods using an
in-memory database or test containers if used in the project.
Test query correctness, pagination, and filtering.
3. Write integration/API tests for all new endpoints using Supertest
(or the project's existing HTTP test client).
Cover: valid requests (201/200), validation errors (400),
unauthorized access (401/403), not-found cases (404), server errors (500).
4. Write at least one end-to-end integration test for the primary happy path
using a real database connection (test database or Testcontainers).
5. Follow the existing test patterns, file naming conventions, and directory
structure from the codebase analysis.
6. Target 80%+ coverage for new code.
Use the `Skill` tool with:
- "node:javascript-testing-patterns" โ for Jest/Vitest patterns, mocking, fixtures
- "node:node-tests" โ for Node.js-specific test setup and Supertest patterns
- "node:playwright-expert" โ if E2E browser tests are required
Write all test files directly to the project directory.
Report a summary of: test files created, what each covers, and any coverage gaps.
5b. Code Reviewer:
Agent:
subagent_type: "programming-skills:code-reviewer"
description: "Code review for $FEATURE"
prompt: |
You are a senior Node.js code reviewer. Perform a thorough review of this
backend feature implementation.
## Requirements
[Insert full contents of .node-dev/01-requirements.md]
## Approved Architecture (for conformance check)
[Insert full contents of .node-dev/03-architecture.md]
## Codebase Patterns (for consistency check)
[Insert full contents of .node-dev/02-codebase-analysis.md]
## Implementation Summary
[Insert full contents of .node-dev/04-implementation.md]
## Review Dimensions
Review ALL of the following dimensions. For each finding include severity
(Critical, High, Medium, Low), the affected file:line if known, and a
specific fix recommendation.
1. **Correctness**: Logic errors, incorrect HTTP status codes, missing null/undefined
checks, improper Promise handling (unhandled rejections, missing await).
2. **Architecture conformance**: Does the implementation match the approved
architecture? Check for layering violations (e.g., DB query in router), missing
components, or unapproved deviations.
3. **Node.js patterns**: Blocking I/O on the event loop, missing async/await,
callback hell, improper error propagation, memory leaks (event listener
accumulation, unclosed streams), unhandled Promise rejections.
4. **Code consistency**: Does the code match the patterns documented in the
codebase analysis? (naming, folder structure, module style, error handling)
5. **Security**: Missing input validation, SQL/NoSQL injection risks, sensitive
data exposed in responses, improper auth checks, missing rate limiting
where required, prototype pollution risks.
6. **Performance**: N+1 database query patterns, missing pagination, synchronous
operations blocking the event loop, unnecessary data fetched from DB,
missing indexes implied by query patterns.
7. **Maintainability**: Overly complex functions, magic values that should be
constants or config, missing TypeScript types (if TS project), unclear
variable names, duplicated logic.
Format findings as a structured markdown list:
```
- **Severity**: High
**File**: `src/modules/feature/feature.service.ts:54`
**Finding**: Unhandled Promise rejection โ repository call not wrapped in try/catch
and not propagated to the global error handler.
**Fix**: Wrap in try/catch and re-throw a typed AppError, or let it bubble
through if the global handler catches unhandled rejections.
```
Use the `Skill` tool with:
- "node:nodejs-backend-patterns" โ for Node.js-specific review patterns and anti-patterns
- "node:javascript-modern-patterns" โ for async patterns and modern JS/TS idioms
- "node:auth-implementation-patterns" โ for security review of auth-related code
Provide an overall assessment: Approved / Approved with minor fixes / Requires changes.
After both complete, consolidate into:
Output file: .node-dev/05-quality.md
# Quality Report: $FEATURE
## Test Suite
[Summary from test automator โ test files created, coverage areas, gaps]
## Code Review Findings
[Consolidated findings list from code reviewer]
### Overall Assessment
[Approved / Approved with minor fixes / Requires changes]
## Action Items (Critical & High severity)
[List of Critical and High findings that MUST be addressed before delivery]
If Critical or High severity findings exist, address them now:
node:typescript-developer (or javascript-developer) agent to fix them..node-dev/04-implementation.md with any additional files changed.Update state.json: set current_step to "checkpoint-3", add step 5 to completed_steps.
You MUST stop here. Ask via AskUserQuestion:
Testing and code review complete. Review .node-dev/05-quality.md for full details.
Tests: [number of test files created] test files
Code review: [count Critical] Critical | [count High] High | [count Medium] Medium findings
Overall assessment: [Approved / Approved with minor fixes / Requires changes]
Critical/High items addressed: [Yes / None found]
1. Approve โ proceed to final delivery
2. Request changes โ tell me what to fix
3. Pause โ save progress and stop here
Do NOT proceed to Phase 6 until the user selects option 1.
Read all .node-dev/*.md files and write:
Output file: .node-dev/06-summary.md
# Feature Delivery Summary: $FEATURE
## What Was Built
[2-4 sentence description of the feature and its business purpose]
## Files Created
[Complete list from 04-implementation.md + 05-quality.md test files]
## Files Modified
[Complete list of modified files]
## Database / Schema Changes
[List of migration or schema files and what they do โ or "None"]
## API Surface
[List of new endpoints: METHOD /path โ brief description]
## Quality Assurance
- Tests: [list of test files and what they cover]
- Code review assessment: [overall assessment]
- Issues resolved: [list of Critical/High findings addressed, or "None found"]
## Points of Attention
[List any Medium/Low review findings NOT fixed โ explain why deferred and recommended follow-up]
[Any known limitations, TODO comments, or tech debt introduced]
[Any deviations from requirements and why]
## Impact Map
[Which modules and parts of the application were touched and how they interact]
## How to Test Manually
1. [Step 1 โ e.g., "Install dependencies: npm install"]
2. [Step 2 โ e.g., "Run migrations: npm run migrate"]
3. [Step 3 โ e.g., "Start server: npm run dev"]
4. [Step 4 โ e.g., "Call the endpoint: curl -X POST /api/features ..."]
5. [Step 5 โ edge cases to verify manually]
Present the summary to the user and ask via AskUserQuestion:
Feature implementation is complete. Here's what was built:
[Paste "What Was Built", "API Surface", and "Points of Attention" sections inline]
Please:
1. Review the code in the files listed above
2. Run the test suite: [insert the project's test command, e.g., `npm test`]
3. Perform manual verification using the steps in .node-dev/06-summary.md
When you're ready:
1. Approve โ commit the changes
2. Request changes โ tell me what to fix
3. Abort โ discard all changes
Wait for user response. If they request changes, implement them and return to this checkpoint.
Once the user approves:
git status to confirm the changed files match the implementation summary.git add .).git log to match the project's commit message convention. Then commit:feat(<module>): [brief description of the feature]
- [Key change 1]
- [Key change 2]
- [Key change 3]
- Add schema/migration: [migration file name if applicable]
Co-Authored-By: Claude Code
git status.Then ask via AskUserQuestion:
Changes committed successfully.
Branch: [current branch name]
Commit: [commit hash and message]
Would you like to open a Pull Request?
1. Yes โ create a PR now
2. No โ I'll open the PR manually later
If the user says yes, create the PR using gh pr create:
feat(<module>): [feature name] (short, under 70 characters).node-dev/06-summary.mdReturn the PR URL to the user.
Update state.json:
{
"status": "complete",
"last_updated": "ISO_TIMESTAMP"
}
Derive the feature folder name from $FEATURE: lowercase, spaces replaced by hyphens, special characters removed (e.g., "User Authentication" โ user-authentication). Call this $FEATURE_SLUG.
Create the destination directory and move all generated files:
mkdir -p docs/features/$FEATURE_SLUG
mv .node-dev/01-requirements.md docs/features/$FEATURE_SLUG/
mv .node-dev/02-codebase-analysis.md docs/features/$FEATURE_SLUG/
mv .node-dev/03-architecture.md docs/features/$FEATURE_SLUG/
mv .node-dev/04-implementation.md docs/features/$FEATURE_SLUG/
mv .node-dev/05-quality.md docs/features/$FEATURE_SLUG/
mv .node-dev/06-summary.md docs/features/$FEATURE_SLUG/
mv .node-dev/state.json docs/features/$FEATURE_SLUG/
After moving, remove the now-empty .node-dev/ directory:
rmdir .node-dev
Present the final message:
Node.js backend feature development complete: $FEATURE
Artifacts saved to docs/features/$FEATURE_SLUG/:
- 01-requirements.md โ Requirements
- 02-codebase-analysis.md โ Codebase exploration
- 03-architecture.md โ Backend architecture design
- 04-implementation.md โ Implementation summary
- 05-quality.md โ Tests & code review
- 06-summary.md โ Final delivery summary
Next steps (if any):
[List any deferred items from points of attention]