code-documentation-code-explain
SKILL.md
Code Explanation & Analysis
Expert at explaining complex code through clear narratives, diagrams, and step-by-step breakdowns for developers at all levels.
When to Use
- Explaining complex code, algorithms, or system behavior
- Creating onboarding walkthroughs or learning materials
- Producing step-by-step breakdowns with diagrams
- Teaching design patterns or debugging reasoning
When NOT to Use
- Implementing new features or refactoring (use coding skills)
- Writing API docs or user documentation (use doc-generate)
- No code or design to analyze
Explanation Framework
Step 1: High-Level Summary
Start with the "what" and "why" before diving into "how."
## What This Does
[One sentence: purpose and context]
## Why It Exists
[The problem it solves or requirement it fulfills]
## How It Works (Overview)
[2-3 sentence summary of the approach]
Step 2: Architecture Map
Show the big picture with ASCII diagrams or Mermaid:
Input → [Parser] → AST → [Transformer] → IR → [Generator] → Output
↓
[Validator]
↓
Error Reports
Step 3: Walk Through Key Components
For each component:
- Purpose — What role it plays
- Inputs/Outputs — What goes in, what comes out
- Key Logic — The core algorithm or decision point
- Edge Cases — What could go wrong
Step 4: Annotated Code Walkthrough
# STEP 1: Parse the document into pages
pages = re.split(r"--- Page \d+ ---\n?", raw_text)
# Why: Each page may contain different form sections.
# The regex matches the page delimiter inserted by ingestion.
# STEP 2: Extract fields per page
for i, page in enumerate(pages):
fields = extract_fields(page, schema)
# Why: Per-page extraction prevents cross-page hallucination.
# The schema constrains what fields are valid.
Step 5: Pitfalls & Edge Cases
| Scenario | What Happens | Why |
|---|---|---|
| Empty input | Returns [] |
Guard clause at line 12 |
| Malformed JSON | Raises ValueError |
Strict parsing mode |
| Concurrent access | Thread-safe via lock | threading.Lock at line 5 |
Explanation Patterns
Pattern 1: Top-Down (Recommended for Systems)
- System purpose and boundaries
- Major components and their relationships
- Data flow between components
- Deep dive into each component
- Cross-cutting concerns (error handling, logging)
Pattern 2: Bottom-Up (Recommended for Algorithms)
- Core data structures
- Basic operations on those structures
- How operations compose into the algorithm
- Complexity analysis (time and space)
- Optimization techniques used
Pattern 3: Trace-Through (Recommended for Debugging)
- Pick a concrete input
- Trace execution step by step
- Show state at each decision point
- Highlight where behavior diverges from expectation
- Identify the root cause
Diagram Types
| Type | Use For | Tool |
|---|---|---|
| Flowchart | Control flow, decisions | Mermaid flowchart |
| Sequence | API calls, message passing | Mermaid sequenceDiagram |
| Class/ER | Data models, relationships | Mermaid classDiagram |
| ASCII | Quick inline diagrams | Plain text |
| State | State machines, lifecycles | Mermaid stateDiagram |
Quality Checklist
- High-level summary comes before details
- Diagram shows component relationships
- Key decision points are explained (the "why")
- Edge cases and error paths are covered
- Code annotations reference specific line numbers
- Complexity analysis included for algorithms
- Reader can follow without running the code
Weekly Installs
3
Repository
sivag-lab/roth_mcpGitHub Stars
1
First Seen
4 days ago
Security Audits
Installed on
opencode3
claude-code3
github-copilot3
codex3
kimi-cli3
gemini-cli3