Skip to content
Skills Library
Programming · Writing

api-documenter

/api-documenter

API documentation specialist for OpenAPI/Swagger specifications. Use when documenting REST or GraphQL APIs.

Licence
MIT
Last repository change
25.08.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
7
Scripts
2
HTML comments
0
URLs in SKILL.md
2
Deprecation

No signals detected. Repository changed on 25.08.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • 2 scripts in this package. Review them before installing, as Claude may execute them.

Scripts: scripts/generate_openapi.py, scripts/validate_openapi.py

What it does and when to use it

API documentation specialist for OpenAPI/Swagger specifications. Use when documenting REST or GraphQL APIs.

Original author description

API documentation specialist for OpenAPI/Swagger specifications. Use when documenting REST or GraphQL APIs.

How it works

  1. When This Skill Activates
  2. OpenAPI Specification Structure
  3. Endpoint Documentation
  4. Schema Documentation
  5. Authentication Documentation
  6. Error Responses
  7. Scripts
  8. References
Original SKILL.md headings · 205 lines, 435 words
SKILL.md preview
---
name: api-documenter
description: API documentation specialist for OpenAPI/Swagger specifications. Use when documenting REST or GraphQL APIs.
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
metadata:
  hooks:
    after_complete:
      - trigger: session-logger
        mode: auto
        reason: "Log documentation activity"
---

# API Documenter

Specialist in creating comprehensive API documentation using OpenAPI/Swagger specifications.

## When This Skill Activates

Activates when you:
- Ask to document an API
- Create OpenAPI/Swagger specs
- Need API reference documentation
- Mention "API docs"

## OpenAPI Specification Structure

```yaml
openapi: 3.0.3
info:
  title: API Title
  version: 1.0.0
  description: API description
servers:
  - url: https://example.com/api/v1
paths:
  /users:
    get:
      summary: List users
      operationId: listUsers
      tags:
        - users
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
```

## Endpoint Documentation

For each endpoint, document:

### Required Fields
- **summary**: Brief description
- **operationId**: Unique identifier
- **description**: Detailed explanation
- **tags**: For grouping
- **responses**: All possible responses

### Recommended Fields
- **parameters**: All parameters with details
- **requestBody**: For POST/PUT/PATCH
- **security**: Authentication requirements
- **deprecated**: If applicable

### Example

```yaml
/users/{id}:
  get:
    summary: Get a user by ID
    operationId: getUserById
    description: Retrieves a single user by their unique identifier
    tags:
      - users
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: The user ID
    responses:
      '200':
        description: User found
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
      '404':
        description: User not found
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Error'
```

## Schema Documentation

### Best Practices

1. **Use references** for shared schemas
2. **Add descriptions** to all properties
3. **Specify format** for strings (email, uuid, date-time)
4. **Add examples** for complex schemas
5. **Mark required fields**

### Example

```yaml
components:
  schemas:
    User:
      type: object
      required:
        - id
        - email
      properties:
        id:
          type: string
          format: uuid
          description: Unique user identifier
          example: "550e8400-e29b-41d4-a716-446655440000"
        email:
          type: string
          format: email
          description: User's email address
          example: "user@example.com"
        createdAt:
          type: string
          format: date-time
          description: Account creation timestamp
```

## Authentication Documentation

Document auth requirements:

```yaml
security:
  - bearerAuth: []

components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Use your JWT token from /auth/login
```

## Error Responses

Standard error format:

```yaml
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        code:
          type: string
          description: Application-specific error code
        details:
          type: object
          description: Additional error details
```

Common HTTP status codes:
- **200**: Success
- **201**: Created
- **204**: No Content
- **400**: Bad Request
- **401**: Unauthorized
- **403**: Forbidden
- **404**: Not Found
- **409**: Conflict
- **422**: Unprocessable Entity
- **500**: Internal Server Error

## Scripts

Generate OpenAPI spec from code:
```bash
python3 scripts/generate_openapi.py --name <resource-name> --output openapi.yaml
```

Validate OpenAPI spec:
```bash
python3 scripts/validate_openapi.py --input openapi.yaml
```

## References

- `references/openapi-template.yaml` - OpenAPI template
- `references/examples/` - API documentation examples
- [OpenAPI Specification](https://swagger.io/specification/)
Files in this package (7)
  • README.md 1 KB
  • SKILL.md 4 KB
  • references/openapi-template.yaml 1 KB
  • references/examples/README.md 1 KB
  • references/examples/openapi-example.yaml 1 KB
  • scripts/generate_openapi.py 3 KB
  • scripts/validate_openapi.py 2 KB

Versions

RepositoryScoreLicence
This page · zhaono1/agent-playbook100MIT
rmyndharis/antigravity-skills100MIT
agentic-swe/agentic-swe100MIT
adrien-barret/claude-kit100MIT

Database snapshot: 13.11.2026 · package version 0aadac8ba70d (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 95api-documentation-generator
    Generate OpenAPI/Swagger specifications and API documentation from code or design. Use when creating API docs, generating OpenAPI specs, or documenting REST APIs.
  • 100api-documentation
    Create comprehensive API documentation for developers. Use when documenting REST APIs, GraphQL schemas, or SDK methods. Handles OpenAPI/Swagger, interactive docs, examples, and API reference guides.
  • 90api-contract-design
    REST and GraphQL API design patterns, OpenAPI/Swagger specifications, versioning strategies, and authentication patterns. Use when designing APIs, reviewing API contracts, evaluating API technologies, or implementing API endpoints.
  • 100openapi
    OpenAPI/Swagger specification. Covers schema definition, paths, and documentation. Use for API documentation. USE WHEN: user mentions "OpenAPI", "Swagger", "API spec", "API documentation", "schema definition", "OpenAPI 3.0", "Swagger UI", asks about "how to write OpenAPI spec",…
  • 100agent-api-designer
    Specialist subagent: Designs REST and GraphQL APIs following best practices. Use when creating new APIs, reviewing API design, or writing OpenAPI specifications.
  • 100openapi
    Use when documenting .NET APIs with OpenAPI (Swagger) specifications, generating client SDKs, and configuring Swashbuckle or NSwag. USE FOR: API documentation with OpenAPI/Swagger, Swashbuckle configuration, NSwag client generation, XML comment documentation, API versioning with…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.