Marketplace api-documentation-generator
Generates OpenAPI/Swagger documentation from API route files. Use when working with REST APIs, Express routes, FastAPI endpoints, or when user requests API documentation.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/crazydubya/api-documentation-generator" ~/.claude/skills/aiskillstore-marketplace-api-documentation-generator && rm -rf "$T"
manifest:
skills/crazydubya/api-documentation-generator/SKILL.mdsource content
API Documentation Generator
This skill automatically generates OpenAPI 3.0 (Swagger) documentation from API route files in your codebase.
When to Use This Skill
- User asks to generate API documentation
- Working with REST API endpoints
- Need to create or update OpenAPI/Swagger specs
- Setting up API documentation for Express, FastAPI, Flask, NestJS, or similar frameworks
Instructions
1. Discover API Routes
Search the codebase for API route definitions:
- Express/Node.js: Look for
,app.get()
,app.post()
, etc.router.get() - FastAPI/Python: Look for
,@app.get()
, decorators@router.post() - Flask: Look for
decorators@app.route() - NestJS: Look for
,@Get()
,@Post()
decorators@Controller() - Rails: Look for routes in
config/routes.rb
Use Glob to find route files (e.g.,
**/*routes*.{js,ts,py}, **/controllers/**/*.{js,ts})
2. Analyze Route Patterns
For each discovered route, extract:
- HTTP Method: GET, POST, PUT, PATCH, DELETE
- Path: The endpoint URL (e.g.,
)/api/users/:id - Parameters: Path params, query params, request body
- Response: Expected response structure
- Authentication: Whether auth is required
- Description: Comments or docstrings near the route
3. Generate OpenAPI Specification
Create or update an OpenAPI 3.0 specification file (typically
openapi.yaml or swagger.json):
- Start with the template from
templates/openapi-3.0.yaml - Map each route to an OpenAPI path object
- Define request/response schemas using JSON Schema
- Include parameter definitions (path, query, body)
- Add authentication schemes if detected (Bearer, API Key, OAuth2)
- Group endpoints by tags (e.g., "Users", "Products", "Auth")
4. Validate Completeness
Check that the generated documentation includes:
- All discovered endpoints
- Accurate HTTP methods and paths
- Request/response examples where possible
- Error responses (400, 401, 404, 500, etc.)
- Security requirements
5. Output Location
- Save as
in the project root, oropenapi.yaml - Place in
ordocs/
directory if those existapi/ - Ask user for preferred location if unclear
Framework-Specific Notes
Express/Node.js
- Check for route middleware that might affect auth/validation
- Look for request validators (Joi, express-validator, etc.)
- Extract JSDoc comments for endpoint descriptions
FastAPI
- FastAPI auto-generates OpenAPI docs, but this skill can enhance them
- Extract Pydantic models for request/response schemas
- Check for
andresponse_model
parametersstatus_code
NestJS
- Look for DTOs (Data Transfer Objects) for schemas
- Check for Swagger decorators (
,@ApiOperation
)@ApiResponse - Extract metadata from controller and method decorators
Best Practices
- Use existing schemas: If the codebase has TypeScript interfaces, Pydantic models, or similar, use them for accurate schemas
- Include examples: Add request/response examples from tests if available
- Group logically: Organize endpoints by resource or feature area using tags
- Version appropriately: Use the API version from the codebase (e.g., "1.0.0")
- Add descriptions: Use code comments/docstrings for endpoint descriptions
Supporting Files
: Base OpenAPI templatetemplates/openapi-3.0.yaml
: Framework-specific examplesexamples.md