Help us improve
Share bugs, ideas, or general feedback.
From beacon
Performs hybrid semantic + keyword + BM25 code search via Beacon index. Intercepts grep and redirects to Beacon for better results, outputting scored file paths, line ranges, and previews.
npx claudepluginhub sagarmk/beacon-pluginHow this skill is triggered — by the user, by Claude, or both
Slash command
/beacon:semantic-searchThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This repo has a Beacon hybrid search index combining semantic embeddings, BM25 keyword matching, and identifier boosting. **Beacon is enforced as the default search** — grep is automatically intercepted and redirected to Beacon for queries it handles better.
Performs semantic code searches by intent (e.g., 'error handling logic', 'database connection pooling') and hybrid searches with exact terms (e.g., 'JWT token validation'). Includes code context (-c), JSON output, for exploring unfamiliar codebases.
Performs semantic searches on codebases using natural language queries to locate orchestration logic, definitions, and call flows, with snippets, scores, and trace/skeleton options.
Searches codebases semantically with natural language queries to find implementations by concept (e.g., 'where is X', 'how does Y work'). Returns file paths, lines, and snippets.
Share bugs, ideas, or general feedback.
This repo has a Beacon hybrid search index combining semantic embeddings, BM25 keyword matching, and identifier boosting. Beacon is enforced as the default search — grep is automatically intercepted and redirected to Beacon for queries it handles better.
node ${CLAUDE_PLUGIN_ROOT}/scripts/search.js "<query>"
--top-k N — number of results (default: 10)--threshold F — minimum score cutoff (default: 0.35)--no-hybrid — disable hybrid, use pure vector search onlynode ${CLAUDE_PLUGIN_ROOT}/scripts/search.js "auth flow" "session handling" "token refresh"
Single HTTP round-trip for all queries. Returns grouped results.
JSON array of matches, each with:
file — file pathlines — line range (e.g. "45-78")similarity — vector cosine similarityscore — final hybrid score (when hybrid enabled)preview — first 300 chars of matched chunkGrep is denied and redirected to Beacon unless one of these conditions is met:
| Grep passes through when... | Example |
|---|---|
| Pattern has regex metacharacters | function\s+\w+ |
| Targets a specific file | path: "src/lib/db.js" |
output_mode is "count" | Counting occurrences |
| Pattern is <= 3 characters | fs, db |
| Dotted identifier | fs.readFileSync, path.join |
Path-like pattern (contains / or \) | src/components |
output_mode is "content" | Viewing matching lines |
| Quoted string literal | "use strict", 'Content-Type' |
| Annotation/marker pattern | TODO, FIXME, @param, #pragma |
| URL-like pattern | http://, localhost:3000 |
| Beacon index is unhealthy | DB missing, empty, dimension mismatch |
| Intercept disabled via config | intercept.enabled: false |
To disable interception entirely, set intercept.enabled: false in .claude/beacon.json.