Tips and best practices for effective GrepAI searches. Use this skill to improve search result quality.
This skill provides tips and best practices for writing effective semantic search queries.
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 |
❌ 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
❌ Bad: auth
✅ Good: user authentication and authorization
❌ Bad: db
✅ Good: database connection and queries
❌ Bad: config
✅ Good: application configuration loading
❌ Bad: validation
✅ Good: validate email address format
❌ Bad: parse
✅ Good: parse JSON request body
❌ Bad: send
✅ Good: send email notification to user
| 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 |
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.
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"
grepai search "middleware that checks authentication"
grepai search "function that formats dates"
grepai search "service that sends emails"
grepai search "handler for payment processing"
grepai search "handle errors from API calls"
grepai search "catch and log exceptions"
grepai search "error response to client"
grepai search "validation error messages"
grepai search "save user to database"
grepai search "query products by category"
grepai search "cache frequently accessed data"
grepai search "transform data before storage"
grepai search "load configuration from environment"
grepai search "database connection settings"
grepai search "API keys and secrets management"
grepai search "feature flags and toggles"
grepai search "password hashing and verification"
grepai search "input sanitization to prevent injection"
grepai search "rate limiting for API endpoints"
grepai search "CORS configuration"
If results aren't good, iterate:
grepai search "authentication"
# Results too varied
grepai search "JWT authentication"
# Better, but still broad
grepai search "JWT token validation middleware"
# Precise results
Semantic search understands synonyms. Try different phrasings:
# These may return similar results:
grepai search "user authentication"
grepai search "user login verification"
grepai search "credential validation"
grepai search "identity verification"
Use your domain vocabulary:
# 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"
Natural questions work well:
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"
If you know the exact name, use grep:
grep -r "getUserById" . # Text search
GrepAI is for when you don't know the exact name:
grepai search "retrieve user from database" # Semantic search
# Too abstract
grepai search "business logic"
# More concrete
grepai search "calculate order total with tax"
# Don't do this
grepai search "function() { return }"
# Do this
grepai search "function that returns early"
# 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"
Strong match. The code likely does what you described.
Related code. May be what you want, or adjacent functionality.
Loosely related. Consider refining your query.
Weak match. The concept may not exist in the codebase, or query needs rework.
grepai status| 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" |
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"