Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

hierarchy-tree

verified

Construct ASCII tree visualizations from parent/child work item data. Use when the user asks to "show hierarchy", "show tree", "display parent child", "visualize structure", "show feature tree", or wants to see work item relationships as a tree diagram. This skill teaches how to build trees from flat data WITHOUT code - use LLM reasoning only.

View on GitHub

Marketplace

ms-ado-az

JoshuaRamirez/ms-ado-az-claude-code-plugin

Plugin

ado-work-items

integrations

Repository

JoshuaRamirez/ms-ado-az-claude-code-plugin

skills/hierarchy-tree/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/JoshuaRamirez/ms-ado-az-claude-code-plugin/blob/main/skills/hierarchy-tree/SKILL.md -a claude-code --skill hierarchy-tree

Installation paths:

Claude
.claude/skills/hierarchy-tree/
Powered by add-skill CLI

Instructions

# Building ASCII Trees from Parent/Child Data

When you have flat parent/child data, construct the tree visually using LLM reasoning - NO CODE NEEDED.

## Step 1: Get the Data

Query work items with their parent:
```bash
az boards query --wiql "SELECT [System.Id], [System.Title] FROM workitems WHERE [System.WorkItemType] = 'Feature' AND [System.TeamProject] = 'ProjectName'" -o json
```

Then for each item, get its parent via relations (System.LinkTypes.Hierarchy-Reverse).

The result is flat data like:
```
ID     Parent   Title
1517   1509     Feature A
1518   1509     Feature B
1759   1827     Feature C
1827   1509     Feature D
```

## Step 2: Build the Tree (LLM Reasoning)

1. **Find roots** - Items whose Parent is not in the ID list (or is an Epic/external)
2. **Group children** - For each ID, collect all items where Parent = that ID
3. **Recurse** - Build subtrees for each child

From the example above:
- Root: 1509 (not in ID list as a child)
- 1509's children: 1517, 1518, 1827
- 1827's children: 1759

## Step 3: Render ASCII

Use these characters:
```
|   = vertical continuation (more siblings below)
|-- = branch to sibling (more siblings follow)
`-- = last branch (no more siblings)
    = indent (4 spaces under a last branch)
```

Rules:
- Each level indents 4 characters
- Use `|-- ` for all children except the last
- Use `` `-- `` for the last child
- Continue `|   ` vertically when parent has more siblings

## Example Transformation

**Input data:**
```
ID    Parent  Name
100   -       Root
200   100     Child A
300   100     Child B
400   300     Grandchild B1
500   300     Grandchild B2
600   100     Child C
```

**Output tree:**
```
#100 Root
|-- #200 Child A
|-- #300 Child B
|   |-- #400 Grandchild B1
|   `-- #500 Grandchild B2
`-- #600 Child C
```

## Complex Example

**Input:**
```
ID    Parent  Name
1     -       Epic
10    1       Feature A
11    1       Feature B
20    10      Sub A1
21    10      Sub A2
30    11      Sub B1
31    30      Deep B1a

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2534 chars