Skip to main content

code-navigation

Jump to symbol definitions, find all references, locate interface declarations, resolve type definitions, and find implementations. Use instead of grep or text search when navigating to where a function, type, or variable is defined or used. Activated by runectl lsp.

Jump to install

Source facts

Repository
unstablebuild/rune
Last source activity
March 26, 2026 at 19:53
Detected SKILL.md language
English
Stars
1,035
Forks
80

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
code-navigation
description
Jump to symbol definitions, find all references, locate interface declarations, resolve type definitions, and find implementations. Use instead of grep or text search when navigating to where a function, type, or variable is defined or used. Activated by runectl lsp.
allowed-tools
Bash(runectl:*)
# Code Navigation Semantic code navigation via `runectl lsp`. Prefer these over grep — they use the language server for precise results. ## runectl lsp definition Go to definition. ``` Usage: runectl lsp definition (<file> <line> <col> | <symbol>) [flags] Flags: -F, --format string Output format: table, json, or Go template ``` Use when you see a function call and want its source. Example — find where the `workspaceapi.Cmd` struct is defined: ```bash $ runectl lsp definition workspaceapi.Cmd file:///src/rune-go-sdk/api/workspaceapi/workspace.go 52:5-52:8 ``` The result points to `workspace.go` line 52, columns 5-8. ## runectl lsp references Find all references. ``` Usage: runectl lsp references (<file> <line> <col> | <symbol>) [flags] Flags: -d, --declaration Include declaration -F, --format string Output format: table, json, or Go template ``` Use to find every place a symbol is used across the workspace. Example — find all usages of `workspaceapi.URI`: ```bash $ runectl lsp references workspaceapi.URI file:///src/rune-agent/agent/agent.go 153:39-153:42 file:///src/rune-agent/agent/agent.go 161:39-161:42 file:///src/rune-agent/agent/agent.go 174:32-174:35 ... ``` Each line is a location where `URI` appears. Add `-d` to also include the declaration itself. ## runectl lsp declaration Go to declaration. ``` Usage: runectl lsp declaration (<file> <line> <col> | <symbol>) [flags] Flags: -F, --format string Output format: table, json, or Go template ``` Use when you want the interface a method satisfies or a forward declaration. ## runectl lsp type-definition Go to type definition. ``` Usage: runectl lsp type-definition (<file> <line> <col> | <symbol>) [flags] Flags: -F, --format string Output format: table, json, or Go template ``` Use when you have a variable and want its underlying struct or interface type. Example — find the type behind `workspaceapi.Cmd`: ```bash $ runectl lsp type-definition workspaceapi.Cmd file:///src/rune-go-sdk/api/workspaceapi/workspace.go 52:5-52:8 ``` ## runectl lsp implementation Find implementations. ``` Usage: runectl lsp implementation (<file> <line> <col> | <symbol>) [flags] Flags: -F, --format string Output format: table, json, or Go template ``` Use when you have an interface and want all concrete types that implement it. Example — find all types implementing `workspaceapi.Executor`: ```bash $ runectl lsp implementation workspaceapi.Executor file:///src/rune-go-sdk/api/workspaceapi/workspacerpc/client.go 44:5-44:11 file:///src/rune-agent/agent/agentools/agentools_test.go 85:5-85:14 file:///src/rune-agent/agent/agentools/agentools_test.go 123:5-123:18 ... ``` Results include test doubles across the workspace and the real client in `workspacerpc`.
View on GitHub