actionbook/rust-skills

rust-code-navigator

Navigate Rust code using LSP.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/actionbook/rust-skills --skill rust-code-navigator

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

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 SaysLSP 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

ErrorCauseSolution
"No LSP server"rust-analyzer not runningSuggest: rustup component add rust-analyzer
"Symbol not found"Typo or not in scopeSearch with workspaceSymbol first
"Multiple definitions"Generics or macrosShow all and let user choose

Related Skills

WhenSee
Call relationshipsrust-call-graph
Project structurerust-symbol-analyzer
Trait implementationsrust-trait-explorer
Safe refactoringrust-refactor-helper
aus demselben Repository

Weitere Skills

Alle Skills
actionbook
Community

coding-guidelines

Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code style, best practice, P.NAM, G.FMT, code review, naming convention, variable naming, function naming, type naming, 命名规范, 代码风格, 格式化, 最佳实践, 代码审查, 怎么命名

Installationen
2
GitHub Stars
1538
Aktualisiert
23. Aug.
actionbook
Community

m03-mutability

CRITICAL: Use for mutability issues. Triggers: E0596, E0499, E0502, cannot borrow as mutable, already borrowed as immutable, mut, &mut, interior mutability, Cell, RefCell, Mutex, RwLock, 可变性, 内部可变性, 借用冲突

Installationen
2
GitHub Stars
1538
Aktualisiert
23. Aug.
actionbook
Community

m04-zero-cost

CRITICAL: Use for generics, traits, zero-cost abstraction. Triggers: E0277, E0308, E0599, generic, trait, impl, dyn, where, monomorphization, static dispatch, dynamic dispatch, impl Trait, trait bound not satisfied, 泛型, 特征, 零成本抽象, 单态化

Installationen
2
GitHub Stars
1538
Aktualisiert
23. Aug.
actionbook
Community

m06-error-handling

CRITICAL: Use for error handling. Triggers: Result, Option, Error, ?, unwrap, expect, panic, anyhow, thiserror, when to panic vs return Result, custom error, error propagation, 错误处理, Result 用法, 什么时候用 panic

Installationen
2
GitHub Stars
1538
Aktualisiert
23. Aug.