ascii-dependency-graph
Render an ASCII dependency graph from a JSON structure.
Generate a hierarchical ASCII diagram that can be used for representing folder structures, decomposition diagrams, or any other kind of diagrams that might benefit from being represented by an ASCII hierarchy diagram.
Claude Code
$ npx -y skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram --agent claude-code
Codex
$ npx skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram -a codex -y
Cursor
$ npx skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram -a cursor -y
Gemini CLI
$ npx skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram -a gemini-cli -y
GitHub Copilot
$ npx skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram -a github-copilot -y
OpenCode
$ npx skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram -a opencode -y
Windsurf
$ npx skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram -a windsurf -y
name: ascii-hierarchy-diagram description: Generate a hierarchical ASCII diagram that can be used for representing folder structures, decomposition diagrams, or any other kind of diagrams that might benefit from being represented by an ASCII hierarchy diagram. disable-model-invocation: false
Render a hierarchical ASCII tree diagram using the Python script at `${CLAUDE_SKILL_DIR}/scripts/render_ascii_hierarchy_diagram.py`.
1. Construct a JSON object describing the hierarchy tree. Each node has:
2. Write the JSON to a temporary file in the current project's working directory (e.g. `hierarchy.json`).
3. Run with one of two modes (use `python3` on macOS/Linux, `python` on Windows):
Include the root node in the output:
python3 "${CLAUDE_SKILL_DIR}/scripts/render_ascii_hierarchy_diagram.py" --file hierarchy.json --include-rootSkip the root node and render each top-level child as an independent tree:
python3 "${CLAUDE_SKILL_DIR}/scripts/render_ascii_hierarchy_diagram.py" --file hierarchy.json --no-include-root4. Copy the output into the target markdown file inside a fenced code block.
5. Delete the temporary JSON file.
Comments are aligned to a margin computed as: length of the longest `prefix + name` string + 4. This margin is global in `--include-root` mode and per-group in `--no-include-root` mode.
{
"name": "project",
"children": [
{
"name": "src",
"comment": "Source code",
"children": [
{ "name": "main.cpp", "comment": "Entry point" },
{ "name": "utils.h", "comment": "Helpers" }
]
},
{
"name": "docs",
"comment": "Documentation",
"children": [
{ "name": "README.md", "comment": "Project overview" }
]
}
]
}project ├─ src Source code │ ├─ main.cpp Entry point │ └─ utils.h Helpers │ └─ docs Documentation └─ README.md Project overview
src Source code ├─ main.cpp Entry point └─ utils.h Helpers docs Documentation └─ README.md Project overview
$ARGUMENTS
Claude Code plugin marketplace. A curated collection of my publicly-shared Agent Skills, each packaged as an installable plugin.
Render an ASCII dependency graph from a JSON structure.
Render an ASCII box-drawing memory map (an address-space layout diagram) from a JSON description. Use whenever a response needs a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.