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
code
Create OpenAPI specification for this API
code
Generate API documentation for the /api/users endpoints
Write Documentation
code
Create a user guide for this feature
code
Write a README for this project
Generate Changelog
code
Create a changelog from commits since last release
code
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:
yaml
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
code
Create a changelog from commits since last release
code
Generate changelog for all commits from the past week
code
Create release notes for version 2.5.0
With Specific Date Range
code
Create a changelog for all commits between March 1 and March 15
With Custom Guidelines
code
Create a changelog for commits since v2.4.0, using my changelog guidelines from CHANGELOG_STYLE.md
Example Output
markdown
# 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 examples - •
references/technical_writing.md- Technical writing best practices, user guide structure, README templates, architecture documentation, and content organization - •
references/changelogs.md- Changelog generation patterns, commit categorization, user-friendly transformation, and release note best practices - •
references/API_DOCUMENTATION.template.md- REST API documentation template with endpoints, authentication, webhooks, and SDK examples - •
references/CHANGELOG.template.md- Changelog template following Keep a Changelog format with SemVer - •
references/DESIGN_SPEC.template.md- Design specification template for feature planning, technical design, and implementation approach - •
references/ARCHITECTURE_DECISION_RECORD.template.md- ADR template for documenting significant architectural decisions with context and consequences - •
references/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