AP

api-documenter

Automatically create and update API documentation and OpenAPI specifications from source code.

Install

mkdir -p .claude/skills/api-documenter-ovachiever && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11675" && unzip -o skill.zip -d .claude/skills/api-documenter-ovachiever && rm skill.zip

Installs to .claude/skills/api-documenter-ovachiever

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Auto-generate API documentation from code and comments. Use when API endpoints change, or user mentions API docs. Creates OpenAPI/Swagger specs from code. Triggers on API file changes, documentation requests, endpoint additions.
228 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Generate OpenAPI 3.0 specifications from code
  • Create Swagger 2.0 documentation
  • Extract API documentation from JSDoc comments and Python docstrings
  • Enhance documentation with missing information and example generation
  • Integrate generated specs with Swagger UI and Postman

How it works

This skill parses code and comments from various frameworks to automatically generate API documentation in OpenAPI or Swagger formats. It identifies endpoints, schemas, and authentication requirements.

Inputs & outputs

You give it
API code with comments in supported frameworks (e.g., Express.js, FastAPI)
You get back
OpenAPI 3.0 or Swagger 2.0 specification in JSON/YAML format

When to use api-documenter

  • Generate Swagger docs from Express controllers
  • Update OpenAPI specs after routing changes
  • Create API documentation for FastAPI
  • Standardize API request schemas

About this skill

API Documenter Skill

Auto-generate API documentation from code.

When I Activate

  • ✅ API endpoints added/modified
  • ✅ User mentions API docs, OpenAPI, or Swagger
  • ✅ Route files changed
  • ✅ Controller files modified
  • ✅ Documentation needed

What I Generate

OpenAPI 3.0 Specifications

  • Endpoint descriptions
  • Request/response schemas
  • Authentication requirements
  • Example payloads
  • Error responses

Formats Supported

  • OpenAPI 3.0 (JSON/YAML)
  • Swagger 2.0
  • API Blueprint
  • RAML

Examples

Express.js Endpoint

// You write:
/**
 * Get user by ID
 * @param {string} id - User ID
 * @returns {User} User object
 */
app.get('/api/users/:id', async (req, res) => {
  const user = await User.findById(req.params.id);
  res.json(user);
});

// I auto-generate OpenAPI spec:
paths:
  /api/users/{id}:
    get:
      summary: Get user by ID
      parameters:
        - name: id
          in: path
          required: true
          description: User ID
          schema:
            type: string
      responses:
        '200':
          description: User found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              example:
                id: "123"
                name: "John Doe"
                email: "[email protected]"
        '404':
          description: User not found

FastAPI Endpoint

# You write:
@app.get("/users/{user_id}")
def get_user(user_id: int) -> User:
    """Get user by ID"""
    return db.query(User).filter(User.id == user_id).first()

// I auto-generate:
paths:
  /users/{user_id}:
    get:
      summary: Get user by ID
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'

Complete OpenAPI Document

openapi: 3.0.0
info:
  title: User API
  version: 1.0.0
  description: API for user management

servers:
  - url: https://api.example.com/v1

paths:
  /api/users:
    get:
      summary: List all users
      responses:
        '200':
          description: Users array
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'

components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        email:
          type: string
          format: email

Detection Logic

Framework Detection

I recognize these frameworks automatically:

  • Express.js (Node.js)
  • FastAPI (Python)
  • Django REST (Python)
  • Spring Boot (Java)
  • Gin (Go)
  • Rails (Ruby)

Comment Parsing

I extract documentation from:

  • JSDoc comments (/** */)
  • Python docstrings
  • JavaDoc
  • Inline comments with decorators

Documentation Enhancement

Missing Information

// Your code:
app.post('/api/users', (req, res) => {
  User.create(req.body);
});

// I suggest additions:
/**
 * Create new user
 * @param {Object} req.body - User data
 * @param {string} req.body.name - User name (required)
 * @param {string} req.body.email - User email (required)
 * @returns {User} Created user
 * @throws {400} Invalid input
 * @throws {409} Email already exists
 */

Example Generation

I generate realistic examples:

{
  "id": "usr_1234567890",
  "name": "John Doe",
  "email": "[email protected]",
  "createdAt": "2025-10-24T10:30:00Z",
  "verified": true
}

Relationship with @docs-writer

Me (Skill): Auto-generate API specs from code @docs-writer (Sub-Agent): Comprehensive user guides and tutorials

Workflow

  1. I generate OpenAPI spec
  2. You need user guide → Invoke @docs-writer sub-agent
  3. Sub-agent creates complete documentation site

Integration

With Swagger UI

// app.js
const swaggerUi = require('swagger-ui-express');
const spec = require('./openapi.json'); // Generated by skill

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(spec));

With Postman

Export generated OpenAPI spec:

# Import into Postman for API testing
File → Import → openapi.json

With Documentation Sites

  • Docusaurus: API docs plugin
  • MkDocs: OpenAPI plugin
  • Redoc: OpenAPI renderer
  • Stoplight: API design platform

Customization

Add company-specific documentation standards:

cp -r ~/.claude/skills/documentation/api-documenter \
      ~/.claude/skills/documentation/company-api-documenter

# Edit to add:
# - Company API standards
# - Custom response formats
# - Internal schemas

Sandboxing Compatibility

Works without sandboxing: ✅ Yes Works with sandboxing: ✅ Yes

  • Filesystem: Writes OpenAPI files
  • Network: None required
  • Configuration: None required

Best Practices

  1. Keep comments updated - Documentation follows code
  2. Use type hints - TypeScript, Python types help
  3. Include examples - Real-world request/response
  4. Document errors - All possible error responses
  5. Version your API - Include version in endpoints

Related Tools

  • @docs-writer sub-agent: User guides and tutorials
  • readme-updater skill: Keep README current
  • /docs-gen command: Full documentation generation

When not to use it

  • When the task involves creating complete user guides or tutorials

Limitations

  • Focuses on API specifications, not complete user guides
  • Requires specific comment formats (JSDoc, Python docstrings) for extraction
  • Generated examples are realistic but may need review

How it compares

This skill automates the creation of API specifications directly from code, ensuring documentation stays synchronized with implementation, unlike manual documentation updates.

Compared to similar skills

api-documenter side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
api-documenter (this skill)08moReviewBeginner
backend-architect104moNo flagsAdvanced
openrouter-streaming-setup127dReviewIntermediate
openai-knowledge54moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

backend-architect

sickn33

Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems. Masters REST/GraphQL/gRPC APIs, event-driven architectures, service mesh patterns, and modern backend frameworks. Handles service boundary definition, inter-service communication, resilience patterns, and observability. Use PROACTIVELY when creating new backend services or APIs.

1014

openrouter-streaming-setup

jeremylongshore

Implement streaming responses with OpenRouter. Use when building real-time chat interfaces or reducing time-to-first-token. Trigger with phrases like 'openrouter streaming', 'openrouter sse', 'stream response', 'real-time openrouter'.

111

openai-knowledge

openai

Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.

539

project-workflow

sumanin5

项目启动、环境搭建与日常开发工作流。涵盖 local 与 docker 两种模式下的启动指令。

00

update-docs

openvinotoolkit

Update OpenVINO GenAI site documentation for API or feature changes. Use when: new pipelines, models, or use-cases are introduced; site docs need to reflect new capabilities.

00

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

5201,086

Search skills

Search the agent skills registry