searching-sourcegraph

Original🇺🇸 English
Translated

Search Sourcegraph-indexed codebases for patterns, examples, and system understanding. Triggers on implementation questions, debugging, or "how does X work" queries.

5installs

NPX Install

npx skill4agent add sourcegraph-community/sourcegraph-skill searching-sourcegraph

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?
    sg_keyword_search
  2. Know the concept, not the code?
    sg_nls_search
  3. Need to understand how/why?
    sg_deepsearch_read
  4. Tracing a symbol's usage?
    sg_find_references
  5. Need full implementation?
    sg_go_to_definition
    sg_read_file
GoalTool
Concepts/semantic search
sg_nls_search
Exact code patterns
sg_keyword_search
Trace usage
sg_find_references
See implementation
sg_go_to_definition
Understand systems
sg_deepsearch_read
Read files
sg_read_file
Browse structure
sg_list_files
Find repos
sg_list_repos
Search commits
sg_commit_search
Track changes
sg_diff_search
Compare versions
sg_compare_revisions

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":
  • Prefer
    sg_deepsearch_read
    for architectural understanding
  • Follow up with
    sg_read_file
    on key files mentioned in the response
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 debugging:
  • Search for the exact error string
  • Trace the symbol where the error is thrown
  • Check recent changes with
    sg_diff_search

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 tracking down bugs

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
    sg_keyword_search
    over
    sg_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
    sg_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
    sg_deepsearch_read
    for simple "find all" queries
  • Don't re-read files you've already seen in this conversation

Query Patterns

IntentQuery
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

MistakeFix
Searching all reposAdd
repo:^github.com/org/repo$
Too many resultsAdd
file:
pattern or keywords
Missing relevant codeTry
sg_nls_search
for semantic matching
Not understanding contextUse
sg_deepsearch_read
Guessing patternsRead implementations with
sg_read_file

Principles

  • Start narrow, expand if needed
  • Chain tools: search → read → find references → definition
  • Check tests for usage examples
  • Read before generating