grepai-search-tips — Claude Code skill: writing GrepAI queries
A skill that teaches the agent to phrase GrepAI semantic queries around intent instead of function names. Useful when code search returns noise.
npx skills add yoanbernabeu/grepai-skills --skill grepai-search-tips -a claude-codeWhat grepai-search-tips does
The skill rewrites how you ask GrepAI for code. Its rules: describe intent rather than implementation, keep queries to 3–7 words, write in English, add context. A comparison table sets semantic search against plain grep, with paired bad and good examples.
Score interpretation gets its own section. A match at 0.85 or above means the code probably does what you described. Scores from 0.70 to 0.84 are adjacent functionality. Below 0.60 the concept may not exist in the codebase at all. When nothing comes back, the skill suggests checking the index with grepai status, dropping specificity, or swapping in synonyms.
The split is deliberate: exact names belong to grep -r, GrepAI is for when you don't know the name. Keep that in mind or a query like getUserById will underperform. The skill installs into Claude, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode.
What it helps with
- rephrase a GrepAI query when results miss the target
- find code by behavior without knowing the function name
- read match scores and decide whether to trust a hit
- check whether a file is indexed before rewriting the query
- try synonyms after a first phrasing falls flat
Example prompts for the agent
- Help me rephrase this GrepAI query: I'm looking for code that validates credentials before login
- GrepAI returned low scores, what's wrong with my query?
- How do I search error handling with GrepAI when I don't know the function names?
How to install grepai-search-tips
1Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-search-tips -a claude-code2Manually: put the files in place
~/.claude/skills/grepai-search-tips/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/grepai-search-tips/
1Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-search-tips -a codex2Manually: put the files in place
.agents/skills/grepai-search-tips/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-search-tips -a cursor2Manually: put the files in place
.cursor/skills/grepai-search-tips/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install yoanbernabeu/grepai-skills grepai-search-tips2Manually: put the files in place
.github/skills/grepai-search-tips/SKILL.md1Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-search-tips -a gemini-cli2Platform CLI
gemini skills install https://github.com/yoanbernabeu/grepai-skills --path skills/search/grepai-search-tipsManually: put the files in place
.devin/skills/grepai-search-tips/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-search-tips -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about grepai-search-tips
How do I install grepai-search-tips in Claude?
Run npx skills add yoanbernabeu/grepai-skills --skill grepai-search-tips -a claude-code. The skill lands at ~/.claude/skills/grepai-search-tips/SKILL.md.
What does grepai-search-tips do?
It gives the agent rules for GrepAI semantic queries: describe intent, use 3–7 words, write in English. It also explains how to read match scores.
How is this different from plain grep?
GrepAI matches meaning, grep matches exact text. The skill says so directly: use grep -r when you know the exact name, semantic search when you don't.
Source text
SKILL.md · MIT
---
name: grepai-search-tips
description: Tips and best practices for effective GrepAI searches. Use this skill to improve search result quality.
---
# GrepAI Search Tips
This skill provides tips and best practices for writing effective semantic search queries.
## When to Use This Skill
- Improving search result quality
- Learning semantic search techniques
- Understanding how to phrase queries
- Troubleshooting poor search results
## Semantic Search Mindset
Think differently from text search:
| Text Search (grep) | Semantic Search (GrepAI) |
|--------------------|--------------------------|
| Search for exact text | Search for meaning/intent |
| "getUserById" | "retrieve user from database by ID" |
| Literal match | Conceptual match |
## Query Writing Principles
### 1. Describe Intent, Not Implementation
❌ **Bad:** `getUserById`
✅ **Good:** `fetch user record from database using ID`
❌ **Bad:** `handleError`
✅ **Good:** `error handling and response to client`
❌ **Bad:** `validateInput`
✅ **Good:** `check if user input is valid and safe`
### 2. Use Descriptive Language
❌ **Bad:** `auth`
✅ **Good:** `user authentication and authorization`
❌ **Bad:** `db`
✅ **Good:** `database connection and queries`
❌ **Bad:** `config`
✅ **Good:** `application configuration loading`
### 3. Be Specific About Context
❌ **Bad:** `validation`
✅ **Good:** `validate email address format`
❌ **Bad:** `parse`
✅ **Good:** `parse JSON request body`
❌ **Bad:** `send`
✅ **Good:** `send email notification to user`
### 4. Use 3-7 Words
| Length | Example | Quality |
|--------|---------|---------|
| Too short | "auth" | ⚠️ Vague |
| Good | "user authentication middleware" | ✅ Specific |
| Too long | "the code that handles user authentication and validates JWT tokens in the middleware layer" | ⚠️ Verbose |
### 5. Use English
Embedding models are trained primarily on English:
❌ `authentification utilisateur` (French)
✅ `user authentication`
Even if your code comments are in another language, English queries work best.
## Query Patterns
### Finding Code by Behavior
```bash
grepai search "validate user credentials before login"
grepai search "send notification when order is placed"
grepai search "calculate total price with discounts"
grepai search "retry failed HTTP requests"
```
### Finding Code by Purpose
```bash
grepai search "middleware that checks authentication"
grepai search "function that formats dates"
grepai search "service that sends emails"
grepai search "handler for payment processing"
```
### Finding Error Handling
```bash
grepai search "handle errors from API calls"
grepai search "catch and log exceptions"
grepai search "error response to client"
grepai search "validation error messages"
```
### Finding Data Operations
```bash
grepai search "save user to database"
grepai search "query products by category"
grepai search "cache frequently accessed data"
grepai search "transform data before storage"
```
### Finding Configuration
```bash
grepai search "load configuration from environment"
grepai search "database connection settings"
grepai search "API keys and secrets management"
grepai search "feature flags and toggles"
```
### Finding Security Code
```bash
grepai search "password hashing and verification"
grepai search "input sanitization to prevent injection"
grepai search "rate limiting for API endpoints"
grepai search "CORS configuration"
```
## Iterative Refinement
If results aren't good, iterate:
### Start Broad
```bash
grepai search "authentication"
# Results too varied
```
### Add Context
```bash
grepai search "JWT authentication"
# Better, but still broad
```
### Be Specific
```bash
grepai search "JWT token validation middleware"
# Precise results
```
## Using Synonyms
Semantic search understands synonyms. Try different phrasings:
```bash
# These may return similar results:
grepai search "user authentication"
grepai search "user login verification"
grepai search "credential validation"
grepai search "identity verification"
```
## Domain-Specific Terms
Use your domain vocabulary:
```bash
# E-commerce
grepai search "shopping cart checkout process"
grepai search "inventory stock management"
# Finance
grepai search "transaction processing"
grepai search "payment reconciliation"
# Healthcare
grepai search "patient record retrieval"
grepai search "appointment scheduling"
```
## Question-Style Queries
Natural questions work well:
```bash
grepai search "how are users authenticated"
grepai search "where is the database connection configured"
grepai search "what happens when a request fails"
grepai search "how are errors logged"
```
## Avoiding Common Mistakes
### ❌ Don't Use Exact Function Names
If you know the exact name, use grep:
```bash
grep -r "getUserById" . # Text search
```
GrepAI is for when you don't know the exact name:
```bash
grepai search "retrieve user from database" # Semantic search
```
### ❌ Don't Be Too Abstract
```bash
# Too abstract
grepai search "business logic"
# More concrete
grepai search "calculate order total with tax"
```
### ❌ Don't Use Code Syntax
```bash
# Don't do this
grepai search "function() { return }"
# Do this
grepai search "function that returns early"
```
### ❌ Don't Over-Specify
```bash
# Over-specified (mentions irrelevant details)
grepai search "async function in TypeScript file that uses axios to fetch"
# Better
grepai search "fetch data from external API"
```
## Interpreting Results
### High Scores (0.85+)
Strong match. The code likely does what you described.
### Medium Scores (0.70-0.84)
Related code. May be what you want, or adjacent functionality.
### Low Scores (0.60-0.69)
Loosely related. Consider refining your query.
### Very Low Scores (<0.60)
Weak match. The concept may not exist in the codebase, or query needs rework.
## When GrepAI Doesn't Find Results
1. **Check the index:** `grepai status`
2. **Verify files are indexed:** Not in ignore patterns?
3. **Try simpler query:** Remove specificity
4. **Try different words:** Use synonyms
5. **Check if code exists:** Maybe it doesn't yet!
## Quick Reference Card
| Situation | Query Style |
|-----------|-------------|
| Know the behavior | "validates email format" |
| Know the domain | "payment processing flow" |
| Exploring | "how errors are handled" |
| Finding entry points | "main application startup" |
| Finding dependencies | "where database is connected" |
## Output Format
Tips summary:
```
📝 GrepAI Search Tips
✅ DO:
- Describe intent, not implementation
- Use 3-7 descriptive words
- Use English queries
- Iterate and refine
❌ DON'T:
- Use exact function names (use grep)
- Write too short queries ("auth")
- Write too long queries
- Use code syntax in queries
Example transformations:
"auth" → "user authentication and login"
"getUserById" → "fetch user by ID from database"
"handleError" → "error handling and logging"
```
© yoanbernabeu · MIT · yoanbernabeu/grepai-skills