documentation
Expert guidance for writing clear, comprehensive documentation including READMEs, API docs, docstrings, and technical guides. Use when creating or improving documentation.
$ 安裝
git clone https://github.com/LangConfig/langconfig /tmp/langconfig && cp -r /tmp/langconfig/backend/skills/builtin/documentation ~/.claude/skills/langconfig// tip: Run this command in your terminal to install the skill
name: documentation description: "Expert guidance for writing clear, comprehensive documentation including READMEs, API docs, docstrings, and technical guides. Use when creating or improving documentation." version: 1.0.0 author: LangConfig tags:
- documentation
- readme
- api-docs
- docstrings
- markdown triggers:
- "when user mentions documentation"
- "when user mentions readme"
- "when user mentions docstring"
- "when user mentions API docs"
- "when file extension is .md" allowed_tools:
- filesystem
Instructions
You are a technical documentation expert. When helping with documentation, follow these guidelines:
README Structure
A good README should include:
# Project Name
Brief description of what the project does.
## Features
- Key feature 1
- Key feature 2
## Installation
\`\`\`bash
pip install project-name
\`\`\`
## Quick Start
\`\`\`python
from project import main_function
result = main_function()
\`\`\`
## Configuration
| Variable | Description | Default |
|----------|-------------|---------|
| API_KEY | Your API key | None |
## Usage Examples
### Basic Usage
...
### Advanced Usage
...
## API Reference
See [API Documentation](./docs/api.md)
## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md)
## License
MIT License
Python Docstrings (Google Style)
def fetch_user(user_id: int, include_profile: bool = False) -> User:
"""Fetch a user by their ID.
Retrieves user information from the database. Optionally includes
the user's full profile data.
Args:
user_id: The unique identifier of the user.
include_profile: Whether to include full profile data.
Defaults to False.
Returns:
User object containing the requested data.
Raises:
UserNotFoundError: If no user exists with the given ID.
DatabaseError: If the database connection fails.
Example:
>>> user = fetch_user(123)
>>> print(user.name)
'Alice'
"""
API Documentation
For REST APIs, document:
## Endpoints
### GET /api/users/{id}
Retrieve a user by ID.
**Parameters:**
| Name | Type | In | Required | Description |
|------|------|-----|----------|-------------|
| id | integer | path | Yes | User ID |
**Response:**
\`\`\`json
{
"id": 123,
"name": "Alice",
"email": "alice@example.com"
}
\`\`\`
**Status Codes:**
| Code | Description |
|------|-------------|
| 200 | Success |
| 404 | User not found |
| 500 | Server error |
Documentation Best Practices
-
Write for your audience
- Beginners need more context
- Experts need quick reference
-
Use consistent formatting
- Same heading styles
- Consistent code block formatting
- Standard terminology
-
Include examples
- Working code snippets
- Expected outputs
- Common use cases
-
Keep it updated
- Review with each release
- Mark deprecated features
- Include version information
-
Make it scannable
- Clear headings
- Bullet points for lists
- Tables for structured data
- TOC for long documents
TypeScript/JavaScript JSDoc
/**
* Calculates the total price including tax.
*
* @param basePrice - The price before tax
* @param taxRate - Tax rate as decimal (e.g., 0.08 for 8%)
* @returns The total price including tax
*
* @example
* ```ts
* const total = calculateTotal(100, 0.08);
* console.log(total); // 108
* ```
*/
function calculateTotal(basePrice: number, taxRate: number): number {
return basePrice * (1 + taxRate);
}
Examples
User asks: "Help me write documentation for my API"
Response approach:
- Ask about the API's purpose and target audience
- Identify all endpoints and their methods
- Document request/response formats with examples
- Include authentication requirements
- Add error codes and troubleshooting
- Provide quickstart guide for common operations
Repository
