360 Secure SkillHub
360 安全技能中心

rust-code-navigator

该 Skill 通过 LSP 在 Rust 代码库中执行跳转定义、查找引用和悬停信息查询,并可先搜索工作区符号;输出定义位置、代码上下文、引用列表和类型文档,遇到多个定义时会请求澄清。

actionbook
热度 0.00
最近更新 2026-10-19 02:01:25
分类:开发依赖:读写文件应用场景:代码审查

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add actionbook/rust-skills/rust-code-navigator
Metadata
name
rust-code-navigator
description
Navigate Rust code using LSP. Triggers on: /navigate, go to definition, find references, where is defined, 跳转定义, 查找引用, 定义在哪, 谁用了这个
argument-hint
<symbol> [in file.rs:line]
allowed-tools
["LSP","Read","Glob"]

Rust Code Navigator

Navigate large Rust codebases efficiently using Language Server Protocol.

Usage

/rust-code-navigator <symbol> [in file.rs:line]

Examples:

  • /rust-code-navigator parse_config - Find definition of parse_config
  • /rust-code-navigator MyStruct in src/lib.rs:42 - Navigate from specific location

LSP Operations

1. Go to Definition

Find where a symbol is defined.

LSP(
  operation: "goToDefinition",
  filePath: "src/main.rs",
  line: 25,
  character: 10
)

Use when:

  • User asks "where is X defined?"
  • User wants to understand a type/function
  • Ctrl+click equivalent

2. Find References

Find all usages of a symbol.

LSP(
  operation: "findReferences",
  filePath: "src/lib.rs",
  line: 15,
  character: 8
)

Use when:

  • User asks "who uses X?"
  • Before refactoring/renaming
  • Understanding impact of changes

3. Hover Information

Get type and documentation for a symbol.

LSP(
  operation: "hover",
  filePath: "src/main.rs",
  line: 30,
  character: 15
)

Use when:

  • User asks "what type is X?"
  • User wants documentation
  • Quick type checking

Workflow

User: "Where is the Config struct defined?"
    │
    ▼
[1] Search for "Config" in workspace
    LSP(operation: "workspaceSymbol", ...)
    │
    ▼
[2] If multiple results, ask user to clarify
    │
    ▼
[3] Go to definition
    LSP(operation: "goToDefinition", ...)
    │
    ▼
[4] Show file path and context
    Read surrounding code for context

Output Format

Definition Found

## Config (struct)

**Defined in:** `src/config.rs:15`

​```rust
#[derive(Debug, Clone)]
pub struct Config {
    pub name: String,
    pub port: u16,
    pub debug: bool,
}
​```

**Documentation:** Configuration for the application server.

References Found

## References to `Config` (5 found)

| Location | Context |
|----------|---------|
| src/main.rs:10 | `let config = Config::load()?;` |
| src/server.rs:25 | `fn new(config: Config) -> Self` |
| src/server.rs:42 | `self.config.port` |
| src/tests.rs:15 | `Config::default()` |
| src/cli.rs:8 | `config: Option<Config>` |

Common Patterns

User Says LSP Operation
"Where is X defined?" goToDefinition
"Who uses X?" findReferences
"What type is X?" hover
"Find all structs" workspaceSymbol
"What's in this file?" documentSymbol

Error Handling

Error Cause Solution
"No LSP server" rust-analyzer not running Suggest: rustup component add rust-analyzer
"Symbol not found" Typo or not in scope Search with workspaceSymbol first
"Multiple definitions" Generics or macros Show all and let user choose

Related Skills

When See
Call relationships rust-call-graph
Project structure rust-symbol-analyzer
Trait implementations rust-trait-explorer
Safe refactoring rust-refactor-helper