SKILL.md
Project Documentation
Comprehensive skill for scanning codebases and generating layered documentation to help developers get familiar quickly.
Overview
This skill implements a 6-phase documentation methodology:
- Understand - Explore codebase before documenting
- Structure - Create layered documentation (high/mid/low level)
- Essential Docs - Generate core documents
- Functions - Document code with intent
- Onboarding - Create self-paced learning materials
- Maintain - Keep documentation versioned and searchable
Documentation Workflow
Phase 1: Understand Before Documenting
Before writing documentation, thoroughly explore the codebase:
- Explore Version Control History
``bash git log --oneline -50 # Recent changes git log --all --oneline --graph # Visual branch history git shortlog -sn # Top contributors ``
- Analyze Code Structure
- Run tree -L 3 -I node_modules for structure - Identify entry points (main., index., app.*) - Detect framework patterns (React, Express, FastAPI, etc.)
- Read Development Tests
- Tests reveal how code is intended to work - Failed test history shows fixed issues - Test structure mirrors code architecture
- Trace Execution Flows
- Follow imports from entry points - Map API routes to handlers - Document data flow patterns
Phase 2: Create Layered Documentation
Generate three documentation layers:
| Layer |
Purpose |
Audience |
Location |
| High-Level |
Architecture, design principles |
New devs, stakeholders |
docs/architecture/ |
| Walkthrough |
Flows, patterns, interactions |
Contributing devs |
docs/walkthroughs/ |
| Low-Level |
Functions, parameters, returns |
Active maintainers |
Inline + docs/api/ |
Phase 3: Essential Documents
Generate using templates in templates/:
- README.md - See [templates/readme-template.md](templates/readme-template.md)
- Architecture Overview - See [templates/architecture-template.md](templates/architecture-template.md)
- Walkthrough Guide - See [templates/walkthrough-template.md](templates/walkthrough-template.md)
- API/Function Reference - See [templates/api-reference-template.md](templates/api-reference-template.md)
- Setup Guide - See [templates/setup-guide-template.md](templates/setup-guide-template.md)
Phase 4: Document Functions Effectively
When documenting individual functions:
- Describe WHY, not just WHAT - Business assumptions, algorithm steps
- Use meaningful names - Self-documenting code
- Document intent - Design choices, trade-offs
- Include examples - Expected usage patterns
Reference: [references/function-documentation.md](references/function-documentation.md)
Phase 5: Onboarding-Focused Documentation
Create self-paced onboarding materials:
- Clear language - Avoid jargon without explanation
- Code snippets - Illustrate concepts with examples
- Consistent naming - Classes, functions, variables, files
- Decision rationale - Explain coding decisions
Phase 6: Maintainability
- Version documentation with source code
- Make documentation searchable
- Link from team communication channels
- Incrementally improve as codebase evolves
Documentation Priority Order
Generate documentation in this order:
- README with setup instructions (get developers running)
- Architecture diagram showing major components
- Entry points documentation (where code starts)
- Core patterns used throughout codebase
- Key functions/modules with purpose and examples
- Edge cases and gotchas that trip up newcomers
Output Structure
docs/
├── README.md # Project overview
├── architecture/
│ ├── overview.md # System architecture
│ ├── components.md # Component descriptions
│ └── diagrams/ # Architecture diagrams
├── walkthroughs/
│ ├── entry-points.md # Where code starts
│ ├── data-flow.md # How data moves
│ └── patterns.md # Recurring patterns
├── api/
│ ├── endpoints.md # API endpoints
│ └── functions.md # Key functions
├── setup/
│ ├── installation.md # Installation guide
│ ├── configuration.md # Configuration options
│ └── troubleshooting.md # Common issues
└── onboarding/
├── quickstart.md # 5-minute start
├── tutorials/ # Hands-on tutorials
└── gotchas.md # Edge cases & tips
Scanning Checklist