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