rmc-call-graph

Analyze Rust function caller and callee relationships across a workspace.

29|5|Updated Nov 24, 2025
One-click install
npx skills add https://github.com/molaco/rust-code-mcp --skill rmc-call-graph
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rmc-call-graph
Source: https://github.com/molaco/rust-code-mcp/tree/main/skills/rmc-call-graph
Command: npx skills add https://github.com/molaco/rust-code-mcp --skill rmc-call-graph

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you understand how Rust functions interact by producing call-graph views for a specific function across an entire workspace, so you can reason about reachability, impact, and crate boundaries without manual code spelunking.

Core Features & Use Cases

  • Incoming callers (workspace-wide): Use caller discovery to find every function body that invokes a target, with precise file spans and call categories for triage.
  • Outgoing callees (workspace-wide): Use callee discovery to enumerate what a function touches so you can identify downstream responsibilities before refactoring.
  • Bounded recursive reachability: Use depth-limited graph expansion to map a reachable call tree and quantify refactor blast radius via transitive caller counts.
  • Crate boundary audit: Filter callers to a specific crate to validate architectural rules like “no domain code calls agent/orchestrator.”
  • Within-file fallback: Use a parser-based single-file call graph when hypergraph indexing is unavailable, and corroborate results.

Quick Start

Ask for the workspace-wide callers of a function named crate::my_fn and return who calls it, then optionally ask for the transitive reachability count to estimate refactor risk.

Frequently Asked Questions about rmc-call-graph

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I trace Rust function callers and callees across an entire workspace?

Trace Rust function callers and callees across a workspace by querying workspace-scoped call graphs to find incoming invocations and outgoing dependencies with precise file spans for triage.

Can I check Rust crate boundaries to see if domain code calls an orchestrator?

You can check Rust crate boundaries by filtering callers to a specific crate, allowing you to validate architectural rules like ensuring no domain code calls an agent or orchestrator layer.

How do I estimate refactoring blast radius for a Rust function?

Estimate refactoring blast radius by performing bounded recursive call-tree expansion to map reachable paths and quantify transitive caller counts, revealing the full impact of modifying a target function.

What is the fallback for Rust call graph analysis when hypergraph indexing is unavailable?

The fallback for Rust call graph analysis is a parser-based single-file approach that extracts the call graph within a file, allowing you to corroborate results when hypergraph coverage is missing.

Do I need a hypergraph build to analyze Rust call graphs?

A hypergraph build is required for HIR-resolved workspace analysis using tools like who_calls and calls_from, but a parser fallback can be used for single-file call graph analysis when hypergraph coverage is unavailable.