SKILL-012: Dependency Tree Mapping
Overview
Executes "Structural Awareness" by building a map of how different parts of the project rely on each other. It uses language-specific tools (nuget, pip, npm, cargo) to extract the graph and visualize it.
Trigger Phrases
map dependencies
show dependency tree
check impact of <library>
find point of failure
Inputs
| Parameter |
Type |
Required |
Default |
Description |
--workspace-path |
string |
No |
Current directory |
Root of the project |
--depth |
int |
No |
3 |
Depth of dependency recursion |
--format |
string |
No |
mermaid |
Output format: mermaid, json, text |
Outputs
1. DEPENDENCY_GRAPH.mmd (Mermaid)
Visual graph ready for rendering:
graph TD
A[Core.Engine] --> B[Utils.Math]
A --> C[Utils.Logging]
B --> D[External.NumPy]
C --> E[External.Serilog]
2. RISK_REPORT.md
Analysis of the graph:
- Critical Nodes: Libraries that >50% of the project depends on.
- Cycle Detection: Circular dependencies that might cause build failures.
- Version Conflicts: Multiple versions of the same library requested.
Preconditions
- Build files must exist (package.json, *.csproj, pyproject.toml).
- Dependencies must be resolvable (e.g.,
npm list works).
Implementation
Script: map_dependencies.ps1
- Detects Tech Stack: (Uses
WORKSPACE_PROFILE.json if available).
- Extracts Graph:
- Node.js:
npm list --json
- .NET:
dotnet list package --include-transitive (parsed)
- Python:
pipdeptree --json (if installed)
- Generates Mermaid: Transforms raw data into Mermaid syntax.
- Analyzes Risk: Calculates centrality of nodes to identify critical points.
Use Cases
- QA Auditing: Identifying "single-points-of-failure" where a single library version mismatch could crash the system.
- Refactoring: Knowing that changing "AuthService" impacts "UserDashboard", "AdminPanel", and "ReportingJob".