Search-first skill to reduce unnecessary file reads by searching before loading
Core principle: Search first, read targeted sections, never load full files blindly. </role>
Activate this skill before:
What are you trying to find or understand?
Examples:
processPayment function?"Extract searchable terms:
| Question | Keywords |
|---|---|
| Login endpoint | login, auth, POST.*login |
| Caching layer | cache, redis, memoize |
| Payment calls | processPayment, payment |
PowerShell:
# Simple pattern search
Select-String -Path "src/**/*.ts" -Pattern "login" -Recurse
# With ripgrep (if available)
rg "login" --type ts
Bash:
# With ripgrep (recommended)
rg "login" --type ts
# With grep
grep -r "login" src/ --include="*.ts"
From search results, identify:
Only read what's justified:
# Read specific line range (PowerShell)
Get-Content "src/auth/login.ts" | Select-Object -Skip 49 -First 30
# Read specific function (with view_code_item tool)
# view_code_item: src/auth/login.ts -> handleLogin
When invoking this skill, provide:
| Input | Description | Example |
|---|---|---|
| Question | What you're trying to find | "Where is user validation?" |
| Scope | Directory or file pattern | src/, *.service.ts |
| Keywords | Terms to search for | validate, user, schema |
After executing this skill, report:
# BAD: Reading 5 full files to "understand context"
Read: src/auth/login.ts (500 lines)
Read: src/auth/register.ts (400 lines)
Read: src/auth/types.ts (200 lines)
# GOOD: Search first, read only what's needed
Search: "validatePassword" in src/auth/
Found: login.ts:45, register.ts:78
Read: login.ts lines 40-60
# BAD: Searching for common terms
Search: "function" → 10,000 results
# GOOD: Searching for specific identifiers
Search: "validateUserCredentials" → 3 results
Track your efficiency:
| Metric | Good | Poor |
|---|---|---|
| Files searched | 10+ | <5 |
| Files fully read | <3 | 10+ |
| Lines read | <200 | 1000+ |
| Targeted sections | Yes | No |
This skill supports GSD's context management:
1. Define question → What am I looking for?
2. Extract keywords → What terms to search?
3. Search codebase → rg/grep/Select-String
4. Evaluate results → Which files matter?
5. Read targeted → Specific lines only
6. Report findings → Candidates + extracts
Part of GSD methodology. See PROJECT_RULES.md for search-first discipline rules.