mcpField
C
call-chain

call-chain

github.com/atholaDevelopment34383 installsUpdated 1d ago
Repository

About call-chain

Call Chain Tracing is a skill for tracing execution paths through a codebase. It uses the gauntlet code knowledge graph when available, or falls back to static searches, and presents call trees, Mermaid diagrams, and criticality details.

Key features

  1. 01Trace flows through the code graph
  2. 02Fall back to static call searches
  3. 03Display an indented call tree
  4. 04Generate Mermaid flowcharts
  5. 05Report flow criticality factors

Use cases

  1. 01Follow calls from a named function
  2. 02Understand an entry point's execution path
  3. 03Inspect security-sensitive or untested flow nodes

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/athola/claude-night-market --skill call-chain

After installing, type/call-chainin Claude Code to confirm it loaded.

Details

From the project README

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

Comments

Markdown supported