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 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
1---2name: documentation-23description: Comprehensive documentation specialist covering API documentation, technical writing, design documentation, migration guides, and changelog generation. Use when creating OpenAPI/Swagger specs, generating SDKs, writing user guides, creating README files, documenting architecture, writing design specs, creating ADRs, writing migration guides, or generating changelogs from git commits. Handles versioning, examples, developer experience, and user-facing documentation.4---5
6# Documentation
7
8This 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.
9
10## When to Use This Skill
11
12- When documenting REST APIs or GraphQL schemas
13- When creating OpenAPI/Swagger specifications
14- When generating client SDKs
15- When writing API integration guides
16- When creating interactive API documentation
17- When maintaining API versioning and migration guides
18- When writing user guides and tutorials
19- When creating or improving README files
20- When documenting architecture and design decisions
21- When writing code comments and inline documentation
22- When improving content clarity and accessibility
23- When creating getting started documentation
24- When writing feature specifications and design documents
25- When creating Architecture Decision Records (ADRs)
26- When documenting technical decisions and their rationale
27- When creating migration guides for version upgrades
28- When documenting breaking changes and upgrade paths
29- When planning and documenting database migrations
30- When preparing release notes for a new version
31- When creating weekly or monthly product update summaries
32- When documenting changes for customers
33- When writing changelog entries for app store submissions
34- When generating update notifications
35- When creating internal release documentation
36- When maintaining a public changelog/product updates page
37
38## What This Skill Does
39
401. **OpenAPI Specs**: Creates complete OpenAPI 3.0/Swagger specifications
412. **SDK Generation**: Generates client libraries and SDKs
423. **Interactive Docs**: Creates Postman collections and interactive docs
434. **Versioning**: Manages API versioning and migration guides
445. **Code Examples**: Provides examples in multiple languages
456. **Developer Guides**: Writes authentication and integration guides
467. **User Guides**: Creates step-by-step user guides with clear instructions
478. **Tutorials**: Writes progressive tutorials that build knowledge
489. **README Files**: Creates comprehensive README files with badges and sections
4910. **Architecture Docs**: Documents system architecture and design decisions
5011. **Code Documentation**: Writes clear code comments and inline docs
5112. **Content Organization**: Structures content with clear headings and flow
5213. **Changelog Generation**: Transforms git commits into user-friendly changelogs
5314. **Design Specs**: Creates feature specifications and technical design documents
5415. **ADRs**: Documents Architecture Decision Records with context and consequences
5516. **Migration Guides**: Creates step-by-step migration documentation with rollback procedures
56
57## How to Use
58
59### Document API
60
61```
62Create OpenAPI specification for this API
63```
64
65```
66Generate API documentation for the /api/users endpoints
67```
68
69### Write Documentation
70
71```
72Create a user guide for this feature
73```
74
75```
76Write a README for this project
77```
78
79### Generate Changelog
80
81```
82Create a changelog from commits since last release
83```
84
85```
86Generate changelog for all commits from the past week
87```
88
89## API Documentation
90
91### Document as You Build
92
93- Document APIs during development, not after
94- Keep documentation in sync with code
95- Use real examples over abstract descriptions
96- Show both success and error cases
97- Version everything including docs
98
99### OpenAPI Specification
100
101**Structure:**
102
103- API metadata (title, version, description)
104- Server definitions
105- Security schemes
106- Paths and operations
107- Request/response schemas
108- Examples for all operations
109
110**Example:**
111
112```yaml
113openapi: 3.0.0
114info:
115 title: User API
116 version: 1.0.0
117 description: API for user management
118
119paths:
120 /users:
121 get:
122 summary: List users
123 responses:
124 '200':
125 description: List of users
126 content:
127 application/json:
128 schema:
129 type: array
130 items:
131 $ref: '#/components/schemas/User'
132```
133
134### SDK Generation
135
136**Supported Languages:**
137
138- JavaScript/TypeScript
139- Python
140- Java
141- Go
142- Ruby
143- PHP
144
145**Tools:**
146
147- OpenAPI Generator
148- Swagger Codegen
149- SDK generators
150
151### Code Examples
152
153Provide examples in multiple languages:
154
155- JavaScript/Node.js
156- Python
157- cURL
158- Ruby
159- Java
160
161## Technical Writing
162
163### Write for Your Audience
164
165- Know their skill level
166- Use appropriate terminology
167- Provide context when needed
168- Assume minimal prior knowledge
169- Include troubleshooting sections
170
171### Lead with the Outcome
172
173- Start with what users will accomplish
174- Show the value before the steps
175- Use clear, action-oriented language
176- Focus on user success, not features
177
178### Use Active Voice
179
180- Prefer active over passive voice
181- Use clear, concise language
182- Avoid jargon when possible
183- Include real examples and scenarios
184- Test instructions by following them exactly
185
186### Documentation Types
187
188**User Guides:**
189
190- Overview and goals
191- Prerequisites
192- Step-by-step instructions
193- Screenshots or examples
194- Troubleshooting
195- Next steps
196
197**README Files:**
198
199- Project title and description
200- Badges (build status, version, license)
201- Features
202- Installation
203- Quick start
204- Usage examples
205- Contributing
206- License
207
208**Architecture Docs:**
209
210- System overview
211- Component diagrams
212- Design decisions
213- Technology choices
214- Integration points
215- Data flow
216
217## Changelog Generation
218
219### Transforming Git Commits
220
221Automatically creates user-facing changelogs from git commits by:
222
223- Analyzing commit history
224- Categorizing changes (features, improvements, bug fixes, breaking changes, security)
225- Transforming technical commits into clear, customer-friendly release notes
226- Filtering out internal commits (refactoring, tests, etc.)
227
228### Basic Usage
229
230```
231Create a changelog from commits since last release
232```
233
234```
235Generate changelog for all commits from the past week
236```
237
238```
239Create release notes for version 2.5.0
240```
241
242### With Specific Date Range
243
244```
245Create a changelog for all commits between March 1 and March 15
246```
247
248### With Custom Guidelines
249
250```
251Create a changelog for commits since v2.4.0, using my changelog
252guidelines from CHANGELOG_STYLE.md
253```
254
255### Example Output
256
257```markdown
258# Updates - Week of March 10, 2024
259
260## ✨ New Features
261
262- **Team Workspaces**: Create separate workspaces for different
263 projects. Invite team members and keep everything organized.
264
265- **Keyboard Shortcuts**: Press ? to see all available shortcuts.
266 Navigate faster without touching your mouse.
267
268## 🔧 Improvements
269
270- **Faster Sync**: Files now sync 2x faster across devices
271- **Better Search**: Search now includes file contents, not just titles
272
273## 🐛 Fixes
274
275- Fixed issue where large images wouldn't upload
276- Resolved timezone confusion in scheduled posts
277- Corrected notification badge count
278```
279
280## Reference Files
281
282For detailed documentation patterns and guidance, load reference files as needed:
283
284- **`references/api_docs.md`** - API documentation patterns, OpenAPI specifications, SDK generation, versioning strategies, and code examples
285- **`references/technical_writing.md`** - Technical writing best practices, user guide structure, README templates, architecture documentation, and content organization
286- **`references/changelogs.md`** - Changelog generation patterns, commit categorization, user-friendly transformation, and release note best practices
287- **`references/API_DOCUMENTATION.template.md`** - REST API documentation template with endpoints, authentication, webhooks, and SDK examples
288- **`references/CHANGELOG.template.md`** - Changelog template following Keep a Changelog format with SemVer
289- **`references/DESIGN_SPEC.template.md`** - Design specification template for feature planning, technical design, and implementation approach
290- **`references/ARCHITECTURE_DECISION_RECORD.template.md`** - ADR template for documenting significant architectural decisions with context and consequences
291- **`references/MIGRATION_GUIDE.template.md`** - Migration guide template for version upgrades, breaking changes, and upgrade paths
292
293When working on specific documentation types, load the appropriate reference file.
294
295## Best Practices
296
297### Documentation Quality
298
2991. **Real Examples**: Use actual working examples, not placeholders
3002. **Error Cases**: Document error responses with examples
3013. **Authentication**: Clear authentication setup instructions
3024. **Versioning**: Document versioning strategy and migration paths
3035. **Testing**: Test all examples to ensure they work
304
305### Developer Experience
306
307- **Quick Start**: Provide 5-minute quick start guide
308- **Interactive**: Use tools like Postman or Swagger UI
309- **Searchable**: Make documentation searchable
310- **Up-to-Date**: Keep documentation current with API changes
311- **Feedback**: Include ways for developers to provide feedback
312
313### Writing Guidelines
314
3151. **Clarity**: Use simple, clear language
3162. **Structure**: Organize with clear headings
3173. **Examples**: Include real, working examples
3184. **Testing**: Test all instructions yourself
3195. **Feedback**: Include ways for users to provide feedback
320
321### Content Organization
322
323- **Hierarchy**: Use clear heading structure
324- **Navigation**: Include table of contents for long docs
325- **Search**: Make content searchable
326- **Cross-references**: Link related sections
327- **Updates**: Keep documentation current
328
329### Accessibility
330
331- **Plain Language**: Avoid unnecessary jargon
332- **Structure**: Use semantic HTML/Markdown
333- **Images**: Include alt text for images
334- **Formatting**: Use consistent formatting
335- **Examples**: Provide multiple examples for different skill levels
336
337### Changelog Best Practices
338
339- Run from git repository root
340- Specify date ranges for focused changelogs
341- Use CHANGELOG_STYLE.md for consistent formatting
342- Review and adjust the generated changelog before publishing
343- Save output directly to CHANGELOG.md
344
345## Related Use Cases
346
347- API specification creation
348- SDK generation
349- Developer onboarding
350- API integration guides
351- Version migration documentation
352- Interactive API exploration
353- User documentation
354- Developer guides
355- Architecture documentation
356- Tutorial creation
357- Content improvement
358- Creating GitHub release notes
359- Writing app store update descriptions
360- Generating email updates for users
361- Creating social media announcement posts