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.
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.
| 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 |
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.
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
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
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
grepai search for ranked starting pointsgit grep -ilE '<keywords>' for the exhaustive file checklist (names only)grepai trace to understand function relationshipsRead on ranked hits first, then on relevant checklist files grepai did not rankIf grepai fails (not running, index unavailable, or errors), fall back to standard Grep/Glob tools. Common issues:
grepai watch to build/update the indexsemantic 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
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer