lsp-onboard
О программе
Навык lsp-onboard выполняет первоначальный анализ проекта с использованием инструментов LSP для обнаружения систем сборки, тестовых раннеров, точек входа и архитектурных шаблонов. Он создает структурированный профиль проекта, на который агент может ссылаться на протяжении всей сессии, что делает его критически важным при первичном подключении. Этот навык требует сервер MCP agent-lsp и ориентирован на анализ символов документа.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add blackwell-systems/agent-lsp -a claude-code/plugin add https://github.com/blackwell-systems/agent-lspgit clone https://github.com/blackwell-systems/agent-lsp.git ~/.claude/skills/lsp-onboardСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
lsp-onboard
First-session project onboarding. Run this when connecting to a new project for the first time. Explores the codebase via LSP tools and produces a structured project profile: languages, build system, test runner, entry points, key types, and architecture patterns.
The profile helps the agent make better decisions throughout the session without re-exploring the same ground. Run once per project; skip on subsequent sessions unless the project structure has changed significantly.
When to Use
- First time working in a new codebase
- After major structural changes (new packages, build system migration)
- When the agent seems confused about project conventions
Do NOT run this on every session. It's a one-time exploration.
Step 1: Detect languages and servers
mcp__lsp__detect_lsp_servers({ "workspace_dir": "<root>" })
Record which languages are present and which servers are available. This tells you what the project is built with.
Step 2: Initialize and verify
mcp__lsp__start_lsp({ "root_dir": "<root>" })
Wait for initialization. Call list_symbols on one key file to verify
the workspace is indexed.
Step 3: Identify entry points
Search for common entry point patterns:
mcp__lsp__find_symbol({ "query": "main" })
mcp__lsp__find_symbol({ "query": "Run" })
mcp__lsp__find_symbol({ "query": "Handler" })
Record entry points with their file paths. These are where execution starts.
Step 4: Map the package structure
For each top-level directory that contains source files, call list_symbols
on one representative file:
mcp__lsp__list_symbols({ "file_path": "<dir>/main.go", "format": "outline" })
Build a mental map: which packages exist, what they export, how they relate. Cap at 10 packages to avoid spending too long.
Step 5: Detect build and test commands
mcp__lsp__run_build({ "workspace_dir": "<root>" })
mcp__lsp__run_tests({ "workspace_dir": "<root>" })
Record whether build and tests pass, and what language/toolchain was detected. Note the test count and any failures.
Step 6: Identify hotspots
Pick the 3-5 files that appear most central (entry points, shared types, core logic). For each:
mcp__lsp__blast_radius({ "changed_files": ["<file>"] })
Files with the most non-test callers are the architectural hotspots. Changes to these files have the widest blast radius.
Step 7: Check for diagnostics
mcp__lsp__get_diagnostics({ "file_path": "<entry-point>" })
Note any pre-existing errors or warnings. This sets the baseline so the agent knows what was broken before it started.
Step 8: Produce the project profile
Write a structured summary:
## Project Profile: <name>
### Languages
- Go (primary), TypeScript (frontend)
### Build & Test
- Build: `go build ./...` (passes)
- Test: `go test ./...` (142 tests, 0 failures)
### Entry Points
- cmd/server/main.go:15 (main)
- cmd/worker/main.go:22 (main)
### Package Map
- cmd/server/ (HTTP server, routing)
- cmd/worker/ (background job processor)
- internal/api/ (handler layer)
- internal/store/ (database access)
- internal/types/ (shared type definitions)
### Hotspots (most referenced)
1. internal/types/models.go: 85 callers across 12 files
2. internal/store/queries.go: 42 callers across 8 files
3. internal/api/handlers.go: 31 callers across 6 files
### Pre-existing Issues
- 0 errors, 2 warnings (unused imports in test files)
### Conventions Observed
- Error wrapping with fmt.Errorf
- Table-driven tests
- Handler functions return (result, error)
This profile is for the agent's reference during the session. It does not need to be saved to disk; it lives in the conversation context.
Notes
- Cap exploration at 10 packages and 5 hotspot files to keep the onboarding under 2 minutes
- If
blast_radiusis slow (large files), skip the hotspot step and note "hotspot analysis skipped (large codebase)" - The profile is advisory; update it mentally as you learn more during the session
GitHub репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
