architecture-documentation
Generates technical architecture documentation from codebases with system diagrams, data flow analysis, component deep dives, and architectural decisions. Use when analyzing codebases for documentation, system design docs, technical handoffs, or architecture reviews.
What this skill does
# Architecture Documentation
## Overview
Generates in-depth technical architecture documentation from codebases. Produces engineer-focused documentation with system diagrams, data flow analysis, component deep dives, and architectural decision rationale.
**Core principle:** Depth over breadth. Technical rigor over high-level summaries.
## When to Use
- User provides a codebase and asks for architecture documentation
- User requests system design documentation
- User needs technical documentation for handoff or onboarding
- User asks to document architectural decisions
- User needs diagrams showing system structure and data flow
## Workflow Checklist
Copy this checklist and check off items as you complete them:
```
Architecture Documentation Progress:
- [ ] Phase 1: Codebase exploration (structure, entry points, dependencies)
- [ ] Phase 2: Components identified (services, modules, databases)
- [ ] Phase 3: Data flow traced (request lifecycle, transformations)
- [ ] Phase 4: Business context extracted (README, comments, code)
- [ ] Phase 5: Documentation generated following structure below
- [ ] Phase 6: Diagrams created (PlantUML via Kroki, Mermaid, and/or Eraser syntax)
- [ ] Phase 7: Engineering analysis complete (all "why" questions answered)
- [ ] Phase 8: Quality validation passed
```
## Document Structure
Follow this structure (see example-output.pdf for full reference):
### Required Sections
1. **Abstract**
- Formal research paper abstract after table of contents
- Delineates system purpose, architecture approach, key technologies
- Written in formal tone
2. **Context & Scope**
- Business goals, stakeholders
- System context diagram (PlantUML via Kroki)
3. **Architecture Constraints & Principles**
- Why this approach? Immutable rules
4. **High-Level Architecture**
- Container diagram showing major components
- Data flow walkthrough with transformations (Input → Output at each stage)
5. **Component Deep Dives**
- **Component Responsibility Matrix:** Table summarizing all components (see template below)
- **Individual Component Sections** (repeat for each component):
- **Purpose:** One sentence
- **Implementation Details:** Stack, algorithms, dependencies (with WHY chosen)
- **Engineering Analysis:** Trade-offs, configuration rationale, edge cases
- Component diagram if complex
6. **Cross-Cutting Concerns**
- Observability (logging, metrics, tracing)
- Failure modes & recovery
- Deployment & infrastructure
7. **Decision Log (ADRs)**
- Major decisions with context and consequences
### Optional Appendices
**Appendix A: Technology Stack Summary**
- Table organized by category (Backend, AI/ML, Data Storage, Infrastructure, etc.)
- Columns: Technology | Version | Purpose | Architectural Layer
- Quick reference for all technologies used
**Appendix B: API Endpoint Reference**
- Complete endpoint documentation
- For each endpoint: Method, Path, Auth requirements, Request/Response schemas
- Include streaming event types if applicable
- Error response codes and formats
**Template format:**
```markdown
## 4. Component Deep Dives
### Component Responsibility Matrix
| Component | Primary Responsibility | Key Dependencies | Input/Output | Failure Modes | Recovery Strategies |
|-----------|----------------------|------------------|--------------|---------------|--------------------|
| [Name] | What it does (1 sentence) | Services/DBs it needs | What goes in → What comes out | How it breaks | How it recovers |
| [Name] | ... | ... | ... | ... | ... |
### 4.1 [Component Name]
[PlantUML diagram of internal logic]
**Purpose:** One sentence summary.
**Implementation Details (The "How"):**
- **Stack:** Technologies used
- **Key Algorithms:** How does it work?
- **Dependencies:** Libraries/services with citation (why chosen over alternatives)
**Engineering Analysis (The "Why"):**
- **Trade-offs:** Why this approach? What was rejected and why?
- **Configuration:** Why these specific settings? (timeouts, limits, buffer sizes)
- **State Management:** Stateless or stateful? Where persisted? How consistent?
- **Edge Cases:** What errors are handled? Retry logic? Failure modes?
```
## Workflow
### Phase 1: Codebase Exploration
**Determine documentation type first:**
- **Creating brand new documentation?** → Follow complete workflow below
- **Updating existing documentation?** → Read existing docs first, update changed sections only, validate updates
**For new documentation:**
1. **Understand project structure:**
- Read package.json, requirements.txt, go.mod, Cargo.toml (dependency files)
- Identify main entry points (main.py, index.js, main.go, etc.)
- Map out directory structure
2. **Identify components:**
- Find services, modules, packages
- Identify databases, message queues, external APIs
- Map dependencies between components
3. **Analyze data flow:**
- Trace request lifecycle from entry to response
- Document transformations at each stage
- Capture exact payload examples when possible
### Phase 2: Documentation Generation
1. **Abstract:**
- Write formal research paper abstract
- Delineate system purpose, architectural approach, key technologies
- Example: "This document delineates the architectural design of [System Name], a cloud-native platform engineered to [purpose]. Leveraging [technologies], the system [key approach] to deliver [outcomes]. The architecture adheres to the C4 model, decomposing abstractions from high-level system context to granular component implementation."
2. **Business Context:**
- Extract from README, comments, or infer from code
- Identify stakeholders (who uses this?)
3. **System Context Diagram:**
- Create diagram using PlantUML/Kroki (see kroki-syntax.md), Mermaid (see mermaid-syntax.md), or Eraser (see eraser-syntax.md)
- Show: system as a box, external actors (users, services, databases), connections
4. **High-Level Architecture:**
- Create C4 Container diagram showing major components
- Document data flow with concrete example ("hero scenario")
- Show transformations: Input → Output at each stage
5. **Component Deep Dives:**
- **Create Component Responsibility Matrix first:**
- Table with columns: Component | Primary Responsibility | Key Dependencies | Input/Output | Failure Modes | Recovery Strategies
- One row per major component
- Provides quick reference for all components before detailed sections
- For each major component:
- Purpose (one sentence)
- Implementation details (stack, algorithms, dependencies)
- Engineering analysis (WHY this way, trade-offs, configuration rationale)
- Create component-level diagram if complex
6. **Cross-Cutting Concerns:**
- Document observability approach
- Identify failure modes from code (error handling, retries)
- Extract deployment configuration
7. **Decision Log:**
- Document WHY decisions were made
- Include context and consequences
7. **Optional Appendices (if applicable):**
- **Technology Stack Summary:** Extract all technologies from dependency files and component details; organize by category
- **API Endpoint Reference:** Document public/internal APIs with request/response schemas from code
### Phase 3: Diagram Generation
Three diagram engines are available. Choose based on needs:
**Option A: PlantUML via Kroki (default)** — Free, self-hostable, 25+ diagram engines, 900+ AWS cloud icons in stdlib.
**Option B: Mermaid** — GitHub/GitLab native rendering, dedicated `architecture-beta` diagram type, C4 support, Iconify icon ecosystem.
**Option C: Eraser** — Concise syntax, visual styling (watercolor, bold), requires API key.
#### PlantUML/Kroki Diagrams
Generate PlantUML code using cloud icon macros (see kroki-syntax.md and icon-reference.md):
````
```plantuml
@startuml System Context
!include <awslib/AWSCommon>
!include <awslib/General/Users>
!include <awslib/Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.