searching-sourcegraph — Claude Code skill: code search via Sourcegraph
Tells the agent which Sourcegraph MCP tool to reach for and in what order. Useful when you need to find an implementation or make sense of an unfamiliar system.
npx skills add cline/skills --skill searching-sourcegraph -a claude-codeWhat searching-sourcegraph does
The skill maps each kind of question to a tool. Exact symbol or pattern goes to keyword_search, a concept without known code goes to nls_search, and a "how does this work" question starts with deepsearch then deepsearch_read. Tracing usage is find_references; pulling the full implementation is go_to_definition followed by read_file.
Scoping gets its own section. The agent is told to narrow with repo:^github.com/ORG/REPO$, file:.*\.ts$ and lang:typescript, and widen only when results come back empty. There are situation-specific chains too. Given an error or stack trace, the skill extracts symbols and error codes first, finds the failure site, then walks the call chain. During debugging it advises checking diff_search and commit_search early, since regressions are common.
Five workflow files ship with it: implementing-feature.md, understanding-code.md, debugging-issue.md, fixing-bug.md, code-review.md. There is also a table of common mistakes and ready-made query patterns for React hooks, API routes and build configs. None of it fires without a Sourcegraph MCP server connected — the tools it names simply won't be available.
What it helps with
- find an existing implementation before writing a new one
- trace every place a function or class is used
- get oriented in an unfamiliar codebase by asking how things work
- locate a crash site from a stack trace and error code
- check recent commits and diffs when a regression is suspected
Example prompts for the agent
- Find every call site of
parseTokeninrepo:^github.com/myorg/backend$and show me the implementation. - How does auth work in this repo? Run deepsearch and read the key files it returns.
- Here's the stack trace:
TypeError: Cannot read property 'id' of undefined. Find the failure site and trace the call chain.
How to install searching-sourcegraph
1Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a claude-code2Manually: put the files in place
~/.claude/skills/searching-sourcegraph/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/searching-sourcegraph/
1Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a codex2Manually: put the files in place
.agents/skills/searching-sourcegraph/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a cursor2Manually: put the files in place
.cursor/skills/searching-sourcegraph/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install cline/skills searching-sourcegraph2Manually: put the files in place
.github/skills/searching-sourcegraph/SKILL.md1Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a gemini-cli2Platform CLI
gemini skills install https://github.com/cline/skills --path skills/searching-sourcegraphManually: put the files in place
.devin/skills/searching-sourcegraph/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add cline/skills --skill searching-sourcegraph -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about searching-sourcegraph
How do I install searching-sourcegraph in Claude?
Run npx skills add cline/skills --skill searching-sourcegraph -a claude-code. The skill file then lands at ~/.claude/skills/searching-sourcegraph/SKILL.md.
What does searching-sourcegraph do?
It tells the agent which Sourcegraph tool fits the task and sets the search order: scope down, find, read, follow references. It also ships five workflow files for common scenarios.
What do I need for the skill to work?
A connected Sourcegraph MCP server. Without it the tools the skill names, such as keyword_search and deepsearch, aren't available to the agent.
Source text
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