Generate API Specification
SkillDev toolsGenerate OpenAPI specifications for story endpoints. Use when user wants to create API specs for a story or mentions /api-spec command.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Generate API Specification skill
What this skill tells your AI
The instructions your AI receives, as published by rakovi4/continue-framework in .claude/skills/api-spec/SKILL.md and read by ahel’s review.
Generate OpenAPI 3.0.3 specifications for frontend endpoints in a story.
Usage
/api-spec "Story name"
/api-spec 5 # By MVP story number
/api-spec # Interactive selection
MVP Mindset
Generate the MINIMUM viable API, not the complete API.
- Prefer fewer endpoints - consolidate where possible
- No health/status endpoints (infrastructure, not features)
- No separate replace endpoints (use PUT on same resource)
- No separate "get current state" if POST response returns it
- When in doubt, leave it out
Workflow
Phase 1: Context & Story Selection
-
Read context files:
ProductSpecification/BriefProductDescription.mdProductSpecification/stories.md
-
Parse user input to find target story (by name, number, or interactive)
-
Read the target story's folder —
stories/NN-story-name/first, thenstories/done/NN-story-name/(.claude/rules/workflow.md, "Resolving a story folder"), since an unresolved archived folder reads exactly like a story with no interview:NN_StoryName.md(specification),mockups/(UI mockups — the fields each screen needs),interview.mdif it exists (authoritative source for API details) -
Read what the areas this story touches already expose — the acceptance tests of those areas, for their request/response shapes, status codes and Statements. Never sweep
stories/*/mockups/orstories/*/interview.mdto reconstruct it (.claude/rules/workflow.md, "Where the Current State Lives"). Only enabled tests count as shipped — one still carrying its disable/skip marker is a pending increment, not a live endpoint. Where the suite is silent about an area, read that area's controllers and say what you found — silence is not evidence that no endpoint exists. In a repo with no acceptance suite yet, say so explicitly and fall back to the story folders. Open an earlier story'sinterview.mdordecisions/*-decision.mdonly for a named precedent — the rule behind an existing response shape — resolving it understories/orstories/done/, since the story that set the shape has usually closed (.claude/rules/workflow.md, "Resolving a story folder")
Phase 2: Generate Specifications
Load .claude/templates/spec/api-spec-template.md for document formats.
Based on story and mockups, identify the minimum endpoints needed.
- Create
endpoints.mdin story folder - Create OpenAPI YAML in
ProductSpecification/api-specs/[resource]_[action].yaml
Phase 3: Summary
Report: created files, endpoints generated, design decisions.
Design Constraints
- OpenAPI version: 3.0.3 (YAML format)
- API versioning:
/api/v1/prefix - Naming: snake_case files, kebab-case URLs
- RESTful: Follow REST conventions
- Minimal responses: Only essential fields
- Check if spec already exists before creating
Signals
- GitHub stars
- 51
- Forks
- 14
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
api-spec- Source
- github.com/rakovi4/continue-framework