searchlisted
Install: claude install-skill kouroshez/coding-os
# search
Purpose: Route every search task to the correct layer, establish a ground-truth count before any edit, and verify zero remaining matches after. Prevents: agent edits some matches, declares done, but 20+ remain.
Read when: Anything involving finding or replacing something — in files, code, memory, docs, tasks.
Skip when: You already have the exact file:line from a search earlier in this session and are doing a single-file targeted edit.
## Step 0 — Decision Gate
| Target | Layer | Tools |
|---|---|---|
| Literal text / string in files | **File** | `grep -rnF` → see `references/grep.md` |
| Code symbol — function, class, import, MCP tool | **Graph** | → use `graph-explorer` skill |
| Semantic concept / "how did we solve X" | **Memory** | `cos_search` |
| Spec / doc by meaning | **Docs** | `cos_doc_search` |
| Task / ticket by topic | **Tasks** | `cos_task_search` |
**Composition:** For a symbol rename, run Graph first (graph-explorer gives you call-sites + doc refs), then File verify to catch comments and unindexed strings. Never rely on a single layer for cross-cutting renames.
## Step 1 — INVENTORY (mandatory before any edit)
```bash
# Get ground truth count — this number must reach 0 after editing
grep -rnF "OLD_STRING" . $EXCL | wc -l # N = ground truth
# List affected files
grep -rlF "OLD_STRING" . $EXCL
```
N is your contract. You are not done until the same command returns 0.
**Never edit before knowing N.** This is the root cause of the "declared d