Structured code search with JSON, TOON, and compact output formats optimized for AI agents.
Works with
Supports three output formats: standard JSON, compact JSON (80% fewer tokens), and TOON notation (50% more compact than JSON)
Includes --limit , --json , --toon , and --compact command-line options for controlling result volume and token usage
Integrates with MCP servers and AI agents (Claude, GPT) through format selection parameters
Works with scripting tools (jq, Python, Node.js) and supp
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versiongrepai-search-advancedExecute the skills CLI command in your project's root directory to begin installation:
Fetches grepai-search-advanced from yoanbernabeu/grepai-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate grepai-search-advanced. Access via /grepai-search-advanced in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
16
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
16
stars
This skill covers advanced search options including JSON output, compact mode, and integration with AI agents.
| Option | Description |
|---|---|
--limit N |
Number of results (default: 10) |
--json / -j |
JSON output format |
--toon / -t |
TOON output format (~50% fewer tokens than JSON) |
--compact / -c |
Compact output (no content, works with --json or --toon) |
Note:
--jsonand--toonare mutually exclusive.
grepai search "authentication" --json
Output:
{
"query": "authentication",
"results": [
{
"score": 0.89,
"file": "src/auth/middleware.go",
"start_line": 15,
"end_line": 45,
"content": "func AuthMiddleware() gin.HandlerFunc {\n return func(c *gin.Context) {\n token := c.GetHeader(\"Authorization\")\n if token == \"\" {\n c.AbortWithStatus(401)\n return\n }\n claims, err := ValidateToken(token)\n ...\n }\n}"
},
{
"score": 0.82,
"file": "src/auth/jwt.go",
"start_line": 23,
"end_line": 55,
"content": "func ValidateToken(tokenString string) (*Claims, error) {\n ..."
}
],
"total": 2
}
grepai search "authentication" --json --compact
Output:
{
"q": "authentication",
"r": [
{
"s": 0.89,
"f": "src/auth/middleware.go",
"l": "15-45"
},
{
"s": 0.82,
"f": "src/auth/jwt.go",
"l": "23-55"
}
],
"t": 2
}
Key differences:
s vs score, f vs file)TOON (Token-Oriented Object Notation) is an even more compact format, optimized for AI agents.
grepai search "authentication" --toon
Output:
[2]{content,end_line,file_path,score,start_line}:
"func AuthMiddleware()...",45,src/auth/middleware.go,0.89,15
"func ValidateToken()...",55,src/auth/jwt.go,0.82,23
grepai search "authentication" --toon --compact
Output:
[2]{end_line,file_path,score,start_line}:
45,src/auth/middleware.go,0.89,15
55,src/auth/jwt.go,0.82,23
| Format | Tokens (5 results) | Best For |
|---|---|---|
| JSON | ~1,500 | Scripts, parsing |
| JSON compact | ~300 | AI agents |
| TOON | ~250 | AI agents |
| TOON compact | ~150 | Token-constrained AI |
| Full Key | Compact Key | Description |
|---|---|---|
query |
q |
Search query |
results |
r |
Results array |
score |
s |
Similarity score |
file |
f |
File path |
start_line/end_line |
l |
Line range ("15-45") |
total |
t |
Total results |
# 5 results in compact JSON
grepai search "error handling" --limit 5 --json --compact
# 20 results in full JSON
grepai search "database" --limit 20 --json
Use compact mode to minimize tokens:
# Agent asks for context
grepai search "payment processing" --json --compact --limit 5
Then provide results to the AI with file read tool for details.
grepai search "authentication middleware" --json --compact --limit 3
{
"q": "authentication middleware",
"r": [
{"s": 0.92, "f": "src/auth/middleware.go", "l": "15-45"},
{"s": 0.85, "f": "src/auth/jwt.go", "l": "23-55"},
{"s": 0.78, "f": "src/handlers/auth.go", "l": "10-40"}
],
"t": 3
}
src/auth/middleware.go:15-45 for full context.# Get just file paths
grepai search "config" --json | jq -r '.results[].file'
# Filter by score
grepai search "config" --json | jq '.results[] | select(.score > 0.8)'
# Count results
grepai search "config" --json | jq '.total'
import subprocess
import json
result = subprocess.run(
['grepai', 'search', 'authentication', '--json'],
capture_output=True,
text=True
)
data = json.loads(result.stdout)
for r in data['results']:
print(f"{r['score']:.2f} | {r['file']}:{r['start_line']}")
const { execSync } = require('child_process');
const output = execSync('grepai search "authentication" --json');
const data = JSON.parse(output);
data.results.forEach(r => {
console.log(`${r.score.toFixed(2)} | ${r.file}:${r.start_line}`);
});
GrepAI provides MCP tools with format selection (v0.26.0+):
# Start MCP server
grepai mcp-serve
MCP tools support JSON (default) or TOON format:
| MCP Tool | Parameters |
|---|---|
grepai_search |
query, limit, compact, format |
grepai_trace_callers |
symbol, compact, format |
grepai_trace_callees |
symbol, compact, format |
grepai_trace_graph |
symbol, depth, fo |