architecture-md-builder
Architecture.md Builder
Create production-quality ARCHITECTURE.md files that serve as definitive maps of any codebase, following matklad's canonical guidelines with modern AI-agent documentation patterns.
When to Use This Skill
- Creating architecture documentation for a new or existing repository
- Auditing a codebase to understand its structure
- Onboarding documentation for developers and AI agents
- User asks to "document the architecture", "create architecture.md", or "map this codebase"
Core Principles (matklad's Guidelines)
The canonical ARCHITECTURE.md follows these principles:
- Bird's eye overview - Problem being solved, high-level approach
- Coarse-grained codemap - Modules and relationships (country-level, not state-level)
- Named entities - Important files, types, modules by name (no links, use symbol search)
- Architectural invariants - Constraints, what is NOT done, absence patterns
- Layer boundaries - Transitions between systems
- Cross-cutting concerns - Issues spanning multiple modules
See references/matklad-guidelines.md for detailed explanations.
Workflow
Phase 1: Research Best Practices (Optional)
If unfamiliar with architecture documentation patterns, use Exa search:
# Search for exceptional architecture.md examples
python3 ~/.claude/skills/exa-search/scripts/exa_search.py \
"architecture.md documentation best practices" \
--category github -n 10
# Find matklad's original guidelines
python3 ~/.claude/skills/exa-search/scripts/exa_research.py \
"matklad ARCHITECTURE.md guidelines rust-analyzer"
Phase 2: Codebase Exploration
Launch 2-4 parallel exploration agents to map the codebase thoroughly:
Use the Task tool with subagent_type=Explore for each major system area:
1. Core/Engine - Entry points, main abstractions, data structures
2. Transport/API - HTTP, WebSocket, message handling
3. Database/Persistence - Schema, migrations, queries
4. Frontend/UI - Components, state management, routing
Agent prompts should ask:
- What are the key abstractions and types?
- How does data flow through this system?
- What are the main files and their line counts?
- What patterns are used consistently?
- What invariants does the code enforce?
Target output: ~10-15k words of analysis per agent covering the full system.
Phase 3: Draft ARCHITECTURE.md
Create the document following this structure:
# Architecture
Brief intro: what this document is for, who it's for.
## Bird's Eye View
- What problem does this solve?
- What is the core paradigm/approach?
- Key design principles (3-5 bullets)
[ASCII diagram showing major components]
## High-Level Data Flow
[Mermaid flowchart showing data flow]
## Codemap
### System 1 (`path/`)
Description, key files with line counts, key abstractions table.
### System 2 (`path/`)
...
## Architectural Invariants
Rules that are ALWAYS true. Code patterns that are NEVER violated.
## Cross-Cutting Concerns
Issues that span multiple modules (auth, logging, error handling).
## Layer Boundaries
Diagram showing layers and their interfaces.
## Key Files Reference
| File | Lines | Purpose |
|------|-------|---------|
| ... | ... | ... |
## Common Questions
FAQ format: "Where do I find X?" → Answer
See references/document-structure.md for detailed section guidance.
See assets/architecture-template.md for a starting template.
Phase 4: Verification
Launch 2-3 review agents to verify accuracy:
Use the Task tool with subagent_type=Explore to verify:
1. General accuracy - Do descriptions match actual code?
2. Line counts - Are they roughly accurate?
3. File references - Do all referenced files exist?
Verification checklist:
- All referenced files exist
- Line count estimates within 20% of actual
- ASCII/Mermaid diagrams render correctly
- Document answers "where's the thing that does X?"
- No stale information from previous versions
Phase 5: Apply Corrections
Update the document based on review findings:
- Correct line counts
- Add missing files to structures
- Fix any inaccurate descriptions
- Update counts (e.g., "11 modules" → "13 modules")
Quality Guidelines
Diagrams
ASCII diagrams for component relationships:
┌─────────────┐ ┌─────────────┐
│ Frontend │────▶│ Backend │
└─────────────┘ └─────────────┘
Mermaid diagrams for data flows:
flowchart TB
A[Input] --> B[Process]
B --> C[Output]
Line Counts
Include approximate line counts for key files:
- Helps readers gauge complexity
- Use
wc -lto verify - Round to nearest 10 or 50
Named Entities
Reference files, types, and modules by name without links:
- Good: "See
WorkingMemory.tsfor the immutable memory implementation" - Bad: "See WorkingMemory"
Why: Symbol search (Cmd+T, osgrep) is more reliable than links that rot.
Invariants
Document what the code NEVER does:
- "WorkingMemory never mutates in place"
- "API keys never reach the browser"
- "All database queries use prepared statements"
Target Length
- Small projects: 200-400 lines
- Medium projects: 400-700 lines
- Large projects: 700-1000 lines
- Maximum: ~1200 lines (split into linked docs if larger)
Output
Single file: ARCHITECTURE.md in project root
Optionally update CLAUDE.md or README.md with a reference to the new architecture document.
Example Usage
User: "Create an architecture.md for this repo"
1. Launch 3 exploration agents targeting core, transport, and frontend
2. Synthesize findings into ARCHITECTURE.md following the template
3. Launch 2 review agents to verify accuracy
4. Apply corrections
5. Commit and optionally update CLAUDE.md
Resources
references/matklad-guidelines.md- Canonical guidelines with rationalereferences/document-structure.md- Detailed section guidanceassets/architecture-template.md- Starting template
More from tdimino/claude-code-minoan
academic-research
Search academic papers, build literature reviews, and synthesize research findings — combines Exa MCP (research_paper category, arxiv filtering) with arxiv-mcp-server for paper discovery, download, and deep analysis. Triggers on academic paper, literature review, research synthesis, arxiv, find papers, scholarly search.
69travel-requirements-expert
Plan a trip, create an itinerary, or research a destination through a structured 5-phase workflow---discovery questions, Exa/Firecrawl research, expert detail gathering, and a day-by-day requirements spec. This skill should be used when a user says "plan a trip," "create an itinerary," "help me visit [place]," or needs travel research with specific venues, safety protocols, and dietary accommodations.
67twilio-api
Use this skill when working with Twilio communication APIs for SMS/MMS messaging, voice calls, phone number management, TwiML, webhook integration, two-way SMS conversations, bulk sending, or production deployment of telephony features. Includes official Twilio patterns, production code examples from Twilio-Aldea (provider-agnostic webhooks, signature validation, TwiML responses), and comprehensive TypeScript examples.
65figma-mcp
Convert Figma designs into production-ready code using MCP server tools. Use this skill when users provide Figma URLs, request design-to-code conversion, ask to implement Figma mockups, or need to extract design tokens and system values from Figma files. Works with frames, components, and entire design files to generate HTML, CSS, React, or other frontend code.
61firecrawl
Scrape web pages to clean markdown using Firecrawl v2 — handles JS-heavy pages, site crawls, URL mapping, document parsing (PDF/DOCX/XLSX), LLM-powered extraction, autonomous agent scraping, and post-scrape browser interaction (Interact API). Prefer over WebFetch for quality and completeness. Triggers on scrape URL, fetch page, crawl site, extract content, parse document, web to markdown, DeepWiki, Firecrawl.
51scrapling
Scrape pages locally with anti-bot bypass, TLS impersonation, and adaptive element tracking — no API keys, no cloud. Handles Cloudflare protection, CSS/XPath element extraction, and survives site redesigns. Complements firecrawl (cloud) with 100% local execution. Triggers on Cloudflare bypass, anti-bot scraping, stealth fetch, local scraping, Scrapling.
47