🎯

api-documentation-writer

🎯Skill

from onewave-ai/claude-skills

VibeIndex|
What it does

Generates comprehensive, developer-friendly API documentation with detailed endpoint descriptions, authentication guides, request/response examples, and OpenAPI/Swagger specifications.

πŸ“¦

Part of

onewave-ai/claude-skills(92 items)

api-documentation-writer

Installation

πŸ“‹ No install commands found in docs. Showing default command. Check GitHub for actual instructions.
Quick InstallInstall with npx
npx skills add onewave-ai/claude-skills --skill api-documentation-writer
11Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Generate comprehensive API documentation including endpoint descriptions, request/response examples, authentication guides, error codes, and SDKs. Creates OpenAPI/Swagger specs, REST API docs, and developer-friendly reference materials. Use when users need to document APIs, create technical references, or write developer documentation.

Overview

# API Documentation Writer

Create comprehensive, developer-friendly API documentation.

Instructions

When a user needs API documentation:

  1. Gather API Information:

- API type (REST, GraphQL, WebSocket, gRPC)?

- Authentication method (API key, OAuth, JWT)?

- Base URL and versioning strategy?

- Available endpoints and their purposes?

- Request/response formats?

- Rate limiting or usage restrictions?

  1. Generate Complete Documentation Structure:

Overview Section:

- What the API does (1-2 sentences)

- Key capabilities

- Getting started checklist

- Support and resources

Authentication:

- How to obtain credentials

- Where to include auth tokens

- Example authenticated request

- Token refresh process (if applicable)

Base URL & Versioning:

- Production and sandbox URLs

- Version format (path, header, query param)

- Current version and changelog link

Endpoints (for each endpoint):

- HTTP method and path

- Description of what it does

- Path parameters

- Query parameters

- Request headers

- Request body schema

- Response codes and meanings

- Response body schema

- Example request (curl, JavaScript, Python)

- Example response (formatted JSON)

Error Handling:

- Standard error response format

- Common error codes and meanings

- Troubleshooting guide

Rate Limiting:

- Limits and windows

- Headers to check

- How to handle rate limit errors

SDKs & Libraries:

- Official client libraries

- Community libraries

- Installation instructions

Webhooks (if applicable):

- Available webhook events

- Setup process

- Payload examples

- Security verification

  1. Format Output (REST API example):

```markdown

# [API Name] Documentation

## Overview

[Brief description of what the API does]

Base URL: https://api.example.com/v1

Authentication: API Key via Authorization header

## Quick Start

1. [Step 1]

2. [Step 2]

3. [Step 3]

## Authentication

All requests require an API key in the Authorization header:

```

Authorization: Bearer YOUR_API_KEY

```

Get your API key from [dashboard link].

## Endpoints

### GET /resource

Retrieve a list of resources.

Parameters:

- limit (optional, integer): Number of results (max 100, default 10)

- offset (optional, integer): Pagination offset (default 0)

- filter (optional, string): Filter by field

Request Example:

```bash

curl -X GET "https://api.example.com/v1/resource?limit=10" \

-H "Authorization: Bearer YOUR_API_KEY"

```

Response (200 OK):

```json

{

"data": [

{

"id": "123",

"name": "Example",

"created_at": "2024-01-15T10:00:00Z"

}

],

"total": 100,

"limit": 10,

"offset": 0

}

```

Response Codes:

- 200 - Success

- 400 - Bad request (invalid parameters)

- 401 - Unauthorized (invalid API key)

- 429 - Rate limit exceeded

- 500 - Server error

### POST /resource

Create a new resource.

Request Body:

```json

{

"name": "string (required)",

"description": "string (optional)",

"metadata": "object (optional)"

}

```

Request Example:

```bash

curl -X POST "https://api.example.com/v1/resource" \

-H "Authorization: Bearer YOUR_API_KEY" \

-H "Content-Type: application/json" \

-d '{

"name": "My Resource",

"description": "A test resource"

}'

```

Response (201 Created):

```json

{

"id": "124",

"name": "My Resource",

"description": "A test resource",

"created_at": "2024-01-15T10:30:00Z"

}

```

## Error Handling

All errors follow this format:

```json

{

"error": {

"code": "invalid_request",

"message": "The 'name' field is required",

"details": {

"field": "name"

}

}

}

```

Common Error Codes:

- invalid_request - Malformed request

- authentication_failed - Invalid API key

- not_found - Resource doesn't exist

- rate_limit_exceeded - Too many requests

- internal_error - Server error

## Rate Limiting

Limits: 1000 requests per hour

Headers:

- X-RateLimit-Limit: Total requests allowed

- X-RateLimit-Remaining: Requests remaining

- X-RateLimit-Reset: Timestamp when limit resets

When rate limited, you'll receive a 429 status code.

## Code Examples

### JavaScript (Node.js)

```javascript

const response = await fetch('https://api.example.com/v1/resource', {

headers: {

'Authorization': 'Bearer YOUR_API_KEY'

}

});

const data = await response.json();

```

### Python

```python

import requests

response = requests.get(

'https://api.example.com/v1/resource',

headers={'Authorization': 'Bearer YOUR_API_KEY'}

)

data = response.json()

```

## Support

- Documentation: https://docs.example.com

- Support: support@example.com

- Status: https://status.example.com

```

  1. For GraphQL APIs, adapt to show:

- Schema definitions

- Query examples

- Mutation examples

- Subscription examples

- Variables and directives

  1. Documentation Best Practices:

- Start with working example (copy-paste ready)

- Show both request and response

- Use realistic example data

- Include error cases

- Explain every parameter

- Provide code examples in multiple languages

- Use consistent formatting

- Add "Try it" interactive examples when possible

- Link related endpoints

- Include changelog and versioning

  1. Developer Experience Tips:

- Include a "Quick Start" with working example in 60 seconds

- Provide Postman collection or OpenAPI spec

- Show common use cases and workflows

- Include troubleshooting section

- Add testing/sandbox environment

- Provide SDKs with installation instructions

- Include rate limiting details upfront

- Show pagination patterns

- Explain filtering and sorting options

Example Triggers

  • "Write API documentation for my REST endpoints"
  • "Create OpenAPI spec for my API"
  • "Document this GraphQL schema"
  • "Generate developer docs for my webhook API"
  • "Write authentication guide for API"

Output Quality

Ensure documentation:

  • Starts with working example
  • Explains every parameter and field
  • Shows realistic request/response examples
  • Includes error handling
  • Provides code samples in multiple languages
  • Uses consistent formatting
  • Is organized logically (most common operations first)
  • Includes authentication clearly
  • Covers edge cases and limitations
  • Follows REST/GraphQL best practices
  • Is scannable with good use of headers
  • Includes interactive examples when possible

Generate comprehensive, developer-friendly API documentation that makes integration effortless.