agentsclimarketplace

Ascii hierarchy diagram

Skill rohingosling/claude-skills/plugins/g-render-ascii-hierarchy-diagram/skills/ascii-hierarchy-diagram

Claude Code plugin marketplace. Curated collection of publicly-shared agent skills.

Install
npx -y skills add rohingosling/claude-skills --skill ascii-hierarchy-diagram

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

3.2 KB, as published. Nobody here has run it

Render a hierarchical ASCII tree diagram using the Python script at ${CLAUDE_SKILL_DIR}/scripts/render_ascii_hierarchy_diagram.py.

Instructions

  1. Construct a JSON object describing the hierarchy tree. Each node has:

    • "name": the node label (required)
    • "comment": a trailing comment displayed after the node (optional)
    • "children": an array of child nodes (optional)
  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-root
    

    Skip 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-root
    
  4. Copy the output into the target markdown file inside a fenced code block.

  5. Delete the temporary JSON file.

Modes

  • --include-root: Render the root node and all descendants as a single unified tree. One global comment margin is computed across the entire tree. A blank separator line (carrying the continuation glyph at the relevant column) is inserted after every completed sub-tree at every depth — that is, after any node that has its own children and is not the last sibling. Leaf entries and final siblings get no gap.

  • --no-include-root: Skip the root node. Render each top-level child as a separate independent tree. Each group computes its own comment margin. Groups are separated by a blank line, and within each group sub-trees are gapped at every depth by the same rule as --include-root.

Comment alignment

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.

Example JSON

{
    "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" }
            ]
        }
    ]
}

Output with --include-root

project
├─ src             Source code
│  ├─ main.cpp     Entry point
│  └─ utils.h      Helpers
│
└─ docs            Documentation
   └─ README.md    Project overview

Output with --no-include-root

src            Source code
├─ main.cpp    Entry point
└─ utils.h     Helpers

docs            Documentation
└─ README.md    Project overview

User argument

$ARGUMENTS

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.