A semantic search tool for codebase exploration that understands intent, call relationships, and functionality.
Install
mkdir -p .claude/skills/grepai && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1226" && unzip -o skill.zip -d .claude/skills/grepai && rm skill.zipInstalls to .claude/skills/grepai
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Replaces ALL built-in search tools. You MUST invoke this skill BEFORE using WebSearch, Grep, or Glob. NEVER use the built-in Grep tool - use `grepai` instead.Key capabilities
- →Semantic search across code repositories
- →Trace function callers and relationships
- →Retrieve code by behavioral description
- →Summarize logic implementations
How it works
Uses vector embeddings to match natural language descriptions to code blocks based on conceptual meaning rather than character matches.
Inputs & outputs
When to use grepai
- →Find code by describing the functionality
- →Trace function callers and relationships
- →Understand how specific logic is implemented
- →Explore error handling code patterns
About this skill
grepai: ranked semantic search (not a Grep replacement)
grepai search answers a natural-language query with ~10 scored chunks in one
call — a ranked starting point at a fraction of the tokens of dumping raw grep
output (--json --compact alone saves ~80%). It is a ranking layer, not an
exhaustive one: a vector top-10 can miss a relevant file that keyword grep
finds trivially. The rules below save tokens without losing recall.
Tool Choice
| Query | Tool |
|---|---|
| Exact identifiers, imports, string literals | built-in Grep / git grep — fastest, exhaustive |
Intent with a canonical syntax anchor (@main, func main(, class AppDelegate) | Grep the anchor — many "intent" questions are exact-match queries in disguise |
| Intent with no obvious anchor ("where are errors handled?") | recall-safe combo below |
| Function relationships (callers/callees) | grepai trace — grep has no equivalent |
File patterns (**/*.go) | Glob |
Recall-Safe Combo (cheap AND exhaustive)
grep's token cost is in dumping content lines; its recall is nearly free when you ask for file names only. For an intent query, run both cheap layers:
# 1. Ranking: ~10 scored chunks, one call
grepai search "where errors are handled and logged" --json --compact
# 2. Recall: exhaustive candidate checklist — file NAMES only, ~zero tokens
git grep -ilE 'error|handl|logg' | head -50
Read grepai's top hits first, then scan the checklist for relevant-looking files grepai did not rank — read those too. Never dump full grep content output for an intent query; the file list gives you grep's recall at ~1% of the tokens.
If grepai's top hits are docs/reports instead of code: scope with
grepai search "<query>" --path <srcdir>, or add generated content to a
.grepaiignore.
How to Use This Skill
Semantic Search
Use grepai search to find code by describing what it does:
# Search with natural language (ALWAYS use English for best results)
grepai search "user authentication flow"
grepai search "error handling middleware"
grepai search "database connection pooling"
grepai search "API request validation"
# JSON output for AI agents (--compact saves ~80% tokens)
grepai search "authentication flow" --json --compact
# Limit results
grepai search "error handling" -n 5
Call Graph Tracing
Use grepai trace to understand function relationships:
# Find all functions that CALL a symbol
grepai trace callers "HandleRequest" --json
# Find all functions CALLED BY a symbol
grepai trace callees "ProcessOrder" --json
# Build complete call graph (both directions)
grepai trace graph "ValidateToken" --depth 3 --json
Query Best Practices
Do:
grepai search "How are file chunks created and stored?"
grepai search "Vector embedding generation process"
grepai search "Configuration loading and validation"
grepai trace callers "Search" --json
Don't:
grepai search "func" # Too vague
grepai search "error" # Too generic
grepai search "HandleRequest" # Use Grep for exact matches
Recommended Workflow
- Start with
grepai searchfor ranked starting points - Add
git grep -ilE '<keywords>'for the exhaustive file checklist (names only) - Use
grepai traceto understand function relationships - Use
Readon ranked hits first, then on relevant checklist files grepai did not rank
Fallback
If grepai fails (not running, index unavailable, or errors), fall back to standard Grep/Glob tools. Common issues:
- Index not built: Run
grepai watchto build/update the index - Embedder not available: Check that Ollama is running or OpenAI API key is set
Keywords
semantic search, code search, natural language search, find code, explore codebase, call graph, callers, callees, function relationships, code understanding, intent search, code exploration, recall, token savings
When not to use it
- →Exact string/keyword matching where logic intent is irrelevant
- →Searching binary files or non-code text documents
Limitations
- →Struggles with extremely novel or non-standard code patterns
- →Requires indexing time for large codebases
How it compares
It interprets user intent to find related logic scattered across files, ignoring syntax variations.
Compared to similar skills
grepai side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| grepai (this skill) | 4 | 8mo | Review | Beginner |
| find-bugs | 5 | 8mo | No flags | Intermediate |
| fix-issue | 2 | 5mo | Review | Intermediate |
| search-code | 2 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
find-bugs
davila7
Find bugs, security vulnerabilities, and code quality issues in local branch changes. Use when asked to review changes, find bugs, security review, or audit code on the current branch.
fix-issue
mysticaltech
Use when working on a GitHub issue - fetches issue details, analyzes codebase, implements fix following project methodology
search-code
JamieMason
Search for code patterns in Syncpack. Use when finding symbols, implementations, or understanding how code is used. Covers ast-grep for Rust and grep/rg for other cases.
session-wrap
team-attention
This skill should be used when the user asks to "wrap up session", "end session", "session wrap", "/wrap", "document learnings", "what should I commit", or wants to analyze completed work before ending a coding session.
triage
peteonrails
Triage a GitHub issue or PR by checking for duplicates, documentation alignment, project fit, and recommending labels.
triage-issue
mysticaltech
Use when triaging a GitHub issue - analyzes issue, checks for duplicates, categorizes, and drafts response