searching-sourcegraph — скилл для Claude Code: поиск по коду
Задаёт агенту порядок работы с MCP-инструментами Sourcegraph: сначала поиск, потом код. Пригодится, когда нужно найти реализацию или разобрать чужую систему.
npx skills add cline/skills --skill searching-sourcegraph -a claude-codeЧто делает searching-sourcegraph
Скилл описывает, какой инструмент Sourcegraph брать под задачу. Точный символ или шаблон — keyword_search, концепцию без кода — nls_search, вопрос «как это устроено» — deepsearch с последующим deepsearch_read. Для трассировки использования есть find_references, для полной реализации — go_to_definition и read_file.
Отдельный блок про область поиска. Агент должен сужать запрос через repo:^github.com/ORG/REPO$, file:.*\.ts$ и lang:typescript, а расширять только если результатов нет. Логика цепочек прописана под конкретные ситуации: пришла ошибка или стек вызовов — сначала извлекаются символы и коды ошибок, потом ищется место сбоя, потом тянется цепочка вызовов. При отладке скилл советует рано смотреть diff_search и commit_search, потому что регрессии часты.
Внутри пять файлов воркфлоу: implementing-feature.md, understanding-code.md, debugging-issue.md, fixing-bug.md, code-review.md. Есть таблица частых ошибок и набор готовых шаблонов запросов для React-хуков, API-роутов, конфигов сборки. Всё это работает только при подключённом MCP-сервере Sourcegraph — без него инструменты из списка просто не вызовутся.
Какие задачи решает
- найти существующую реализацию, прежде чем писать свою
- проследить, где ещё используется функция или класс
- разобрать незнакомую кодовую базу по вопросам «как это работает»
- найти место падения по стектрейсу и коду ошибки
- проверить свежие коммиты и диффы при подозрении на регрессию
Примеры запросов агенту
- Найди в
repo:^github.com/myorg/backend$все места, где вызываетсяparseToken, и покажи реализацию. - Как устроена авторизация в этом репозитории? Запусти deepsearch и прочитай ключевые файлы.
- Вот стектрейс:
TypeError: Cannot read property 'id' of undefined. Найди место сбоя и проследи цепочку вызовов.
Как установить searching-sourcegraph
1Через Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a claude-code2Вручную: положить файлы
~/.claude/skills/searching-sourcegraph/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/searching-sourcegraph/
1Через Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a codex2Вручную: положить файлы
.agents/skills/searching-sourcegraph/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a cursor2Вручную: положить файлы
.cursor/skills/searching-sourcegraph/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install cline/skills searching-sourcegraph2Вручную: положить файлы
.github/skills/searching-sourcegraph/SKILL.md1Через Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a gemini-cli2Командой платформы
gemini skills install https://github.com/cline/skills --path skills/searching-sourcegraphВручную: положить файлы
.devin/skills/searching-sourcegraph/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора17
Похожие
Рядом в теме «Настройка агента: память, контекст, субагенты»
Все скиллы по теме «Настройка агента: память, контекст, субагенты» →Вопросы о searching-sourcegraph
Как установить searching-sourcegraph в Claude?
Выполните npx skills add cline/skills --skill searching-sourcegraph -a claude-code. После этого файл скилла появится в ~/.claude/skills/searching-sourcegraph/SKILL.md.
Что делает searching-sourcegraph?
Описывает, каким инструментом Sourcegraph пользоваться под конкретную задачу, и задаёт порядок поиска: сузить область, найти, прочитать, проследить ссылки. Плюс пять файлов воркфлоу под типовые сценарии.
Что нужно для работы скилла?
Подключённый MCP-сервер Sourcegraph. Без него перечисленные в скилле инструменты вроде keyword_search и deepsearch агенту недоступны.
Исходный текст
SKILL.md · Apache-2.0
--- name: searching-sourcegraph description: Use when the user needs to search or navigate code with Sourcegraph MCP tools. Provides disciplined search workflows for finding implementations, understanding systems, debugging issues, fixing bugs, and reviewing code. --- # Searching Sourcegraph Search before you build. Existing patterns reduce tokens, ensure consistency, and surface tested solutions. ## Tool Selection Logic **Start here:** 1. **Know the exact symbol or pattern?** → `keyword_search` 2. **Know the concept, not the code?** → `nls_search` 3. **Need to understand how/why?** → `deepsearch` → `deepsearch_read` 4. **Tracing a symbol's usage?** → `find_references` 5. **Need full implementation?** → `go_to_definition` → `read_file` 6. **Need to know what repos a user has worked on?** → `get_contributor_repos` | Goal | Tool | |------|------| | Concepts/semantic search | `nls_search` | | Exact code patterns | `keyword_search` | | Trace usage | `find_references` | | See implementation | `go_to_definition` | | Initiate a deep search | `deepsearch` | | Read deep search results | `deepsearch_read` | | Read files | `read_file` | | Browse structure | `list_files` | | Find repos | `list_repos` | | Search commits | `commit_search` | | Track changes | `diff_search` | | Compare versions | `compare_revisions` | | Find repos a user has worked on | `get_contributor_repos` | ## Scoping (Always Do This) ``` repo:^github.com/ORG/REPO$ # Exact repo (preferred) repo:github.com/ORG/ # All repos in org file:.*\.ts$ # TypeScript only file:src/api/ # Specific directory file:.*\.test\.ts$ -file:__mocks__ # Tests, exclude mocks ``` Start narrow. Expand only if results are empty. Combine filters: `repo:^github.com/myorg/backend$ file:src/handlers lang:typescript` ## Context-Aware Behaviour **When the user provides a file path or error message:** - Extract symbols, function names, or error codes - Search for those exact terms first - Trace references if the error involves a known symbol **When the user asks "how does X work":** - Use `deepsearch` to initiate the search, then `deepsearch_read` to retrieve results - Follow up with `read_file` on key files mentioned in the response **When the user asks who worked on something or what repos a contributor has touched:** - Use `get_contributor_repos` with one or more usernames to discover their active repositories - Then scope subsequent searches to those repos **When the user is implementing a new feature:** - Search for similar existing implementations first - Read tests for usage examples - Check for shared utilities before creating new ones **When troubleshooting an error, build failure, or runtime exception:** - Extract exact symbols, error codes, or log lines from the stack trace or build output - Search for the error site, then trace the full call chain with `find_references` - Check recent changes with `diff_search` and `commit_search` early — regressions are common - Identify all affected code paths and services before proposing a fix **When fixing a bug:** - Extract exact symbols from the error message or stack trace - Search for the error site, then trace the full call chain with `find_references` - Check recent changes with `diff_search` and `commit_search` early — regressions are common - Find all affected code paths before writing the fix - Read existing tests to understand intended behaviour ## Workflows For detailed step-by-step workflows, see: - `workflows/implementing-feature.md` — when building new features - `workflows/understanding-code.md` — when exploring unfamiliar systems - `workflows/debugging-issue.md` — when troubleshooting errors, build failures, stack traces, support issues, or runtime exceptions - `workflows/fixing-bug.md` — when fixing bugs with extensive Sourcegraph search - `workflows/code-review.md` — when reviewing a pull request or changeset ## Efficiency Rules **Minimise tool calls:** - Chain searches logically: search → read → references → definition - Don't re-search for the same pattern; use results from prior calls - Prefer `keyword_search` over `nls_search` when you have exact terms (faster, more precise) **Batch your understanding:** - Read 2-3 related files before synthesising, rather than reading one and asking questions - Use `deepsearch` + `deepsearch_read` for "how does X work" instead of multiple keyword searches **Avoid common token waste:** - Don't search all repos when you know the target repo - Don't use `deepsearch` for simple "find all" queries — `keyword_search` is faster - Don't re-read files you've already seen in this conversation ## Query Patterns | Intent | Query | |--------|-------| | React hooks | `file:.*\.tsx$ use[A-Z].*= \(` | | API routes | `file:src/api app\.(get\|post\|put\|delete)` | | Error handling | `catch.*Error\|\.catch\(` | | Type definitions | `file:types/ export (interface\|type)` | | Test setup | `file:.*\.test\. beforeEach\|beforeAll` | | Config files | `file:(webpack\|vite\|rollup)\.config` | | CI/CD | `file:\.github/workflows deploy` | For more patterns, see `query-patterns.md`. ## Output Formatting **Search results:** - Present as a brief summary, not raw tool output - Highlight the most relevant file and line - Include a code snippet only if it directly answers the question **Code explanations:** - Start with a one-sentence summary - Use the codebase's own terminology - Reference specific files and functions **Recommendations:** - Present as numbered steps if actionable - Link to specific patterns found in the codebase - Note any existing utilities that should be reused ## Common Mistakes | Mistake | Fix | |---------|-----| | Searching all repos | Add `repo:^github.com/org/repo$` | | Too many results | Add `file:` pattern or keywords | | Missing relevant code | Try `nls_search` for semantic matching | | Not understanding context | Use `deepsearch_read` | | Guessing patterns | Read implementations with `read_file` | ## Principles - Start narrow, expand if needed - Chain tools: search → read → find references → definition - Check tests for usage examples - Read before generating
© cline · Apache-2.0 · cline/skills