lsp-navigation
Navigate code with IDE features - definitions, references, types, call hierarchy. Use as PRIMARY for code intelligence.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Navigate code with IDE features - definitions, references, types, call hierarchy. Use as PRIMARY for code intelligence.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Add a new Pi package to this pi-packages monorepo. Use when importing, vendoring, forking, or creating a package under packages/* and wiring it into this repo's workspace, Pi manifest, README, validation, and upstream-credit conventions.
Update a vendored or forked Pi package in this pi-packages monorepo from its upstream source using git subtree workflows. Use when refreshing packages/* from upstream repositories while preserving this repo's package, README, Pi manifest, and adaptation conventions.
Use when searching or replacing code patterns - use ast-grep instead of text search for semantic accuracy
| name | lsp-navigation |
| description | Navigate code with IDE features - definitions, references, types, call hierarchy. Use as PRIMARY for code intelligence. |
Use lsp_navigation as PRIMARY for code intelligence. Do NOT use grep/glob/ast-grep first.
Requires: --lens-lsp flag
| Question | Operation | Parameters |
|---|---|---|
| "Where is this defined?" | definition | filePath, line, character |
| "Find all usages" | references | filePath, line, character |
| "What type is this?" | hover | filePath, line, character |
| "Show call signature here" | signatureHelp | filePath, line, character (at call-site args) |
| "What symbols in this file?" | documentSymbol | filePath |
| "Find symbol across project" | workspaceSymbol | query + filePath strongly recommended |
| "What quick fixes are available?" | codeAction | filePath, line, character, endLine, endCharacter |
| "Rename symbol safely" | rename | filePath, line, character, newName |
| "Who implements this interface?" | implementation | filePath, line, character |
| "Who calls this function?" | prepareCallHierarchy → incomingCalls | filePath, line, character |
| "What does this function call?" | prepareCallHierarchy → outgoingCalls | filePath, line, character |
| "Show tracked LSP diagnostics" | workspaceDiagnostics | optional filePath (snapshot, not full pull workspace) |
filePath for workspaceSymbol when possible. Unscoped queries are best-effort and often empty.references, prefer querying from the definition site for broader cross-file coverage; usage-site queries can be partial.signatureHelp only at call-site argument positions; declaration positions often return empty.workspaceDiagnostics as tracked push snapshot (publishDiagnostics), not protocol pull workspace/diagnostic coverage.codeAction, separate quickfix from generic refactors (for example "Move to new file"). Do not treat generic refactors as error fixes.prepareCallHierarchy is server-capability dependent; if unsupported, skip incoming/outgoing calls.No Project on workspaceSymbol, retry after opening the scoped file context.// Step 1: Prepare (get the callable item)
const items = await lsp_navigation({
operation: "prepareCallHierarchy",
filePath: "src/api.ts",
line: 42,
character: 10
});
// Step 2: Get callers (who calls this function)
const callers = await lsp_navigation({
operation: "incomingCalls",
callHierarchyItem: items[0]
});
// Step 2: Get callees (what this function calls)
const callees = await lsp_navigation({
operation: "outgoingCalls",
callHierarchyItem: items[0]
});
| Task | Use Instead | Why |
|---|---|---|
| Find patterns (console.log) | ast_grep_search | Pattern matching |
| Find text/TODOs | grep | Text search |
| Find files by name | glob | File discovery |
| Read file content | read | Direct access |
Code intelligence → LSP first. Text/pattern search → grep/ast-grep.