๐ŸŽฏ

rust-symbol-analyzer

๐ŸŽฏSkill

from actionbook/rust-skills

VibeIndex|
What it does

Analyzes Rust project structure by extracting and categorizing symbols across files using Language Server Protocol (LSP) operations.

๐Ÿ“ฆ

Part of

actionbook/rust-skills(35 items)

rust-symbol-analyzer

Installation

Quick InstallInstall with npx
npx skills add ZhangHanDong/rust-skills
CargoRun with Cargo (Rust)
cargo install cowork
git cloneClone repository
git clone https://github.com/ZhangHanDong/rust-skills.git
Add MarketplaceAdd marketplace to Claude Code
/plugin marketplace add ZhangHanDong/rust-skills
๐Ÿ“– Extracted from docs: actionbook/rust-skills
14Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

"Analyze Rust project structure using LSP symbols. Triggers on: /symbols, project structure, list structs, list traits, list functions, ็ฌฆๅทๅˆ†ๆž, ้กน็›ฎ็ป“ๆž„, ๅˆ—ๅ‡บๆ‰€ๆœ‰, ๆœ‰ๅ“ชไบ›struct"

Overview

# Rust Symbol Analyzer

Analyze project structure by examining symbols across your Rust codebase.

Usage

```

/rust-symbol-analyzer [file.rs] [--type struct|trait|fn|mod]

```

Examples:

  • /rust-symbol-analyzer - Analyze entire project
  • /rust-symbol-analyzer src/lib.rs - Analyze single file
  • /rust-symbol-analyzer --type trait - List all traits in project

LSP Operations

1. Document Symbols (Single File)

Get all symbols in a file with their hierarchy.

```

LSP(

operation: "documentSymbol",

filePath: "src/lib.rs",

line: 1,

character: 1

)

```

Returns: Nested structure of modules, structs, functions, etc.

2. Workspace Symbols (Entire Project)

Search for symbols across the workspace.

```

LSP(

operation: "workspaceSymbol",

filePath: "src/lib.rs",

line: 1,

character: 1

)

```

Note: Query is implicit in the operation context.

Workflow

```

User: "What's the structure of this project?"

โ”‚

โ–ผ

[1] Find all Rust files

Glob("*/.rs")

โ”‚

โ–ผ

[2] Get symbols from each key file

LSP(documentSymbol) for lib.rs, main.rs

โ”‚

โ–ผ

[3] Categorize by type

โ”‚

โ–ผ

[4] Generate structure visualization

```

Output Format

Project Overview

```

Project Structure: my-project

Modules

โ”œโ”€โ”€ src/

โ”‚ โ”œโ”€โ”€ lib.rs (root)

โ”‚ โ”œโ”€โ”€ config/

โ”‚ โ”‚ โ”œโ”€โ”€ mod.rs

โ”‚ โ”‚ โ””โ”€โ”€ parser.rs

โ”‚ โ”œโ”€โ”€ handlers/

โ”‚ โ”‚ โ”œโ”€โ”€ mod.rs

โ”‚ โ”‚ โ”œโ”€โ”€ auth.rs

โ”‚ โ”‚ โ””โ”€โ”€ api.rs

โ”‚ โ””โ”€โ”€ models/

โ”‚ โ”œโ”€โ”€ mod.rs

โ”‚ โ”œโ”€โ”€ user.rs

โ”‚ โ””โ”€โ”€ order.rs

โ””โ”€โ”€ tests/

โ””โ”€โ”€ integration.rs

```

By Symbol Type

```

Symbols by Type

Structs (12)

| Name | Location | Fields | Derives |

|------|----------|--------|---------|

| Config | src/config.rs:10 | 5 | Debug, Clone |

| User | src/models/user.rs:8 | 4 | Debug, Serialize |

| Order | src/models/order.rs:15 | 6 | Debug, Serialize |

| ... | | | |

Traits (4)

| Name | Location | Methods | Implementors |

|------|----------|---------|--------------|

| Handler | src/handlers/mod.rs:5 | 3 | AuthHandler, ApiHandler |

| Repository | src/db/mod.rs:12 | 5 | UserRepo, OrderRepo |

| ... | | | |

Functions (25)

| Name | Location | Visibility | Async |

|------|----------|------------|-------|

| main | src/main.rs:10 | pub | yes |

| parse_config | src/config.rs:45 | pub | no |

| ... | | | |

Enums (6)

| Name | Location | Variants |

|------|----------|----------|

| Error | src/error.rs:5 | 8 |

| Status | src/models/order.rs:5 | 4 |

| ... | | |

```

Single File Analysis

