Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
actionbook avatar

Rust Call Graph

  • 1.4k installs
  • 1.3k repo stars
  • Updated May 24, 2026
  • actionbook/rust-skills

rust-call-graph is an agent skill for visualize rust function call graphs using lsp. triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁.

About

The rust-call-graph skill is designed for visualize Rust function call graphs using LSP. Triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁. Rust Call Graph Visualize function call relationships using LSP call hierarchy. Prepare Call Hierarchy Get the call hierarchy item for a function. Invoke when the user asks about rust call graph or related SKILL.md workflows.

  • --depth N: How many levels to traverse (default: 3).
  • --direction: in (callers), out (callees), both.
  • /rust-call-graph process_request - Show both callers and callees.
  • /rust-call-graph handle_error --direction in - Show only callers.
  • /rust-call-graph main --direction out --depth 5 - Deep callee analysis.

Rust Call Graph by the numbers

  • 1,373 all-time installs (skills.sh)
  • +53 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #101 of 1,136 Finance & Trading skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

rust-call-graph capabilities & compatibility

Capabilities
depth n: how many levels to traverse (default: · direction: in (callers), out (callees), both · /rust call graph process_request show both cal · /rust call graph handle_error direction in s
From the docs

What rust-call-graph says it does

Visualize Rust function call graphs using LSP. Triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁
SKILL.md
Visualize Rust function call graphs using LSP. Triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁
SKILL.md
npx skills add https://github.com/actionbook/rust-skills --skill rust-call-graph

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.4k
repo stars1.3k
Security audit3 / 3 scanners passed
Last updatedMay 24, 2026
Repositoryactionbook/rust-skills

How do I visualize rust function call graphs using lsp. triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁?

Visualize Rust function call graphs using LSP. Triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁.

Who is it for?

Developers using rust call graph workflows documented in SKILL.md.

Skip if: Skip when the task falls outside rust-call-graph scope or needs a different stack.

When should I use this skill?

User asks about rust call graph or related SKILL.md workflows.

What you get

Completed rust-call-graph workflow with documented commands, files, and expected deliverables.

  • call-hierarchy graph output
  • caller and callee listings

By the numbers

  • Default call-hierarchy traversal depth is 3 levels
  • Supports three direction modes: in, out, and both

Files

SKILL.mdMarkdownGitHub ↗

Rust Call Graph

Visualize function call relationships using LSP call hierarchy.

Usage

/rust-call-graph <function_name> [--depth N] [--direction in|out|both]

Options:

  • --depth N: How many levels to traverse (default: 3)
  • --direction: in (callers), out (callees), both

Examples:

  • /rust-call-graph process_request - Show both callers and callees
  • /rust-call-graph handle_error --direction in - Show only callers
  • /rust-call-graph main --direction out --depth 5 - Deep callee analysis

LSP Operations

1. Prepare Call Hierarchy

Get the call hierarchy item for a function.

LSP(
  operation: "prepareCallHierarchy",
  filePath: "src/handler.rs",
  line: 45,
  character: 8
)

2. Incoming Calls (Who calls this?)

LSP(
  operation: "incomingCalls",
  filePath: "src/handler.rs",
  line: 45,
  character: 8
)

3. Outgoing Calls (What does this call?)

LSP(
  operation: "outgoingCalls",
  filePath: "src/handler.rs",
  line: 45,
  character: 8
)

Workflow

User: "Show call graph for process_request"
    │
    ▼
[1] Find function location
    LSP(workspaceSymbol) or Grep
    │
    ▼
[2] Prepare call hierarchy
    LSP(prepareCallHierarchy)
    │
    ▼
[3] Get incoming calls (callers)
    LSP(incomingCalls)
    │
    ▼
[4] Get outgoing calls (callees)
    LSP(outgoingCalls)
    │
    ▼
[5] Recursively expand to depth N
    │
    ▼
[6] Generate ASCII visualization

Output Format

Incoming Calls (Who calls this?)

## Callers of `process_request`

main
└── run_server
    └── handle_connection
        └── process_request  ◄── YOU ARE HERE

Outgoing Calls (What does this call?)

## Callees of `process_request`

process_request  ◄── YOU ARE HERE
├── parse_headers
│   └── validate_header
├── authenticate
│   ├── check_token
│   └── load_user
├── execute_handler
│   └── [dynamic dispatch]
└── send_response
    └── serialize_body

Bidirectional (Both)

## Call Graph for `process_request`

                    ┌─────────────────┐
                    │      main       │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │   run_server    │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │handle_connection│
                    └────────┬────────┘
                             │
        ┌────────────────────┼────────────────────┐
        │                    │                    │
┌───────▼───────┐   ┌───────▼───────┐   ┌───────▼───────┐
│ parse_headers │   │ authenticate  │   │send_response  │
└───────────────┘   └───────┬───────┘   └───────────────┘
                            │
                    ┌───────┴───────┐
                    │               │
             ┌──────▼──────┐ ┌──────▼──────┐
             │ check_token │ │  load_user  │
             └─────────────┘ └─────────────┘

Analysis Insights

After generating the call graph, provide insights:

## Analysis

**Entry Points:** main, test_process_request
**Leaf Functions:** validate_header, serialize_body
**Hot Path:** main → run_server → handle_connection → process_request
**Complexity:** 12 functions, 3 levels deep

**Potential Issues:**
- `authenticate` has high fan-out (4 callees)
- `process_request` is called from 3 places (consider if this is intentional)

Common Patterns

User SaysDirectionUse Case
"Who calls X?"incomingImpact analysis
"What does X call?"outgoingUnderstanding implementation
"Show call graph"bothFull picture
"Trace from main to X"outgoingExecution path

Visualization Options

StyleBest For
Tree (default)Simple hierarchies
Box diagramComplex relationships
Flat listMany connections
MermaidExport to docs

Mermaid Export

graph TD
    main --> run_server
    run_server --> handle_connection
    handle_connection --> process_request
    process_request --> parse_headers
    process_request --> authenticate
    process_request --> send_response

Related Skills

WhenSee
Find definitionrust-code-navigator
Project structurerust-symbol-analyzer
Trait implementationsrust-trait-explorer
Safe refactoringrust-refactor-helper

Related skills

Forks & variants (1)

Rust Call Graph has 1 known copy in the catalog totaling 713 installs. They canonicalize to this original listing.

How it compares

Pick rust-call-graph over generic codebase search when you need LSP-accurate Rust caller and callee chains for a named function.

FAQ

What does rust-call-graph do?

Visualize Rust function call graphs using LSP. Triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁.

When should I use rust-call-graph?

User asks about rust call graph or related SKILL.md workflows.

Is rust-call-graph safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.