
Api Documentation Generator
Turn an existing REST, GraphQL, or WebSocket codebase into complete developer-facing API reference with examples and auth notes.
Overview
api-documentation-generator is an agent skill for the Build phase that generates comprehensive API documentation—including endpoints, parameters, examples, and auth—from your code.
Install
npx skills add https://github.com/davila7/claude-code-templates --skill api-documentation-generatorWhat is this skill?
- Three-step flow: analyze routes and auth, document each endpoint, then add examples and OpenAPI-style structure
- Covers REST, GraphQL, and WebSocket APIs from the same skill entrypoint
- Per-endpoint blocks: method, path, parameters, body, responses, status codes, rate limits
- Explicit triggers for new APIs, stale docs, and external-user readiness
- Includes authentication, authorization, and error-handling patterns in generated reference
- Documented as a 3-step workflow: analyze structure, generate endpoints, add examples and specifications
Adoption & trust: 474 installs on skills.sh; 27.9k GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
Your API works in code but partners and future-you cannot discover endpoints, payloads, or errors without reading the implementation.
Who is it for?
Indie SaaS and API products that need shippable reference docs after a sprint of endpoint changes.
Skip if: Greenfield projects with no routes yet, or teams that only need internal runbooks unrelated to HTTP contracts.
When should I use this skill?
Use when you need to document a new API, update existing API documentation, onboard developers, or prepare OpenAPI/Swagger specifications.
What do I get? / Deliverables
You get a structured, example-rich API reference and a path toward OpenAPI/Swagger specs ready to publish or hand to integrators.
- Per-endpoint documentation with methods, paths, auth, and error handling
- Request/response examples and usage guidelines
- OpenAPI/Swagger-oriented specification draft
Recommended Skills
Journey fit
Documentation is produced while the API exists or is being finalized in Build, before external developers or partners rely on stable contracts. Docs subphase is the canonical home for endpoint catalogs, OpenAPI/Swagger output, and onboarding material derived from routes and handlers.
How it compares
Skill-driven doc synthesis from the repo, not an MCP server that queries a live staging gateway for traffic stats.
Common Questions / FAQ
Who is api-documentation-generator for?
Solo builders and small teams on Claude Code or Cursor who maintain REST, GraphQL, or WebSocket APIs and need professional docs without a dedicated technical writer.
When should I use api-documentation-generator?
Use it in Build/docs when launching a new API, refreshing docs after refactors, onboarding developers, or preparing external integration guides.
Is api-documentation-generator safe to install?
It reads your codebase to draft docs; review the Security Audits panel on this page and avoid pointing it at repos with secrets committed in sample handlers.
SKILL.md
READMESKILL.md - Api Documentation Generator
# API Documentation Generator ## Overview Automatically generate clear, comprehensive API documentation from your codebase. This skill helps you create professional documentation that includes endpoint descriptions, request/response examples, authentication details, error handling, and usage guidelines. Perfect for REST APIs, GraphQL APIs, and WebSocket APIs. ## When to Use This Skill - Use when you need to document a new API - Use when updating existing API documentation - Use when your API lacks clear documentation - Use when onboarding new developers to your API - Use when preparing API documentation for external users - Use when creating OpenAPI/Swagger specifications ## How It Works ### Step 1: Analyze the API Structure First, I'll examine your API codebase to understand: - Available endpoints and routes - HTTP methods (GET, POST, PUT, DELETE, etc.) - Request parameters and body structure - Response formats and status codes - Authentication and authorization requirements - Error handling patterns ### Step 2: Generate Endpoint Documentation For each endpoint, I'll create documentation including: **Endpoint Details:** - HTTP method and URL path - Brief description of what it does - Authentication requirements - Rate limiting information (if applicable) **Request Specification:** - Path parameters - Query parameters - Request headers - Request body schema (with types and validation rules) **Response Specification:** - Success response (status code + body structure) - Error responses (all possible error codes) - Response headers **Code Examples:** - cURL command - JavaScript/TypeScript (fetch/axios) - Python (requests) - Other languages as needed ### Step 3: Add Usage Guidelines I'll include: - Getting started guide - Authentication setup - Common use cases - Best practices - Rate limiting details - Pagination patterns - Filtering and sorting options ### Step 4: Document Error Handling Clear error documentation including: - All possible error codes - Error message formats - Troubleshooting guide - Common error scenarios and solutions ### Step 5: Create Interactive Examples Where possible, I'll provide: - Postman collection - OpenAPI/Swagger specification - Interactive code examples - Sample responses ## Examples ### Example 1: REST API Endpoint Documentation ```markdown ## Create User Creates a new user account. **Endpoint:** `POST /api/v1/users` **Authentication:** Required (Bearer token) **Request Body:** \`\`\`json { "email": "user@example.com", // Required: Valid email address "password": "SecurePass123!", // Required: Min 8 chars, 1 uppercase, 1 number "name": "John Doe", // Required: 2-50 characters "role": "user" // Optional: "user" or "admin" (default: "user") } \`\`\` **Success Response (201 Created):** \`\`\`json { "id": "usr_1234567890", "email": "user@example.com", "name": "John Doe", "role": "user", "createdAt": "2026-01-20T10:30:00Z", "emailVerified": false } \`\`\` **Error Responses:** - `400 Bad Request` - Invalid input data \`\`\`json { "error": "VALIDATION_ERROR", "message": "Invalid email format", "field": "email" } \`\`\` - `409 Conflict` - Email already exists \`\`\`json { "error": "EMAIL_EXISTS", "message": "An account with this email already exists" } \`\`\` - `401 Unauthorized` - Missing or invalid authentication token **Example Request (cURL):** \`\`\`bash curl -X POST https://api.example.com/api/v1/users \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com", "password": "SecurePass123!", "name": "John Doe" }' \`\`\` **Example Request (JavaScript):** \`\`\`javascript const response = await fetch('https://