agentsclimarketplace

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

Install
npx -y skills add athola/claude-night-market --skill call-chain

Assembled 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

  1. Accept target: Get a function name or entry point from the user (or trace all entry points).

  2. Run flow tracing (requires gauntlet):

    python3 "$GRAPH_QUERY" --action flows --depth 15
    

    To 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
    fi
    

    Build the call tree manually from search results.

  3. Display as indented tree:

    main() [criticality: 0.72]
      -> validate_input()
        -> parse_config()
      -> process_data()
        -> db.execute_query()
        -> cache.store()
      -> send_response()
    
  4. 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
    
  5. 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

FactorWeightMeaning
File spread0.30Touches many files
Security0.25Contains auth/crypto code
External calls0.20Unresolved dependencies
Test gap0.15Untested nodes in flow
Depth0.10Deep call chains

Exit Criteria

  • Indented call tree displayed for the target function with criticality scores in the form [criticality: N.NN]
  • Mermaid flowchart LR generated 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/grep analysis is used and the absence of graph data is noted
  • If gauntlet is installed but graph.db is absent, user is told to run /gauntlet-graph build before the skill halts

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.