| name | project-moc-generator |
| description | Generates comprehensive Map of Content (MOC) documentation for software projects using standard markdown links, analyzing current implementation state from codebase and devlog notes |
Project MOC Generator
This skill generates comprehensive, GitHub-compatible Map of Content (MOC) documentation for software development projects. It analyzes your codebase's current state, extracts implemented features, documents architectural decisions, and creates a structured documentation hierarchy using standard markdown links that render perfectly on GitHub and other platforms.
Capabilities
- Project MOC Generation: Creates top-level overview MOC linking to feature areas, architecture decisions, tech stack documentation, and component maps
- Feature Documentation Extraction: Analyzes implemented features in the codebase and generates feature-specific MOCs with component links and implementation details
- Decision History Documentation: Captures architectural and technical decisions, including what was considered but not implemented and the reasoning behind choices
- Component Mapping: Creates detailed documentation for each major component including code file links, dependencies, and implementation patterns
- Devlog Analysis: Reads and synthesizes information from
docs/devlog/folder to understand project evolution and ongoing work - Standard Markdown Links: Uses
[text](path)format (not wiki-links) ensuring compatibility with GitHub, GitLab, and all markdown renderers - Date Tracking: Includes frontmatter with generation dates to track when documentation was last updated
- Current State Focus: Documents features as they exist NOW, not intended or future features
- Mermaid Diagrams: Uses Mermaid for all visualizations (architecture, data flow, component relationships) - renders perfectly on GitHub
Input Requirements
The skill expects:
- Project root access: Ability to read codebase structure and files
- docs/ folder: Output location where MOC files will be created
- docs/devlog/ folder (optional but recommended): Contains devlog entries, interstitial notes, or ongoing work documentation
- Source code access: To analyze actual implementation and extract feature details
Optional context that improves output:
- README.md or project documentation
- Architecture diagrams or notes
- CHANGELOG or version history
- Package configuration files (package.json, requirements.txt, etc.)
Output Formats
All output is written to the docs/moc/ folder in your project:
Project MOC Structure
docs/
└── moc/
├── README.md # Main entry point (auto-renders on GitHub!)
├── features.md # Feature overview and catalog
├── architecture.md # Architecture and design decisions
├── components.md # Component maps and details
└── decisions.md # Architectural decision records (optional)
Benefits of this structure:
- Single
moc/folder keeps all MOC files together README.mdauto-renders when you navigate todocs/moc/on GitHub- Lowercase filenames follow markdown conventions
- No
_MOCsuffix needed (folder context makes it clear) - Won't conflict with existing docs/ files
Frontmatter Format
Every generated MOC includes:
---
title: Document Title
type: moc
generated: 2025-11-20
last_updated: 2025-11-20
project: [Extracted from package.json or project files]
---
Link Format
All links use standard markdown (NOT wiki-links):
# From docs/moc/README.md:
- [Features](./features.md)
- [Architecture](./architecture.md)
- [Components](./components.md)
# From any MOC file to source code:
- [Source Code](../../src/auth/index.ts)
# From README to MOC:
- [Project MOC](./docs/moc/README.md)
This ensures perfect rendering on GitHub, GitLab, and all markdown viewers.
How to Use
Invoke the skill to generate comprehensive project documentation:
Basic invocation: "Generate a complete project MOC for this codebase"
Feature-focused: "Analyze the implemented features and create feature MOCs"
Decision history: "Document the architectural decisions and what was considered but not implemented"
Component mapping: "Create component maps for all major services and modules"
Devlog synthesis: "Read the devlog folder and synthesize the project evolution"
Full documentation: "Generate complete project documentation including MOCs for features, architecture, components, and decision history"
Analysis Process
1. Project Discovery Phase
- Scan project root for configuration files (package.json, etc.)
- Identify main source directories
- Detect technology stack and frameworks
- Parse existing documentation in docs/ folder
- Analyze devlog/ entries for context
2. Feature Extraction Phase
- Read source code to identify implemented features
- Map features to their implementation files
- Extract feature descriptions from code comments and structure
- Document current feature capabilities (NOT future/planned features)
- Create feature dependency graph
3. Component Analysis Phase
- Identify major components, services, and modules
- Document component responsibilities and interfaces
- Map inter-component dependencies
- Link to source code files
- Extract implementation patterns
4. Decision Documentation Phase
- Analyze code for architectural patterns
- Review devlog for decision rationale
- Document technology choices
- Capture "roads not taken" with reasoning
- Link decisions to affected components
5. MOC Generation Phase
- Create
docs/moc/directory - Generate
README.mdas main entry point (auto-renders on GitHub) - Create category MOCs with lowercase names (features.md, architecture.md, components.md)
- Add standard markdown links throughout
- Include date frontmatter on all documents
- Use simple, clean filenames without
_MOCsuffix - Add Mermaid diagrams for visualizations (architecture, data flow, component relationships)
6. Integration Phase
- Ensure all links are valid and use correct paths
- Verify GitHub compatibility (no wiki-links)
- Update existing docs/ files if needed
- Create index structure for easy navigation
Link Guidelines
DO:
- Use
[Text](./path/to/file.md)for same-level links - Use
[Text](../src/file.ts)for source code links - Use relative paths from document location
- Include file extensions (.md, .ts, .py, etc.)
- Test that links render on GitHub
DON'T:
- Use wiki-links
[[like this]] - Use absolute paths from root
- Omit file extensions
- Create circular link dependencies
- Link to non-existent files
Frontmatter Fields
Every generated MOC includes these fields:
---
title: "Human-readable title"
type: moc # Or: feature, component, architecture
generated: YYYY-MM-DD # When first created
last_updated: YYYY-MM-DD # When last regenerated
project: "Project Name" # From package.json or similar
status: current # Or: draft, archived
---
Additional optional fields:
tags: List of relevant tagsversion: Project version this docs reflectsauthors: Primary contributorsrelated: Links to related MOCs
Diagram Guidelines
Use Mermaid for All Visualizations
ALWAYS use Mermaid diagrams instead of ASCII art. Mermaid renders beautifully on GitHub and provides professional-looking visualizations.
Common Diagram Types:
1. Architecture Diagrams (Flowchart):
flowchart TB
A[Client] --> B[API Gateway]
B --> C[Auth Service]
B --> D[Business Logic]
D --> E[(Database)]
2. Component Relationships (Graph):
graph LR
A[Frontend] --> B[API]
B --> C[Auth]
B --> D[Data Layer]
C --> D
3. Data Flow (Sequence):
sequenceDiagram
User->>API: Request
API->>DB: Query
DB->>API: Data
API->>User: Response
4. System Architecture (C4 Context):
graph TB
subgraph "System Context"
A[User]
B[Web App]
C[API]
D[(Database)]
end
A --> B
B --> C
C --> D
DON'T Use:
- ASCII art boxes and arrows
- Text-based diagrams
- Non-rendering visualizations
DO Use:
- Mermaid flowchart for architecture
- Mermaid graph for component relationships
- Mermaid sequenceDiagram for data flow
- Mermaid classDiagram for data models
Best Practices
- Run after significant feature work: Generate MOCs when you've completed a feature or milestone to capture current state
- Maintain devlog alongside: Keep notes in docs/devlog/ as you work - these provide valuable context for MOC generation
- Review and enhance: Generated MOCs are starting points - add human insights, diagrams, and examples
- Update regularly: Re-run the skill periodically to keep documentation in sync with code
- Commit to git: Documentation changes should be tracked alongside code changes
- Link from README: Add a link to
docs/moc/from your main README for discoverability
Use Cases
For Development Teams
- Onboard new developers with comprehensive project overview
- Maintain living documentation that stays current
- Document "why" decisions were made for future reference
- Create knowledge base of features and components
For Stakeholders
- Provide high-level project understanding without technical deep-dive
- Show what features are actually implemented vs planned
- Demonstrate architectural thinking and decision-making
- Create artifact suitable for reports or presentations
For Future You
- Remember why you chose one approach over another
- Understand the project after time away
- Locate specific implementations quickly
- Reconstruct decision context
Integration with Git Workflow
Recommended workflow:
# After completing feature work
claude @project-moc-generator "Generate updated project MOC"
# Review generated docs
git status
# Commit alongside code changes
git add docs/
git commit -m "feat: add user authentication
Updated docs with auth feature MOC and component maps"
Limitations
- Current state only: Documents what exists, not what's planned or intended
- No GitHub Issues integration: Focuses on code, not issue tracker
- Requires source code access: Cannot document from external descriptions alone
- Static snapshot: Documentation reflects point in time, must be regenerated to stay current
- Best with devlog: Most effective when docs/devlog/ contains ongoing notes and context
- Manual enhancement needed: Generated docs are comprehensive but benefit from human refinement
- Not a replacement for code comments: Complements but doesn't replace inline documentation
Output Location
All files are written to docs/moc/ folder in your project root:
docs/moc/README.md- Main entry point (auto-renders on GitHub)docs/moc/features.md- Feature catalog and statusdocs/moc/architecture.md- Architecture and design decisionsdocs/moc/components.md- Component maps and detailsdocs/devlog/- User-maintained notes (read-only for this skill, analyzed for context)
This structure keeps all MOC documentation in one clean location, using lowercase filenames that follow standard markdown conventions.