Call chain
Skill athola/claude-night-market/plugins/cartograph/skills/call-chain
Traces execution paths through the code graph with criticality scoring and Mermaid charts. Use when understanding how a function propagates through the system.From its SKILL.md
npx -y skills add athola/claude-night-market --skill call-chainAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
3.2 KB, 787 tokens by cl100k_base, as published. Nobody here has run it
Call Chain Tracing
Trace execution flows through the codebase using the code knowledge graph.
When NOT To Use
- Static import relationships (use
cartograph:dependency-graph) - Scoring the risk of a change (use
pensive:blast-radius)
Prerequisites
This skill requires the gauntlet plugin for graph data. Discover it:
GRAPH_QUERY=$(find ~/.claude/plugins -name "graph_query.py" -path "*/gauntlet/*" 2>/dev/null | head -1)
If gauntlet is not installed: Fall back to static
analysis. Use grep to trace function calls and build
a Mermaid diagram manually from import/call patterns.
Skip graph-specific steps.
If installed but no graph.db: Tell the user to run
/gauntlet-graph build.
Steps
-
Accept target: Get a function name or entry point from the user (or trace all entry points).
-
Run flow tracing (requires gauntlet):
python3 "$GRAPH_QUERY" --action flows --depth 15To filter by entry point:
python3 "$GRAPH_QUERY" --action flows --entry "main"Fallback (no gauntlet): Trace calls with rg (or grep):
# Prefer rg (ripgrep) for speed; fall back to grep if command -v rg &>/dev/null; then rg -n "function_name\(" --type py . | head -20 else grep -rn "function_name(" --include="*.py" . | head -20 fiBuild the call tree manually from search results.
-
Display as indented tree:
main() [criticality: 0.72] -> validate_input() -> parse_config() -> process_data() -> db.execute_query() -> cache.store() -> send_response() -
Generate Mermaid flowchart:
flowchart LR main --> validate_input main --> process_data main --> send_response validate_input --> parse_config process_data --> db.execute_query process_data --> cache.store -
Show criticality breakdown:
- File spread: how many files the flow touches
- Security sensitivity: auth/crypto code in the path
- Test coverage gaps: untested nodes in the flow
Criticality Scoring
| Factor | Weight | Meaning |
|---|---|---|
| File spread | 0.30 | Touches many files |
| Security | 0.25 | Contains auth/crypto code |
| External calls | 0.20 | Unresolved dependencies |
| Test gap | 0.15 | Untested nodes in flow |
| Depth | 0.10 | Deep call chains |
Exit Criteria
- Indented call tree displayed for the target function with
criticality scores in the form
[criticality: N.NN] - Mermaid
flowchart LRgenerated with edges representing each caller-to-callee relationship in the traced path - Criticality breakdown table shown covering: file spread, security sensitivity, external calls, test gap, and depth
- If gauntlet is not installed, fallback to static
rg/grepanalysis is used and the absence of graph data is noted - If gauntlet is installed but
graph.dbis absent, user is told to run/gauntlet-graph buildbefore the skill halts
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.