Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Before searching a codebase, forces you to zero in on the target - what exactly are you looking for, what would it look like, where would it live, what else might it be called. Use when exploring unfamiliar code, searching for specific functionality, or when previous searches returned too many results.
.claude/skills/adityapeshave-sophos-zero-in/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 292% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 482% | 0% |
The #1 search failure: jumping straight to grep without thinking. You search "auth", get 200 results, grep again with "login", still garbage. The problem isn't the search - it's that you didn't zero in first. This skill forces the targeting that should happen BEFORE you hit enter.
Answer these four questions:
State it in one sentence. Be specific.
BAD: "authentication stuff"
GOOD: "the function that validates JWT tokens on API requests"If you can't state it in one sentence, you don't know what you're looking for.
Describe what you expect to find:
.ts, .py, .go, config file?)Example: "Probably a middleware function in TypeScript, imports jsonwebtoken
or jose, has 'verify' or 'validate' in the name, 20-50 lines"Based on project conventions:
src/, lib/, middleware/, utils/?)Example: "Likely in src/middleware/ or src/auth/, file probably named
auth.ts, jwt.ts, or middleware.ts"Check the project structure first if unsure:
bashls -la src/ find . -type d -name "*auth*" -o -name "*jwt*"
List synonyms, abbreviations, variations:
Example for JWT validation:
- verify, validate, check, authenticate
- jwt, token, bearer, authorization
- middleware, handler, guard, interceptorYour first search term is rarely the one the codebase uses.
Now search, using insights from scoping:
bash# Start with WHERE + ALIASES grep -r "verify.*token" src/middleware/ grep -r "jwt" src/auth/ # If needed, broaden grep -r "token" src/ --include="*.ts"
Before declaring "found it":
markdown## Search Scope **Looking for:** [one sentence] **Would look like:** [description] **Likely location:** [directories/files] **Search terms:** [list of aliases] ## Search Results Found: [file:line] Verified: [Yes/No - why]
User: "Find where we handle rate limiting"
Scoping:
> Looking for: The middleware or function that tracks request counts and returns 429 when limit exceeded > > Would look like: Middleware function, probably uses Redis or in-memory store, has "rate" or "limit" or "throttle" in name, checks request count, returns 429 > > Likely location: src/middleware/, maybe src/api/, file named rateLimit.ts or throttle.ts > > Search terms: rate, limit, throttle, 429, tooMany, requests
Search:
bash# Check structure first ls src/middleware/ # Found: auth.ts, cors.ts, rateLimit.ts <-- bingo # Verify grep -n "429\|rate\|limit" src/middleware/rateLimit.ts
Result: src/middleware/rateLimit.ts:23 - rateLimiter middleware using Redis, returns 429 after 100 req/min.
Verified: Yes - matches expected shape (middleware, uses Redis, returns 429).
Grepping "auth" in a 50k line codebase. 200+ results. Refined to "login". Still 80 results. Spent 20 minutes reading wrong files. Finally found it in src/middleware/session.ts - wasn't called "auth" or "login" anywhere. Should have asked "where would session validation live?" first.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 12,718 | 5,822 | -54% | 1 | 1 | 0% | 841 | 2,157 | +156% | 0 | 0 | — |
case-02 | fail→pass | 11,322 | 8,460 | -25% | 1 | 1 | 0% | 2,389 | 2,799 | +17% | 0 | 0 | — |
case-03 | fail→pass | 15,259 | 15,325 | +0% | 1 | 1 | 0% | 2,827 | 3,063 | +8% | 0 | 0 | — |
case-04 | pass→fail | 12,180 | 2,874 | -76% | 1 | 1 | 0% | 2,242 | 1,470 | -34% | 0 | 0 | — |
case-05 | fail→fail | 17,999 | 11,927 | -34% | 1 | 1 | 0% | 1,856 | 2,243 | +21% | 0 | 0 | — |
case-06 | pass→pass | 16,065 | 10,924 | -32% | 1 | 1 | 0% | 2,695 | 2,793 | +4% | 0 | 0 | — |
case-07 | fail→pass | 4,491 | 6,436 | +43% | 1 | 1 | 0% | 600 | 2,349 | +292% | 0 | 0 | — |
case-08 | pass→pass | 12,252 | 7,722 | -37% | 1 | 1 | 0% | 2,155 | 2,610 | +21% | 0 | 0 | — |
case-09 | fail→fail | 12,591 | 7,689 | -39% | 1 | 1 | 0% | 2,047 | 1,913 | -7% | 0 | 0 | — |
case-10 | fail→pass | 11,095 | 6,387 | -42% | 1 | 1 | 0% | 1,890 | 2,414 | +28% | 0 | 0 | — |
case-11 | fail→fail | 17,763 | 4,780 | -73% | 1 | 1 | 0% | 1,796 | 1,893 | +5% | 0 | 0 | — |
case-12 | pass→pass | 14,562 | 7,192 | -51% | 1 | 1 | 0% | 2,775 | 2,008 | -28% | 0 | 0 | — |
case-13 | fail→pass | 4,548 | 8,065 | +77% | 1 | 1 | 0% | 447 | 2,600 | +482% | 0 | 0 | — |
case-14 | fail→pass | 14,956 | 15,984 | +7% | 1 | 1 | 0% | 2,135 | 3,131 | +47% | 0 | 0 | — |
case-15 | fail→fail | 19,175 | 12,789 | -33% | 1 | 1 | 0% | 2,876 | 2,910 | +1% | 0 | 0 | — |
case-16 | pass→pass | 9,857 | 8,628 | -12% | 1 | 1 | 0% | 1,874 | 2,912 | +55% | 0 | 0 | — |
case-17 | fail→fail | 10,372 | 10,127 | -2% | 1 | 1 | 0% | 1,994 | 2,854 | +43% | 0 | 0 | — |
case-18 | fail→fail | 16,094 | 7,495 | -53% | 1 | 1 | 0% | 2,213 | 1,652 | -25% | 0 | 0 | — |
case-19 | fail→pass | 12,904 | 10,401 | -19% | 1 | 1 | 0% | 2,491 | 2,640 | +6% | 0 | 0 | — |
case-20 | pass→fail | 14,854 | 4,411 | -70% | 1 | 1 | 0% | 2,857 | 1,817 | -36% | 0 | 0 | — |
case-21 | fail→pass | 19,047 | 9,719 | -49% | 1 | 1 | 0% | 3,460 | 2,663 | -23% | 0 | 0 | — |
case-22 | fail→fail | 16,176 | 4,915 | -70% | 1 | 1 | 0% | 3,242 | 1,810 | -44% | 0 | 0 | — |
case-23 | pass→pass | 4,189 | 3,205 | -23% | 1 | 1 | 0% | 794 | 1,751 | +121% | 0 | 0 | — |
case-24 | pass→pass | 14,708 | 21,630 | +47% | 1 | 1 | 0% | 1,636 | 3,146 | +92% | 0 | 0 | — |
case-25 | pass→pass | 16,828 | 17,064 | +1% | 1 | 1 | 0% | 3,138 | 4,624 | +47% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 24 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +24 percentage points is the difference between those two pass rates over the 24 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.