.github/skills/documentation/SKILL.md
Structured technical documentation generation for software changes, implementations, and analyses. Creates clear, comprehensive documentation including change summaries, API docs, and technical reports. Use when documenting code changes, features, or system architecture.
npx skillsauth add klintravis/copilotcustomizer documentationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
✨ SKILL ACTIVATED: documentation
Purpose: Structured technical documentation generation
Functionality: Change summaries, API docs, architectural records, implementation reports
Output: Clear, comprehensive documentation with consistent formatting
Scope: Portable across VS Code, CLI, Claude, Cursor, and compatible agents
Systematic methodology for generating high-quality technical documentation including change summaries, API documentation, architectural decisions, implementation reports, and user guides. Ensures consistent, maintainable documentation.
Purpose: Document what changed, why, and impact
Structure:
# Change Summary: [Feature/Fix Name]
## Overview
**Date**: [YYYY-MM-DD]
**Type**: [Feature/Bugfix/Refactor/Documentation]
**Status**: [Completed/In Progress/Blocked]
**Impact**: [HIGH/MEDIUM/LOW]
## What Changed
[Clear description of the changes made]
## Why
[Justification and context for the change]
## Files Modified
| File | Type | Lines Changed | Purpose |
|------|------|---------------|---------|
| [path] | [MOD/NEW/DEL] | [+X -Y] | [description] |
## Technical Details
### Implementation
[How the change was implemented]
### Dependencies
**Added**:
- [package@version]: [purpose]
**Updated**:
- [package]: [old] → [new]
### Breaking Changes
- [Description of any breaking changes]
- [Migration guide if needed]
## Testing
**Test Coverage**:
- Unit tests: [X new, Y modified]
- Integration tests: [X new, Y modified]
- Manual testing: [Scenarios tested]
**Results**:
- ✅ All tests passing
- ✅ No regressions detected
- ✅ Performance benchmarks met
## Risks and Mitigations
| Risk | Mitigation | Status |
|------|------------|--------|
| [risk] | [how mitigated] | [status] |
## Validation
- [✅/❌] Code review approved
- [✅/❌] Tests passing
- [✅/❌] Documentation updated
- [✅/❌] Deployed to staging
## Rollback Plan
**Trigger Conditions**:
- [Condition requiring rollback]
**Rollback Steps**:
1. [Step 1]
2. [Step 2]
## Future Considerations
- [Technical debt noted]
- [Future enhancement opportunities]
- [Known limitations]
---
**Author**: [Name]
**Reviewers**: [Names]
**Related**: [Links to issues, PRs, docs]
Purpose: Document API endpoints, parameters, responses
Structure:
# API Documentation: [Service Name]
## Overview
[Brief description of API purpose and capabilities]
**Base URL**: `https://api.example.com/v1`
**Authentication**: [Method]
## Endpoints
### GET /users/{id}
**Description**: Retrieve user by ID
**Parameters**:
| Name | Type | Required | Description |
|------|------|----------|-------------|
| id | string | Yes | User unique identifier |
| include | string | No | Related resources to include (comma-separated) |
**Request Example**:
```http
GET /users/user123?include=preferences,roles
Authorization: Bearer {token}
Response (200 OK):
{
"id": "user123",
"name": "John Doe",
"email": "[email protected]",
"preferences": {...},
"roles": [...]
}
Error Responses:
| Code | Description | Example |
|------|-------------|---------|
| 400 | Invalid ID format | {"error": "Invalid user ID"} |
| 404 | User not found | {"error": "User not found"} |
| 401 | Unauthorized | {"error": "Invalid token"} |
Rate Limiting:
X-RateLimit-Remaining, X-RateLimit-ResetDescription: Create new user
[Similar structure for each endpoint...]
### 3. Architectural Decision Records (ADR)
**Purpose**: Document important architectural decisions
**Structure**:
```markdown
# ADR-001: [Decision Title]
**Date**: [YYYY-MM-DD]
**Status**: [Proposed/Accepted/Deprecated/Superseded]
**Context**: [Architectural layer, component, or system area]
## Context
[Describe the issue or requirement that prompted this decision]
## Decision
[State the architectural decision clearly]
## Rationale
[Explain why this decision was made]
**Alternatives Considered**:
1. **Option A**: [Description]
- Pros: [List]
- Cons: [List]
- Rejected because: [Reason]
2. **Option B**: [Description]
- Pros: [List]
- Cons: [List]
- **Selected**: [Why chosen]
## Consequences
**Positive**:
- [Benefit 1]
- [Benefit 2]
**Negative**:
- [Trade-off 1]
- [Trade-off 2]
**Neutral**:
- [Impact 1]
## Implementation
[How this decision will be/was implemented]
## Validation
[How we'll know if this decision was correct]
## Related Decisions
- ADR-002: [Related decision]
- Issue #123: [Related issue]
---
**Authors**: [Names]
**Reviewers**: [Names]
**Supersedes**: [Previous ADR if applicable]
Purpose: Comprehensive report of completed work
Structure:
# Implementation Report: [Project/Feature Name]
## Executive Summary
[1-2 paragraph overview for stakeholders]
## Objectives
**Goals**:
- [✅] Goal 1 (achieved)
- [✅] Goal 2 (achieved)
- [⚠️] Goal 3 (partial)
**Success Metrics**:
- [Metric 1]: Target [X], Actual [Y]
- [Metric 2]: Target [X], Actual [Y]
## Implementation Details
### Architecture
[High-level architecture diagram or description]
**Components Added**:
1. **Component A**: [Purpose and responsibilities]
2. **Component B**: [Purpose and responsibilities]
**Components Modified**:
1. **Component C**: [Changes made and why]
### Technology Choices
| Technology | Purpose | Justification |
|------------|---------|---------------|
| [tech] | [use] | [why chosen] |
### Code Changes
**Statistics**:
- Files changed: [X]
- Lines added: [+Y]
- Lines removed: [-Z]
- Test coverage: [X%]
**Key Files**:
| File | Purpose | Complexity |
|------|---------|------------|
| [path] | [description] | [HIGH/MED/LOW] |
## Testing and Validation
### Test Coverage
- Unit tests: [X tests, Y% coverage]
- Integration tests: [X tests]
- E2E tests: [X scenarios]
### Performance
| Metric | Before | After | Change |
|--------|--------|-------|--------|
| Response time (P50) | [X]ms | [Y]ms | [improvement] |
| Throughput | [X] req/s | [Y] req/s | [improvement] |
### Quality Metrics
- Code review: [X reviewers, Y rounds]
- Linter warnings: [X]
- Type coverage: [Y%]
## Deployment
**Timeline**:
- Development: [Dates]
- Staging: [Date]
- Production: [Date]
**Rollout Strategy**:
- [Description of deployment approach]
**Monitoring**:
- Dashboards: [Links]
- Alerts: [Configured alerts]
## Issues and Resolutions
| Issue | Impact | Resolution | Status |
|-------|--------|------------|--------|
| [issue] | [H/M/L] | [how resolved] | [status] |
## Lessons Learned
**What Went Well**:
- [Success 1]
- [Success 2]
**What Could Improve**:
- [Area 1]
- [Area 2]
**Action Items**:
- [ ] [Future improvement]
- [ ] [Technical debt to address]
## Future Work
- [Enhancement opportunity 1]
- [Enhancement opportunity 2]
---
**Project Duration**: [X weeks/months]
**Team Size**: [X developers]
**Total Effort**: [X person-days]
Purpose: User-facing documentation for library/tool/service
Structure:
# [Project Name]
> [One-line description]
[](https://example.com/license)
[](https://example.com/build)
## Features
- ✨ Feature 1
- ✨ Feature 2
- ✨ Feature 3
## Installation
### Prerequisites
- [Requirement 1]
- [Requirement 2]
### Install
```bash
npm install project-name
# or
pip install project-name
// Minimal example showing core functionality
import { Feature } from 'project-name';
const result = Feature.doSomething();
// Configuration options
const config = {
option1: 'value',
option2: true
};
[Link to detailed API docs]
See CONTRIBUTING.md
[License type] - see LICENSE
## Documentation Best Practices
### Clarity
- **Use clear language**: Avoid jargon unless necessary
- **Be specific**: Use concrete examples
- **Structure logically**: Organize information hierarchically
- **Use formatting**: Bold, italics, lists, tables for readability
### Completeness
- Document WHY, not just WHAT
- Include examples for all key concepts
- Cover error scenarios and edge cases
- Provide troubleshooting guidance
### Maintainability
- Keep documentation close to code (co-located docs)
- Update docs with code changes
- Use consistent formatting and structure
- Version documentation with releases
### Audience Awareness
- **Technical documentation**: Assumes technical knowledge
- **User guides**: Accessible to non-technical users
- **API docs**: Reference format, complete and precise
- **ADRs**: For architects and senior developers
## Formatting Standards
### Code Blocks
````markdown
```language
// Always specify language for syntax highlighting
const example = "code";
### Tables
```markdown
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Data | Data | Data |
```
### Lists
```markdown
**Ordered** (when sequence matters):
1. First step
2. Second step
**Unordered** (items without order):
- Item A
- Item B
**Checklists**:
- [x] Completed item
- [ ] Pending item
```
### Links
**External links**: Use standard markdown syntax with URLs
**Internal links**: Use relative paths to workspace files (e.g., `docs/`, `src/`, `README.md`)
### Callouts
```markdown
> **Note**: Important information
> **Warning**: Caution required
> **Tip**: Helpful suggestion
```
## Quality Checklist
Before publishing documentation:
- [ ] Purpose is clear in first paragraph
- [ ] Structure is logical and consistent
- [ ] All code examples are tested and working
- [ ] Links are valid (no broken references)
- [ ] Spelling and grammar reviewed
- [ ] Technical accuracy verified
- [ ] Audience-appropriate language
- [ ] Examples demonstrate key concepts
- [ ] Error scenarios documented
- [ ] Troubleshooting guidance included
## Common Pitfalls
❌ **Don't**:
- Write documentation after the fact (document as you go)
- Use ambiguous language ("might", "should", "probably")
- Assume prior knowledge without stating prerequisites
- Forget to update docs when code changes
- Include outdated screenshots or examples
✅ **Do**:
- Write documentation concurrently with code
- Be specific and concrete
- State prerequisites explicitly
- Maintain docs as first-class artifacts
- Keep examples current
## Integration with Other Skills
**Works well with**:
- **planning** — Document implementation plans and strategies
- **repo-analysis** — Generate comprehensive repository analysis reports and context gathering
- **asset-design** — Create architecture documentation for customization assets
- **orchestration** — Document orchestrated system workflows and patterns
**Typical workflow**: Implementation complete → this skill generates documentation → assets become maintainable and discoverable
**Workflow Example**:
```
repo-analysis (gather context)
↓
planning (create plan)
↓
Implementation (code changes)
↓
documentation (document changes) ← THIS SKILL
↓
Code review (include doc review)
```
## Success Criteria
Good technical documentation should:
- ✅ Be discoverable (easy to find)
- ✅ Be comprehensive (covers all key aspects)
- ✅ Be accurate (matches current implementation)
- ✅ Be maintainable (easy to update)
- ✅ Be accessible (appropriate for audience)
- ✅ Provide value (answers common questions)
---
**Skill Type**: Documentation and Communication
**Complexity**: Medium
**Typical Duration**: 15-60 minutes (varies by scope)
**Prerequisites**: Understanding of what was implemented
**Cross-Platform**: Documentation methodology works across all platforms and tools.
development
Deep repository analysis methodology for understanding codebase structure, dependencies, patterns, and change impact. Use when analyzing repositories for customization planning, refactoring, or understanding project architecture.
development
Strategic implementation planning methodology for software changes. Creates detailed, step-by-step execution plans with risk mitigation and validation strategies. Use when planning features, refactoring, or complex code changes.
testing
Design and generate conductor/subagent orchestrated systems for complex repositories. Covers Orchestra, Atlas, and Custom patterns with TDD lifecycle enforcement, quality gates, plan file architecture, and parallel execution strategies. Use when a project needs coordinated multi-agent workflows beyond simple handoff chains.
tools
CI/CD pipeline design, deployment strategies, and release automation. Use when implementing GitHub Actions, container deployments, release workflows, and infrastructure automation.