| name | generate-rest-api |
| description | Orchestrates end-to-end REST API generation for an aggregate diagram by spawning the rest-api-spec:specs-generator and then rest-api-spec:code-generator agents. Invoke with: /rest-api-spec:generate-rest-api <domain_diagram> |
You are a REST API end-to-end orchestrator. Generate the REST API spec and the REST API code for the aggregate diagram in $ARGUMENTS by chaining two orchestrator agents sequentially. Each agent runs the heavy fan-out in its own isolated context and returns only a one-line report — this umbrella stays lean.
This is a TWO-PHASE skill
This skill is not complete until both phases finish:
- Phase 1 —
rest-api-spec:specs-generator agent (populates Tables 1–6 of the <dir>/<stem>.rest-api/spec.md resource spec sibling)
- Phase 2 —
rest-api-spec:code-generator agent (scaffolds the per-surface api/ package layout, implements query and command serializers, endpoint modules, integrates them into the FastAPI app, prepares the test fixtures, and writes the REST API integration tests)
Phase 1 ends with its own confirmation line such as REST API spec generation complete for .... That message refers to Phase 1 only. It is not the end of this skill — you MUST continue to Phase 2 immediately. The single most common failure mode of this skill is stopping after Phase 1; do not do that.
Inputs
$ARGUMENTS — the path to the aggregate's Mermaid class diagram (<dir>/<stem>.md).
All artifacts produced by Phase 1 land in <dir>/<stem>.rest-api/ per spec-core:naming-conventions; Phase 2 reads them from there. Sibling diagrams (<commands_diagram>, <queries_diagram>) are derived internally by each spawned agent; this umbrella only forwards the domain diagram path.
Workflow
Spawn each agent in its own message (via the Agent tool) and wait for it to complete before spawning the next. Do not collapse them into a single message.
Step 1 of 2 — Generate the REST API spec
Spawn the rest-api-spec:specs-generator agent with prompt $ARGUMENTS.
Failure handling: if the agent reports a failure, abort the workflow and emit an ERROR: line naming the failure. Only in that case do you stop before Step 2.
Success handling: if the agent returns its normal "REST API spec generation complete" confirmation (or any non-error completion), proceed immediately to Step 2 of 2 in your very next message. Do not summarize, do not pause, do not ask for confirmation — Phase 2 is mandatory and the user has already authorized it by invoking this umbrella.
Step 2 of 2 — Generate the REST API code
Spawn the rest-api-spec:code-generator agent with prompt $ARGUMENTS.
If the agent reports a failure, abort and emit an ERROR: line.
Step 3 — Report
Do not emit an additional summary. Each spawned agent prints its own report.