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.
Production-ready workflow orchestration with 79 focused plugins, 184 specialized agents, and 150 skills - optimized for granular installation and minimal token usage
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations
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.