API Documenter
API documentation specialist for OpenAPI/Swagger specifications. Use when documenting REST or GraphQL APIs.
Specification
- Skill ID
- zhaono1/agent-playbook/api-documenter
- Publisher
- zhaono1
- Repository
- agent-playbook
- Installs
- 0
- Files
- 7
- Synced
- Sep 23, 2026
How to use it
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
zhaono1/agent-playbook/api-documenterInstalls these files- README.md
- SKILL.md
- references/examples/README.md
- references/examples/openapi-example.yaml
- references/openapi-template.yaml
- scripts/generate_openapi.py
- scripts/validate_openapi.py
What this skill tells the agent
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
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: stringEndpoint 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
/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
- Use references for shared schemas
- Add descriptions to all properties
- Specify format for strings (email, uuid, date-time)
- Add examples for complex schemas
- Mark required fields
Example
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 timestampAuthentication Documentation
Document auth requirements:
security:
- bearerAuth: []
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Use your JWT token from /auth/loginError Responses
Standard error format:
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 detailsCommon 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:
python3 scripts/generate_openapi.py --name <resource-name> --output openapi.yamlValidate OpenAPI spec:
python3 scripts/validate_openapi.py --input openapi.yamlReferences
references/openapi-template.yaml- OpenAPI templatereferences/examples/- API documentation examples- OpenAPI Specification
More from zhaono1
Use this skill in a project
Open any RiverX project, search the Skills panel for zhaono1/agent-playbook/api-documenter, and install it in one click.
