원클릭으로
new-route
Scaffold a new Express API route with validation, auth middleware, test, and server.js registration
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Scaffold a new Express API route with validation, auth middleware, test, and server.js registration
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Run the universal button emulator simulator with preset scenarios for testing elevator integration logic
Pre-flight validation checklist before deploying Accelerate Robotics to production
Preview a SQLite schema change and its impact before applying it to a production database
SOC 직업 분류 기준
| name | new-route |
| description | Scaffold a new Express API route with validation, auth middleware, test, and server.js registration |
User says something like "add a /api/<thing> endpoint" or "I need a new route for X."
/api/reportsIf the user hasn't specified, ask before scaffolding.
Read existing routes — src/routes/inquiries.js is the canonical example for a route that handles both public and admin methods with validation and rate limiting.
Create the route file at src/routes/<name>.js:
const express = require('express') + routerdb from ../db/database if neededrequireAuth from ../middleware/auth for admin routesRegister in src/server.js:
const reportRoutes = require('./routes/reports');
app.use('/api/reports', reportRoutes);
Place near the other app.use('/api/...') calls.
If rate-limited, wrap the public verbs only — see how inquiries handles POST-only rate limiting.
If the route writes to the DB and needs a new table, update src/db/database.js and docs/20-architecture/database-schema.md. Follow .claude/rules/database-migrations.md.
Write tests in tests/integration/<name>.test.js:
Run tests — they must pass before committing.
Update docs — add the new endpoint to docs/20-architecture/api-reference.md.
Wiring verification — follow .claude/rules/wiring-verification.md. Actually hit the endpoint with curl or the browser, not just "it compiles."
server.js — the file exists but is unreachable/api/... that's not rate-limited even though it's public-facingescapeHtml()