cheez-searchlisted
Install: claude install-skill paulnsorensen/easy-cheese
# cheez-search
> **Backend contract**: use a semantic code-search backend, not blind text search. Choose the narrowest tool that answers the question.
## Backend detection
Pick the backend by question type:
1. **LSP wins for type-grounded questions:** definitions through imports, references with shadowing/re-exports, hover/type info, implementations, rename planning, and server-known code actions.
2. **AST search / `sg` wins for syntax shapes:** structural patterns with metavariables and repeated syntax-shaped codemods.
3. **tilth MCP wins for broad source search:** symbols, callers, imports, content, bounded regex, and dependency/blast-radius context in one fresh repo scan.
**Note:** every tilth tool takes `cwd` — your absolute checkout directory (the server's own cwd is frozen at startup). In Claude Code a hook injects `cwd` automatically; do not set it. On harnesses without the hook, pass `cwd` explicitly so relative paths and scopes resolve. There is no `root` parameter.
---
## Examples
### "Where is `handleAuth` defined?"
```
tilth_search(queries: [{query: "handleAuth"}], scope: "src/")
```
```text
# Search: "handleAuth" in src/ — 6 matches (2 definitions, 4 usages)
## src/auth.ts:44-89 [definition]
→ [44-89] export fn handleAuth(req, res, next)
## src/routes/api.ts:34 [usage]
→ [34] router.use('/api/protected/*', handleAuth);
```
The `[definition]` tag answers the question; usages come along for free.
### "What calls `validateToken`?"
```
tilth_search(q