Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Decompose a north-star metric into a driver tree — the inputs and sub-inputs that actually move it — so a team knows which levers to pull. Use when asked to build a metric tree, break down a north-star metric, map metric drivers, or find the inputs behind an output metric. Produces a hierarchical tree from the top metric down to actionable input metrics, with the relationships, the highest-leverage levers, and what to instrument.
.claude/skills/mohitagw15856-metric-tree-builder/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -33% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -32% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 5% | 0% |
A north-star metric you can't decompose is a number you can't move. This skill breaks it into the multiplicative/additive drivers beneath it, down to metrics a team can actually act on — and points at the highest-leverage levers.
Given a top metric and a rough business model, build the full tree anyway, inferring the standard driver structure for that model and marking assumptions. Never stop at one level; push down to input metrics someone owns.
Ask for (if not already provided):
Express the top metric as an equation of its drivers, e.g.: Revenue = New customers × Avg first order + Retained customers × Repeat rate × AOV Then break each driver down a level or two, until you reach input metrics a team can directly influence (e.g. signup conversion, activation rate, email open→click, time-to-value).
Show it as an indented tree or a table:
| Level | Metric | Driven by | Owner / lever | |---|---|---|---| | 0 | North star | — | | | 1 | Driver | sub-inputs | | | 2 | Input metric | actions | team |
Note where drivers are multiplicative (a small % gain compounds) vs additive, and any that trade off against each other.
The 2–3 input metrics where a realistic improvement moves the north star most — and why (sensitivity × how movable it is).
Which input metrics aren't being measured yet but should be, to make the tree usable.
Also render the decomposition as a Mermaid flowchart so the structure is visible at a glance (it renders live in the playground and exports as PNG/SVG). North star at the top, drivers below, input metrics as leaves; keep labels short.
mermaidflowchart TD NS[North star] --> D1[Driver A] NS --> D2[Driver B] D1 --> I1[Input metric] D1 --> I2[Input metric] D2 --> I3[Input metric]
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 34,633 | 26,064 | -25% | 1 | 1 | 0% | 6,246 | 5,413 | -13% | 0 | 0 | — |
case-02 | fail→pass | 33,351 | 18,667 | -44% | 1 | 1 | 0% | 6,234 | 4,147 | -33% | 0 | 0 | — |
case-03 | pass→pass | 11,466 | 16,699 | +46% | 1 | 1 | 0% | 2,404 | 4,157 | +73% | 0 | 0 | — |
case-04 | pass→fail | 22,137 | 21,318 | -4% | 1 | 1 | 0% | 3,783 | 4,580 | +21% | 0 | 0 | — |
case-05 | pass→pass | 25,019 | 32,694 | +31% | 1 | 1 | 0% | 4,187 | 6,713 | +60% | 0 | 0 | — |
case-06 | fail→pass | 35,073 | 20,306 | -42% | 1 | 1 | 0% | 6,198 | 4,228 | -32% | 0 | 0 | — |
case-07 | pass→pass | 32,477 | 24,546 | -24% | 1 | 1 | 0% | 5,580 | 5,145 | -8% | 0 | 0 | — |
case-08 | pass→pass | 26,434 | 22,089 | -16% | 1 | 1 | 0% | 4,965 | 5,270 | +6% | 0 | 0 | — |
case-09 | pass→pass | 24,701 | 21,345 | -14% | 1 | 1 | 0% | 4,616 | 4,714 | +2% | 0 | 0 | — |
case-10 | pass→pass | 24,372 | 21,510 | -12% | 1 | 1 | 0% | 4,508 | 4,768 | +6% | 0 | 0 | — |
case-11 | fail→pass | 23,982 | 19,149 | -20% | 1 | 1 | 0% | 4,457 | 4,235 | -5% | 0 | 0 | — |
case-12 | pass→pass | 34,090 | 24,346 | -29% | 1 | 1 | 0% | 6,159 | 5,293 | -14% | 0 | 0 | — |
case-13 | pass→pass | 34,074 | 19,633 | -42% | 1 | 1 | 0% | 6,197 | 4,279 | -31% | 0 | 0 | — |
case-14 | fail→pass | 25,951 | 21,886 | -16% | 1 | 1 | 0% | 4,709 | 4,960 | +5% | 0 | 0 | — |
case-15 | pass→pass | 28,756 | 20,488 | -29% | 1 | 1 | 0% | 5,178 | 4,589 | -11% | 0 | 0 | — |
case-16 | pass→pass | 18,865 | 19,421 | +3% | 1 | 1 | 0% | 3,969 | 4,590 | +16% | 0 | 0 | — |
case-17 | pass→pass | 33,913 | 24,512 | -28% | 1 | 1 | 0% | 5,601 | 5,169 | -8% | 0 | 0 | — |
case-18 | pass→pass | 29,925 | 25,451 | -15% | 1 | 1 | 0% | 5,607 | 5,349 | -5% | 0 | 0 | — |
case-19 | fail→fail | 27,735 | 17,465 | -37% | 1 | 1 | 0% | 4,549 | 3,706 | -19% | 0 | 0 | — |
case-20 | pass→pass | 28,726 | 19,882 | -31% | 1 | 1 | 0% | 5,676 | 4,556 | -20% | 0 | 0 | — |
case-21 | pass→pass | 31,632 | 26,536 | -16% | 1 | 1 | 0% | 5,455 | 5,101 | -6% | 0 | 0 | — |
case-22 | pass→pass | 35,934 | 24,724 | -31% | 1 | 1 | 0% | 6,186 | 5,043 | -18% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +18 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.