```

src/handlers/auth.rs

Symbols Hierarchy

mod auth

โ”œโ”€โ”€ struct AuthHandler

โ”‚ โ”œโ”€โ”€ field: config: Config

โ”‚ โ”œโ”€โ”€ field: db: Pool

โ”‚ โ””โ”€โ”€ impl AuthHandler

โ”‚ โ”œโ”€โ”€ fn new(config, db) -> Self

โ”‚ โ”œโ”€โ”€ fn authenticate(&self, token) -> Result

โ”‚ โ””โ”€โ”€ fn refresh_token(&self, user) -> Result

โ”œโ”€โ”€ struct Token

โ”‚ โ”œโ”€โ”€ field: value: String

โ”‚ โ””โ”€โ”€ field: expires: DateTime

โ”œโ”€โ”€ enum AuthError

โ”‚ โ”œโ”€โ”€ InvalidToken

โ”‚ โ”œโ”€โ”€ Expired

โ”‚ โ””โ”€โ”€ Unauthorized

โ””โ”€โ”€ impl Handler for AuthHandler

โ”œโ”€โ”€ fn handle(&self, req) -> Response

โ””โ”€โ”€ fn name(&self) -> &str

```

Analysis Features

Complexity Metrics

```

Complexity Analysis

| File | Structs | Functions | Lines | Complexity |

|------|---------|-----------|-------|------------|

| src/handlers/auth.rs | 2 | 8 | 150 | Medium |

| src/models/user.rs | 3 | 12 | 200 | High |

| src/config.rs | 1 | 3 | 50 | Low |

Hotspots: Files with high complexity that may need refactoring

  • src/handlers/api.rs (15 functions, 300 lines)

```

Dependency Analysis

```

Internal Dependencies

auth.rs

โ”œโ”€โ”€ imports from: config.rs, models/user.rs, db/mod.rs

โ””โ”€โ”€ imported by: main.rs, handlers/mod.rs

user.rs

โ”œโ”€โ”€ imports from: (none - leaf module)

โ””โ”€โ”€ imported by: auth.rs, api.rs, tests/

```

Symbol Types

| Type | Icon | LSP Kind |

|------|------|----------|

| Module | ๐Ÿ“ฆ | Module |

| Struct | ๐Ÿ—๏ธ | Struct |

| Enum | ๐Ÿ”ข | Enum |

| Trait | ๐Ÿ“œ | Interface |

| Function | โšก | Function |

| Method | ๐Ÿ”ง | Method |

| Constant | ๐Ÿ”’ | Constant |

| Field | ๐Ÿ“Ž | Field |

Common Queries

| User Says | Analysis |

|-----------|----------|

| "What structs are in this project?" | workspaceSymbol + filter |

| "Show me src/lib.rs structure" | documentSymbol |

| "Find all async functions" | workspaceSymbol + async filter |

| "List public API" | documentSymbol + pub filter |

Related Skills

| When | See |

|------|-----|

| Navigate to symbol | rust-code-navigator |

| Call relationships | rust-call-graph |

| Trait implementations | rust-trait-explorer |

| Safe refactoring | rust-refactor-helper |

More from this repository10

๐Ÿช
actionbook-rust-skills๐ŸชMarketplace

Comprehensive Rust development assistant with meta-question routing, coding guidelines, version queries, and ecosystem support

๐ŸŽฏ
coding-guidelines๐ŸŽฏSkill

Provides comprehensive Rust coding guidelines covering naming conventions, best practices, error handling, memory management, concurrency, and code style recommendations.

๐ŸŽฏ
rust-refactor-helper๐ŸŽฏSkill

Performs safe Rust refactoring by analyzing symbol references, dependencies, and potential impacts using Language Server Protocol (LSP) operations.

๐ŸŽฏ
m09-domain๐ŸŽฏSkill

Guides domain modeling in Rust by helping identify entities, value objects, aggregates, and their ownership patterns with domain-driven design principles.

๐ŸŽฏ
m05-type-driven๐ŸŽฏSkill

Enforces compile-time type safety by preventing invalid states through type-level design techniques like newtypes, type states, and phantom types.

๐ŸŽฏ
rust-learner๐ŸŽฏSkill

Retrieves and provides comprehensive Rust and crate information, including versions, features, documentation, and changelogs from authoritative sources.

๐ŸŽฏ
m02-resource๐ŸŽฏSkill

Guides developers in selecting the right smart pointer and resource management strategy based on ownership, thread safety, and design constraints.

๐ŸŽฏ
m11-ecosystem๐ŸŽฏSkill

Guides Rust developers in selecting, integrating, and managing ecosystem dependencies with best practices and strategic decision-making.

๐ŸŽฏ
rust-trait-explorer๐ŸŽฏSkill

Explores Rust trait implementations, revealing which types implement specific traits and their implementation details using LSP.

๐ŸŽฏ
rust-call-graph๐ŸŽฏSkill

Generates and visualizes Rust function call graphs using LSP, revealing function relationships and call hierarchies.