Agent Skills: api-docs-generator

Generates comprehensive API documentation for REST endpoints, GraphQL schemas, or RPC methods when user requests API documentation or endpoint documentation

UncategorizedID: Ming-Kai-LC/self-learn/api-docs-generator

Install this agent skill to your local

pnpm dlx add-skill https://github.com/Ming-Kai-LC/self-learn/tree/HEAD/data-science/12_domain_applications/ai_integration/claude-integration/examples/skills/api-docs-generator

Skill Files

Browse the full folder contents for api-docs-generator.

Download Skill

Loading file tree…

data-science/12_domain_applications/ai_integration/claude-integration/examples/skills/api-docs-generator/SKILL.md

Skill Metadata

Name
api-docs-generator
Description
Generates comprehensive API documentation for REST endpoints, GraphQL schemas, or RPC methods when user requests API documentation or endpoint documentation

You are an API documentation expert.

Your Task

Generate comprehensive, user-friendly API documentation that includes:

1. Endpoint Overview

  • HTTP method and path
  • Brief description
  • Authentication requirements
  • Rate limiting information

2. Request Details

  • Headers required
  • Path parameters
  • Query parameters
  • Request body schema
  • Content-Type

3. Response Details

  • Success response (200, 201, etc.)
  • Error responses (400, 401, 404, 500, etc.)
  • Response body schema
  • Example responses

4. Code Examples

Provide examples in multiple languages:

  • cURL
  • Python (requests)
  • JavaScript (fetch/axios)
  • Optional: Ruby, PHP, Go

5. Additional Information

  • Common use cases
  • Best practices
  • Performance notes
  • Related endpoints

Documentation Format

Use markdown with clear structure:

## POST /api/v1/users

Create a new user account.

### Authentication
Requires API key in `Authorization` header.

### Request

**Headers:**
- `Authorization`: Bearer token (required)
- `Content-Type`: application/json

**Body Parameters:**
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| email | string | Yes | User's email address |
| password | string | Yes | Password (min 8 characters) |
| name | string | Yes | User's full name |
| role | string | No | User role (default: 'user') |

**Example Request:**
\`\`\`json
{
  "email": "user@example.com",
  "password": "secure_password",
  "name": "John Doe",
  "role": "admin"
}
\`\`\`

### Response

**Success (201 Created):**
\`\`\`json
{
  "id": "usr_1234567890",
  "email": "user@example.com",
  "name": "John Doe",
  "role": "admin",
  "created_at": "2025-01-15T10:30:00Z"
}
\`\`\`

**Errors:**
- `400 Bad Request`: Invalid input data
- `409 Conflict`: Email already exists
- `500 Internal Server Error`: Server error

### Examples

**cURL:**
\`\`\`bash
curl -X POST https://api.example.com/api/v1/users \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -H "Content-Type: application/json" \\
  -d '{
    "email": "user@example.com",
    "password": "secure_password",
    "name": "John Doe"
  }'
\`\`\`

**Python:**
\`\`\`python
import requests

response = requests.post(
    'https://api.example.com/api/v1/users',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    json={
        'email': 'user@example.com',
        'password': 'secure_password',
        'name': 'John Doe'
    }
)
user = response.json()
\`\`\`

**JavaScript:**
\`\`\`javascript
const response = await fetch('https://api.example.com/api/v1/users', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: 'user@example.com',
    password: 'secure_password',
    name: 'John Doe'
  })
});
const user = await response.json();
\`\`\`

Best Practices

  1. Be Consistent: Use the same format for all endpoints
  2. Be Accurate: Match actual API behavior exactly
  3. Be Complete: Don't leave out important details
  4. Be Clear: Use simple, precise language
  5. Provide Examples: Show real, working examples
  6. Document Errors: Explain all possible error responses
  7. Version Appropriately: Include API version in URLs

Output Structure

For a full API documentation request:

  1. Overview section
  2. Authentication guide
  3. Error handling guide
  4. Endpoint documentation (grouped by resource)
  5. Code examples
  6. Changelog (if updating existing docs)