codebase-documenter
This skill should be used when writing documentation for codebases, including README files, architecture documentation, code comments, and API documentation. Use this skill when users request help documenting their code, creating getting-started guides, explaining project structure, or making codebases more accessible to new developers. The skill provides templates, best practices, and structured approaches for creating clear, beginner-friendly documentation.
When & Why to Use This Skill
The Codebase Documenter is a specialized Claude skill designed to streamline the creation of high-quality software documentation. It assists developers in generating beginner-friendly README files, comprehensive architecture overviews, meaningful code comments, and structured API documentation. By focusing on the 'why' behind the code and utilizing visual aids like file trees and data flow diagrams, it ensures codebases are accessible, maintainable, and easy to navigate for both new and experienced developers.
Use Cases
- Onboarding New Developers: Creating 'Getting Started' guides and project structure explanations to significantly reduce the learning curve for new team members.
- Open Source Project Launch: Generating professional README files with clear purpose statements, quick-start instructions, and visual maps to improve project adoption and contribution.
- System Architecture Mapping: Documenting high-level system designs, data flows, and Architecture Decision Records (ADRs) to maintain a clear record of technical choices.
- API Reference Generation: Producing structured documentation for endpoints, including request/response schemas and common error codes to facilitate seamless third-party integrations.
- Legacy Code Refurbishment: Adding context-rich comments to existing codebases that explain complex logic and business rules, preventing future technical debt.
| name | codebase-documenter |
|---|---|
| description | This skill should be used when writing documentation for codebases, including README files, architecture documentation, code comments, and API documentation. Use this skill when users request help documenting their code, creating getting-started guides, explaining project structure, or making codebases more accessible to new developers. The skill provides templates, best practices, and structured approaches for creating clear, beginner-friendly documentation. |
Codebase Documenter
Create comprehensive, beginner-friendly documentation for any codebase.
When to Use
Use for:
- Writing or updating README files
- Creating architecture documentation
- Adding meaningful code comments
- Documenting APIs and endpoints
- Creating getting-started guides
- Explaining project structure
Don't use when:
- Code review → use
generic-code-reviewer - UX design decisions → use
generic-ux-designer - Adding code features → use
generic-feature-developer
Core Principles
- Start with "Why" - Explain purpose before implementation
- Progressive Disclosure - Simple to complex
- Provide Context - Why code exists, not just what it does
- Include Examples - Concrete usage for every concept
- Assume No Prior Knowledge - Define terms, avoid jargon
- Visual Aids - Diagrams, file trees, flowcharts
- Quick Wins - Get something running in 5 minutes
Documentation Workflow
- Analyze - Entry points, dependencies, core concepts, configuration
- Choose Type - README → Architecture → API → Comments
- Generate - Use templates, customize for project
- Verify - Read as beginner, test examples
Documentation Types
README (Project Entry Point)
# Project Name
## What This Does
[1-2 sentence explanation]
## Quick Start
[< 5 minute setup]
## Project Structure
[Visual file tree]
## Key Concepts
[Core abstractions]
## Common Tasks
[Step-by-step guides]
Architecture Documentation
# Architecture Overview
## System Design
[High-level diagram]
## Data Flow
[How data moves through system]
## Key Design Decisions
[Why certain choices were made]
## Extension Points
[Where to add new features]
Code Comments
// ✅ GOOD - Explains WHY and context
// IndexedDB quota check: Prevents silent failures when storage is full.
// Without this, writes fail with cryptic QuotaExceededError.
if (quota.percentUsed > 80) showStorageWarning();
// ❌ BAD - Just repeats what code does
// Check if quota is over 80
API Documentation
## Endpoint: POST /api/resource
### What It Does
[Plain-English purpose]
### Request/Response
[JSON examples]
### Common Errors
[Error codes and meanings]
Visual Patterns
File Tree
project/
├── src/ # Source code
│ ├── components/ # Reusable UI
│ ├── services/ # Business logic
│ └── types/ # TypeScript types
├── tests/ # Test files
└── package.json # Dependencies
Data Flow
User Request Flow:
1. User submits → 2. Validation → 3. API → 4. Database → 5. Response
[1] components/Form.tsx
↓ validates
[2] services/validation.ts
↓ calls API
[3] services/api.ts
↓ queries
[4] Database
↓ returns
[5] Form.tsx (updates UI)
Design Decision (ADR)
## Why We Use [Technology]
**Decision:** [What we chose]
**Context:** [Why we needed to choose]
**Reasoning:** [Why this option]
**Trade-offs:** [What we gave up]
Documentation Quality Checklist
Before Publishing
- Quick start works in < 5 minutes
- Code examples are copy-pasteable
- File paths are accurate
- Links work
- Jargon is defined
- Diagrams are included for complex flows
Common Mistakes to Avoid
- Assuming reader knows the codebase
- Outdated code examples
- Missing prerequisites
- No visual aids for complex systems
- Explaining "what" without "why"
Verification Workflow
After writing documentation:
- Fresh Eyes Test - Read as if you've never seen the codebase
- Run Examples - Copy-paste and verify they work
- Check Links - All internal/external links resolve
- Beginner Review - Would a new developer understand?
- Update Check - Does it reflect current code?
See Also
- Code Review Standards - Documentation quality
- Project
CLAUDE.md- Documentation rules