Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Cross-team dependency tracking with critical path analysis and Mermaid dependency graphs for program coordination.
.claude/skills/borghei-dependency-map/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 98% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 75% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 53% | 0% |
Dependency tracking for multi-team initiatives: who is blocking whom, what is on the critical path, what is at risk, and what to coordinate this week. The output is a Mermaid dependency diagram, a critical-path list, a risk-ordered blocker list, and a weekly cross-team sync agenda -- all generated from a single JSON file you maintain instead of a sprawling spreadsheet.
Most cross-team programs fail at dependency management, not execution. The teams individually do good work; the gaps are at the seams. This skill makes those seams visible, prioritizes them by criticality, and produces the communication artifacts that keep them visible week over week. The underlying model uses the Critical Path Method (CPM, Kelley and Walker, 1959) for sequencing, optional DSM (Design Structure Matrix) thinking for cluster identification, and Conway's Law (Conway, 1968) framing for the organizational source of recurring dependency patterns. All outputs follow the six standard PM formats per SHARED_OUTPUT_SCHEMA.md.
graph LR rendering plus a weekly cross-team sync agenda.program-manager/).When NOT to use: single-team backlogs (use wwas/ or job-stories/), pure technical dependencies inside one codebase (use Git), or stakeholder relationships (use senior-pm/stakeholder_mapper.py).
Before mapping dependencies, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
bashpython scripts/dependency_graph.py --input deps.json --format markdown # full report python scripts/dependency_graph.py --input deps.json --format mermaid # graph LR for README/Notion/Confluence python scripts/dependency_graph.py --demo --format markdown # sample output, no input
Populate deps.json from assets/dependency-template.json, run the analyzer, give every critical-path item a named owner, and walk it weekly with assets/weekly-sync-agenda.md. Update the JSON before each sync.
assets/dependency-template.json — starter JSON with the full schema and one worked example per status.assets/weekly-sync-agenda.md — standard agenda for the cross-team weekly sync.In Scope: cross-team dependency capture and visualization, Critical Path Method analysis, risk-ordered blocker list, Mermaid graph LR rendering, Conway's Law-aware quarterly review, all six formats per SHARED_OUTPUT_SCHEMA.md.
Out of Scope: resource capacity planning (senior-pm/resource_capacity_planner.py), stakeholder mapping (senior-pm/stakeholder_mapper.py), sprint-level backlog ordering (prioritization-frameworks/), detailed Gantt charting, risk register beyond dependency blockers (pre-mortem/).
Important Caveats: dependency maps degrade fast without weekly updates (a 4-week-old map is harmful); the critical path identifies the currently longest chain and can shift when a single dependency is added (re-run on every change); this skill surfaces what to talk about but does not replace the conversation.
| Integration | Direction | What Flows | |-------------|-----------|------------| | program-manager/ | Used by | Program managers maintain the dependency JSON across teams | | senior-pm/ | Feeds into | Critical-path risks flow into portfolio risk reporting | | senior-pm/risk_matrix_analyzer.py | Complementary | Dependency risks plot alongside other program risks | | pre-mortem/ | Complementary | Pre-mortem-identified "tigers" often map to specific dependencies | | cycle-time-analyzer/ | Complementary | Long cycle times often correlate with cross-team blocks | | launch-playbook/ | Feeds into | Launch RACI references the dependency map for cross-team owners | | status-update-generator/ | Feeds into | Weekly status pulls critical-path summary | | summarize-meeting/ | Feeds into | Weekly sync notes become structured summaries |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | 19,133 | 20,487 | +7% | 1 | 1 | 0% | 2,991 | 4,674 | +56% | 0 | 0 | — |
case-06 | fail→fail | 7,110 | 10,206 | +44% | 1 | 1 | 0% | 1,049 | 2,903 | +177% | 0 | 0 | — |
case-01 | fail→fail | 15,516 | 23,005 | +48% | 1 | 1 | 0% | 2,467 | 5,583 | +126% | 0 | 0 | — |
case-02 | fail→fail | 21,504 | 19,935 | -7% | 1 | 1 | 0% | 3,388 | 4,957 | +46% | 0 | 0 | — |
case-03 | fail→pass | 22,610 | 33,506 | +48% | 1 | 1 | 0% | 3,684 | 7,284 | +98% | 0 | 0 | — |
case-04 | fail→fail | 18,985 | 27,700 | +46% | 1 | 1 | 0% | 3,504 | 6,521 | +86% | 0 | 0 | — |
case-07 | fail→pass | 6,793 | 2,494 | -63% | 1 | 1 | 0% | 1,102 | 1,891 | +72% | 0 | 0 | — |
case-08 | fail→pass | 6,947 | 2,097 | -70% | 1 | 1 | 0% | 1,006 | 1,759 | +75% | 0 | 0 | — |
case-09 | fail→pass | 7,524 | 4,764 | -37% | 1 | 1 | 0% | 1,210 | 2,335 | +93% | 0 | 0 | — |
case-10 | fail→pass | 7,713 | 2,363 | -69% | 1 | 1 | 0% | 1,191 | 1,824 | +53% | 0 | 0 | — |
case-15 | fail→fail | 7,842 | 6,644 | -15% | 1 | 1 | 0% | 1,059 | 2,403 | +127% | 0 | 0 | — |
case-11 | pass→pass | 5,440 | 6,437 | +18% | 1 | 1 | 0% | 905 | 2,609 | +188% | 0 | 0 | — |
case-12 | pass→pass | 9,309 | 5,660 | -39% | 1 | 1 | 0% | 1,399 | 2,329 | +66% | 0 | 0 | — |
case-13 | pass→pass | 15,309 | 20,455 | +34% | 1 | 1 | 0% | 2,271 | 4,471 | +97% | 0 | 0 | — |
case-14 | fail→pass | 5,616 | 12,734 | +127% | 1 | 1 | 0% | 933 | 3,622 | +288% | 0 | 0 | — |
case-16 | pass→pass | 12,692 | 11,087 | -13% | 1 | 1 | 0% | 1,864 | 3,182 | +71% | 0 | 0 | — |
case-17 | pass→pass | 13,452 | 7,295 | -46% | 1 | 1 | 0% | 935 | 2,545 | +172% | 0 | 0 | — |
case-18 | fail→pass | 12,818 | 8,734 | -32% | 1 | 1 | 0% | 1,865 | 2,785 | +49% | 0 | 0 | — |
case-19 | fail→pass | 20,298 | 15,127 | -25% | 1 | 1 | 0% | 3,008 | 3,864 | +28% | 0 | 0 | — |
case-20 | pass→pass | 9,973 | 7,447 | -25% | 1 | 1 | 0% | 1,420 | 2,612 | +84% | 0 | 0 | — |
case-21 | pass→pass | 11,631 | 8,560 | -26% | 1 | 1 | 0% | 1,597 | 2,725 | +71% | 0 | 0 | — |
case-22 | pass→pass | 16,369 | 13,896 | -15% | 1 | 1 | 0% | 2,414 | 3,576 | +48% | 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 +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.