Agent Skills
› zebbern/claude-code-guide
› code-to-diagram
code-to-diagram
GitHub通过AST解析代码库的导入依赖,自动生成架构图、流程图和目录结构图。支持Python/JS/TS/Go/Java,输出Mermaid或SVG格式,用于可视化代码结构、理解模块关系及辅助重构。
Trigger Scenarios
用户要求可视化代码架构
需要绘制模块依赖图
分析项目结构以便重构
生成技术文档中的架构图
Install
npx skills add zebbern/claude-code-guide --skill code-to-diagram -g -y
SKILL.md
Frontmatter
{
"name": "code-to-diagram",
"tags": [
"visualization",
"architecture",
"mermaid",
"ast",
"diagram"
],
"type": "tool",
"license": "MIT",
"description": "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."
}
Code to Diagram
Extract import and dependency relationships from a codebase via AST parsing, and automatically generate three types of diagrams:
- Architecture Diagram — Module/directory-level dependency relationships
- Flowchart — File-level import call chains
- Org Chart — Directory/file hierarchy structure
Supported languages: Python, JavaScript, TypeScript, Go, Java
Output formats: Mermaid text (.mmd) or SVG images (requires mmdc installed on the system)
Usage
Basic: Analyze an Entire Project
python3 scripts/analyze_codebase.py /path/to/project
Outputs three Mermaid diagrams to stdout and writes .mmd files to the current directory.
Specify Diagram Type
# 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
Specify Output Directory and Format
# 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
Output JSON Analysis Results
python3 scripts/analyze_codebase.py /path/to/project --json
Parameters
| 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 |
How It Works
- Scan phase: Recursively traverse the directory, skipping
node_modules,.git,__pycache__, etc. - Parse phase:
- Python files: uses the
astmodule to parseimportandfrom ... importstatements - JS/TS files: uses regex to match
import,require, andexport from - Go files: uses regex to match
importstatements - Java files: uses regex to match
importstatements
- Python files: uses the
- Resolve internal dependencies: Maps import paths to actual files within the project
- Generate diagrams: Converts dependency relationships into Mermaid diagram syntax
- Render (optional): Calls
mmdc(Mermaid CLI) to render.mmdfiles as SVG
Use Cases
- Quickly understand the module structure of an unfamiliar project
- Visualize dependencies during code review
- Create architecture diagrams for technical documentation
- Detect circular dependencies or excessive coupling
- Analyze project structure before refactoring
Dependencies
- Python 3.7+ (standard library only, no extra packages needed)
- SVG output requires
@mermaid-js/mermaid-cli(optional)
Notes
- Only analyzes static import relationships; dynamic imports are not tracked
- For large projects, use
--max-filesto limit the scan scope - Mermaid diagrams with too many nodes may be hard to render; use
--typeto generate diagrams separately
Version History
- 1ed99ef Current 2026-07-25 05:52


