Documentation
This skill provides comprehensive documentation capabilities including API documentation, technical writing, changelog generation, and developer guides. It covers everything from OpenAPI specifications to user-facing changelogs.
When to Use This Skill
- When documenting REST APIs or GraphQL schemas
- When creating OpenAPI/Swagger specifications
- When generating client SDKs
- When writing API integration guides
- When creating interactive API documentation
- When maintaining API versioning and migration guides
- When writing user guides and tutorials
- When creating or improving README files
- When documenting architecture and design decisions
- When writing code comments and inline documentation
- When improving content clarity and accessibility
- When creating getting started documentation
- When writing feature specifications and design documents
- When creating Architecture Decision Records (ADRs)
- When documenting technical decisions and their rationale
- When creating migration guides for version upgrades
- When documenting breaking changes and upgrade paths
- When planning and documenting database migrations
- When preparing release notes for a new version
- When creating weekly or monthly product update summaries
- When documenting changes for customers
- When writing changelog entries for app store submissions
- When generating update notifications
- When creating internal release documentation
- When maintaining a public changelog/product updates page
What This Skill Does
- OpenAPI Specs: Creates complete OpenAPI 3.0/Swagger specifications
- SDK Generation: Generates client libraries and SDKs
- Interactive Docs: Creates Postman collections and interactive docs
- Versioning: Manages API versioning and migration guides
- Code Examples: Provides examples in multiple languages
- Developer Guides: Writes authentication and integration guides
- User Guides: Creates step-by-step user guides with clear instructions
- Tutorials: Writes progressive tutorials that build knowledge
- README Files: Creates comprehensive README files with badges and sections
- Architecture Docs: Documents system architecture and design decisions
- Code Documentation: Writes clear code comments and inline docs
- Content Organization: Structures content with clear headings and flow
- Changelog Generation: Transforms git commits into user-friendly changelogs
- Design Specs: Creates feature specifications and technical design documents
- ADRs: Documents Architecture Decision Records with context and consequences
- Migration Guides: Creates step-by-step migration documentation with rollback procedures
How to Use
Document API
Create OpenAPI specification for this API
Generate API documentation for the /api/users endpoints
Write Documentation
Create a user guide for this feature
Write a README for this project
Generate Changelog
Create a changelog from commits since last release
Generate changelog for all commits from the past week
API Documentation
Document as You Build
- Document APIs during development, not after
- Keep documentation in sync with code
- Use real examples over abstract descriptions
- Show both success and error cases
- Version everything including docs
OpenAPI Specification
Structure:
- API metadata (title, version, description)
- Server definitions
- Security schemes
- Paths and operations
- Request/response schemas
- Examples for all operations
Example:
openapi: 3.0.0
info:
title: User API
version: 1.0.0
description: API for user management
paths:
/users:
get:
summary: List users
responses:
'200':
description: List of users
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
SDK Generation
Supported Languages:
- JavaScript/TypeScript
- Python
- Java
- Go
- Ruby
- PHP
Tools:
- OpenAPI Generator
- Swagger Codegen
- SDK generators
Code Examples
Provide examples in multiple languages:
- JavaScript/Node.js
- Python
- cURL
- Ruby
- Java
Technical Writing
Write for Your Audience
- Know their skill level
- Use appropriate terminology
- Provide context when needed
- Assume minimal prior knowledge
- Include troubleshooting sections
Lead with the Outcome
- Start with what users will accomplish
- Show the value before the steps
- Use clear, action-oriented language
- Focus on user success, not features
Use Active Voice
- Prefer active over passive voice
- Use clear, concise language
- Avoid jargon when possible
- Include real examples and scenarios
- Test instructions by following them exactly
Documentation Types
User Guides:
- Overview and goals
- Prerequisites
- Step-by-step instructions
- Screenshots or examples
- Troubleshooting
- Next steps
README Files:
- Project title and description
- Badges (build status, version, license)
- Features
- Installation
- Quick start
- Usage examples
- Contributing
- License
Architecture Docs:
- System overview
- Component diagrams
- Design decisions
- Technology choices
- Integration points
- Data flow
Changelog Generation
Transforming Git Commits
Automatically creates user-facing changelogs from git commits by:
- Analyzing commit history
- Categorizing changes (features, improvements, bug fixes, breaking changes, security)
- Transforming technical commits into clear, customer-friendly release notes
- Filtering out internal commits (refactoring, tests, etc.)
Basic Usage
Create a changelog from commits since last release
Generate changelog for all commits from the past week
Create release notes for version 2.5.0
With Specific Date Range
Create a changelog for all commits between March 1 and March 15
With Custom Guidelines
Create a changelog for commits since v2.4.0, using my changelog
guidelines from CHANGELOG_STYLE.md
Example Output
# Updates - Week of March 10, 2024
## β¨ New Features
- **Team Workspaces**: Create separate workspaces for different
projects. Invite team members and keep everything organized.
- **Keyboard Shortcuts**: Press ? to see all available shortcuts.
Navigate faster without touching your mouse.
## π§ Improvements
- **Faster Sync**: Files now sync 2x faster across devices
- **Better Search**: Search now includes file contents, not just titles
## π Fixes
- Fixed issue where large images wouldn't upload
- Resolved timezone confusion in scheduled posts
- Corrected notification badge count
Reference Files
For detailed documentation patterns and guidance, load reference files as needed:
references/api_docs.md- API documentation patterns, OpenAPI specifications, SDK generation, versioning strategies, and code examplesreferences/technical_writing.md- Technical writing best practices, user guide structure, README templates, architecture documentation, and content organizationreferences/changelogs.md- Changelog generation patterns, commit categorization, user-friendly transformation, and release note best practicesreferences/API_DOCUMENTATION.template.md- REST API documentation template with endpoints, authentication, webhooks, and SDK examplesreferences/CHANGELOG.template.md- Changelog template following Keep a Changelog format with SemVerreferences/DESIGN_SPEC.template.md- Design specification template for feature planning, technical design, and implementation approachreferences/ARCHITECTURE_DECISION_RECORD.template.md- ADR template for documenting significant architectural decisions with context and consequencesreferences/MIGRATION_GUIDE.template.md- Migration guide template for version upgrades, breaking changes, and upgrade paths
When working on specific documentation types, load the appropriate reference file.
Best Practices
Documentation Quality
- Real Examples: Use actual working examples, not placeholders
- Error Cases: Document error responses with examples
- Authentication: Clear authentication setup instructions
- Versioning: Document versioning strategy and migration paths
- Testing: Test all examples to ensure they work
Developer Experience
- Quick Start: Provide 5-minute quick start guide
- Interactive: Use tools like Postman or Swagger UI
- Searchable: Make documentation searchable
- Up-to-Date: Keep documentation current with API changes
- Feedback: Include ways for developers to provide feedback
Writing Guidelines
- Clarity: Use simple, clear language
- Structure: Organize with clear headings
- Examples: Include real, working examples
- Testing: Test all instructions yourself
- Feedback: Include ways for users to provide feedback
Content Organization
- Hierarchy: Use clear heading structure
- Navigation: Include table of contents for long docs
- Search: Make content searchable
- Cross-references: Link related sections
- Updates: Keep documentation current
Accessibility
- Plain Language: Avoid unnecessary jargon
- Structure: Use semantic HTML/Markdown
- Images: Include alt text for images
- Formatting: Use consistent formatting
- Examples: Provide multiple examples for different skill levels
Changelog Best Practices
- Run from git repository root
- Specify date ranges for focused changelogs
- Use CHANGELOG_STYLE.md for consistent formatting
- Review and adjust the generated changelog before publishing
- Save output directly to CHANGELOG.md
Related Use Cases
- API specification creation
- SDK generation
- Developer onboarding
- API integration guides
- Version migration documentation
- Interactive API exploration
- User documentation
- Developer guides
- Architecture documentation
- Tutorial creation
- Content improvement
- Creating GitHub release notes
- Writing app store update descriptions
- Generating email updates for users
- Creating social media announcement posts