LSP-based code analysis skills for AI agents — definition trees, reference lookup, call chain analysis. Works offline with regex, scales up with real LSP servers.
npx claudepluginhub gwihwan-go/lsprag-skillsHigh-effort BFS code understanding: recursively retrieve source and dependencies for a symbol and all its transitive dependencies. Use before writing tests or refactoring complex functions.
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations
Curated collection of 129 specialized Claude Code subagents organized into 10 focused categories
Portable LSP code analysis for AI agents — build definition trees, retrieve source, trace dependencies, and deep-expand call graphs. Uses real language servers (no VS Code required).
A set of lsprag skills that give AI agents (Claude Code, OpenCode, etc.) a lsprag CLI for semantic code analysis:
| Command | What it does |
|---|---|
lsprag listSymbols | List all functions, classes, and symbols in a file |
lsprag getDefinition | Get the full source of a symbol, or hover info for variables/constants |
lsprag getTokens | Decompose a symbol into tokens and show where each is defined |
lsprag getReference | Find all callers / usages of a symbol |
lsprag callChain | Trace incoming call chain (who calls this, recursively) |
lsprag deep-think | BFS expansion: retrieve source + deps for a symbol and all its transitive dependencies |
Supported languages: TypeScript, JavaScript, Go, Python
gopls)pylsp)git clone https://github.com/Gwihwan-Go/lsprag-skills ~/.lsprag-skills
bash ~/.lsprag-skills/install.sh
Then open a new terminal (or run source ~/.bashrc / source ~/.zshrc).
Confirm it works:
lsprag --version
The installer handles everything in one step:
lsprag CLI symlink at ~/.local/bin/lspragLSPRAG_SKILLS_ROOT, LSPRAG_LSP_PROVIDER)typescript-language-server (via npm)gopls (via go install)pylsp (via pip)If you skipped a language or need to add one later:
bash ~/.lsprag-skills/scripts/install-lsp-go.sh # gopls
bash ~/.lsprag-skills/scripts/install-lsp-ts.sh # tsserver
bash ~/.lsprag-skills/scripts/install-lsp-python.sh # pylsp
bash ~/.lsprag-skills/scripts/update.sh
This checks (but never installs) that everything is in place.
lsprag listSymbols --file "$(realpath src/server.ts)"
Symbols in src/server.ts:
Functions:
handleRequest L3 (12 lines)
parseBody L30 (8 lines)
Constants:
MAX_RETRIES L1 (1 lines)
Functions get full source; variables/constants get hover type info.
lsprag getDefinition --file "$(realpath src/server.ts)" --symbol handleRequest
lsprag getDefinition --file "$(realpath src/config.ts)" --symbol MAX_RETRIES
By call-site location (1-indexed line:col):
lsprag getDefinition --file "$(realpath src/server.ts)" --symbol parseBody --location 42:15
lsprag getTokens --file "$(realpath src/server.ts)" --symbol handleRequest
Tokens in 'handleRequest' (src/server.ts:15:10):
L 16:C 7 parseBody -> src/server.ts:30:10
L 17:C 3 sendResponse -> src/server.ts:58:10
L 17:C 16 formatJSON -> src/format.ts:3:10
lsprag getReference --file "$(realpath src/server.ts)" --symbol handleRequest
lsprag callChain --file "$(realpath src/server.ts)" --symbol handleRequest
Incoming calls to 'handleRequest':
handleRequest (src/server.ts:3)
└─ routeRequest (src/router.ts:15)
└─ main (src/index.ts:8)
lsprag deep-think --file "$(realpath src/server.ts)" --symbol handleRequest --depth 2
Start at --depth 1 for initial exploration; increase for deeper understanding.
| Goal | Use |
|---|---|
| What's in this file? | lsprag listSymbols |
| Read a function's full source | lsprag getDefinition |
| Inspect a constant or variable | lsprag getDefinition (hover mode) |
| Jump to definition from a call site | lsprag getDefinition --location <line>:<col> |
| What identifiers does a function depend on? | lsprag getTokens |
| Who calls this function? | lsprag getReference or lsprag callChain |
| Understand a complex function deeply | lsprag deep-think |
| Quick text search | grep -rn <name> . --include="*.ts" |
alias claude='claude --plugin-dir ~/.lsprag-skills'
claude --plugin-dir ~/.lsprag-skills
Once installed, Claude invokes lsprag automatically when you describe code analysis tasks.