grepai-search-advanced

GrepAI Advanced Search Options

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "grepai-search-advanced" with this command: npx skills add yoanbernabeu/grepai-skills/yoanbernabeu-grepai-skills-grepai-search-advanced

GrepAI Advanced Search Options

This skill covers advanced search options including JSON output, compact mode, and integration with AI agents.

When to Use This Skill

  • Integrating GrepAI with scripts or tools

  • Using GrepAI with AI agents (Claude, GPT)

  • Processing search results programmatically

  • Reducing token usage in AI contexts

Command-Line Options

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: --json and --toon are mutually exclusive.

JSON Output

Standard JSON

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 }

Compact JSON (AI Optimized)

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:

  • Abbreviated keys (s vs score , f vs file )

  • No content (just file locations)

  • ~80% fewer tokens for AI agents

TOON Output (v0.26.0+)

TOON (Token-Oriented Object Notation) is an even more compact format, optimized for AI agents.

Standard TOON

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

Compact TOON (Best for AI)

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

TOON vs JSON Comparison

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

When to Use TOON

  • Use TOON when integrating with AI agents that support it

  • Use TOON compact for maximum token efficiency (~50% smaller than JSON compact)

  • Stick with JSON for traditional scripting (jq, programming languages)

Compact Format Reference

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

Combining Options

5 results in compact JSON

grepai search "error handling" --limit 5 --json --compact

20 results in full JSON

grepai search "database" --limit 20 --json

AI Agent Integration

For Claude/GPT Prompts

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.

Workflow Example

  • Search for relevant code:

grepai search "authentication middleware" --json --compact --limit 3

  • Get response:

{ "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 }

  • Read specific files: AI reads src/auth/middleware.go:15-45 for full context.

Scripting with JSON

Bash + jq

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'

Python

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']}")

Node.js

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}); });

MCP Integration

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 , format

grepai_index_status

format

Format Parameter

{ "name": "grepai_search", "arguments": { "query": "authentication", "format": "toon", "compact": true } }

Valid values: "json" (default) or "toon"

Token Optimization

Token Comparison

For a typical search with 5 results:

Format Approximate Tokens

Human-readable ~2,000

JSON full ~1,500

JSON compact ~300

When to Use Each Format

Format Use Case

Human-readable Manual inspection

JSON full Scripts needing content

JSON compact AI agents, token-limited contexts

Piping Results

To File

grepai search "authentication" --json > results.json

To Another Tool

Open results in VS Code

grepai search "config" --json | jq -r '.results[0].file' | xargs code

Copy first result path to clipboard (macOS)

grepai search "config" --json | jq -r '.results[0].file' | pbcopy

Batch Searches

Run multiple searches:

#!/bin/bash queries=("authentication" "database" "logging" "error handling")

for q in "${queries[@]}"; do echo "=== $q ===" grepai search "$q" --json --compact --limit 3 echo done

Error Handling

JSON Error Response

When search fails:

{ "error": "Index not found. Run 'grepai watch' first.", "code": "INDEX_NOT_FOUND" }

Checking for Errors in Scripts

result=$(grepai search "query" --json) if echo "$result" | jq -e '.error' > /dev/null 2>&1; then echo "Error: $(echo "$result" | jq -r '.error')" exit 1 fi

Best Practices

  • Use compact for AI agents: 80% token savings

  • Use full JSON for scripts: When you need content

  • Use human-readable for debugging: Easier to read

  • Limit results appropriately: Don't fetch more than needed

  • Check for errors: Parse JSON response properly

Output Format

Advanced search output (JSON compact):

{ "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 }

Token estimate: ~80 tokens (vs ~800 for full content)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

grepai-search-basics

No summary provided by upstream source.

Repository SourceNeeds Review
General

grepai-search-tips

No summary provided by upstream source.

Repository SourceNeeds Review
General

grepai-trace-graph

No summary provided by upstream source.

Repository SourceNeeds Review
General

grepai-trace-callers

No summary provided by upstream source.

Repository SourceNeeds Review