zebbern/code-to-diagram
Analyze codebases and automatically generate architecture diagrams, flowcharts, and org charts. Uses AST parsing to map import dependencies for Python, JS/TS, Go, and Java, outputting Mermaid or SVG files. Triggered when users ask to visualize code architecture, understand dependencies, draw a flowchart, or create a module diagram from source code.
npx skills add https://github.com/zebbern/claude-code-guide --skill code-to-diagram
Extract import and dependency relationships from a codebase via AST parsing, and automatically generate three types of diagrams:
Supported languages: Python, JavaScript, TypeScript, Go, Java
Output formats: Mermaid text (.mmd) or SVG images (requires mmdc installed on the system)
python3 scripts/analyze_codebase.py /path/to/project
Outputs three Mermaid diagrams to stdout and writes .mmd files to the current directory.
# Architecture diagram only
python3 scripts/analyze_codebase.py /path/to/project --type architecture
# Flowchart only
python3 scripts/analyze_codebase.py /path/to/project --type flowchart
# Org chart only
python3 scripts/analyze_codebase.py /path/to/project --type org
# Output to a specific directory
python3 scripts/analyze_codebase.py /path/to/project --output /tmp/diagrams
# Output as SVG (requires mmdc)
python3 scripts/analyze_codebase.py /path/to/project --format svg
# Output both Mermaid and SVG
python3 scripts/analyze_codebase.py /path/to/project --format both
python3 scripts/analyze_codebase.py /path/to/project --json
| Parameter | Description |
|-----------|-------------|
| directory | Code directory to analyze (required) |
| --type, -t | Diagram type: architecture, flowchart, org, all (default: all) |
| --output, -o | Output directory (default: current directory) |
| --format, -f | Output format: mermaid, svg, both (default: mermaid) |
| --max-files | Maximum number of files to scan (default: 500) |
| --max-depth | Maximum depth for org chart (default: 4) |
| --json | Output analysis results in JSON format |
node_modules, .git, __pycache__, etc.ast module to parse import and from ... import statementsimport, require, and export fromimport statementsimport statementsmmdc (Mermaid CLI) to render .mmd files as SVG@mermaid-js/mermaid-cli (optional)--max-files to limit the scan scope--type to generate diagrams separatelyTake zebbern/code-to-diagram from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.