# Code Search

> MUST use as the first discovery step for repository and code search -- locating a feature, concept, symbol, component, setting, or keybind; reading a definition; tracing callers or references; mapping a file's structure or the project architecture; or estimating the impact of a change. Runs the prowl-agent CLI to answer these structural questions from a cited index instead of grepping and reading many files; keep grep for exact literal or regex text and glob for filename patterns.

- Skill: `neur0map/code-search` (Agent Skill)
- Install (CLI): `npx skillmds@latest add neur0map/code-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/neur0map/code-search/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: neur0map (https://skillmd.com/u/neur0map)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/neur0map/code-search

---


# Code search

Answer repository questions by querying Prowl's index with the read-only
`prowl-agent` CLI before grepping or reading whole files. Reserve **grep for an
exact literal or regex** match in a bounded scope, and **glob for filename**
patterns; route every semantic or structural question -- where code is, what it
does, who uses it, or what a change touches -- through `prowl-agent`. Prowl
reindexes the files that changed before each query, so answers stay current and
are cited to file:line.

Treat Prowl's cited results as the discovery evidence. Do not launch an
exploration agent to verify them, and do not repeat the query with tree-wide
grep, glob, or whole-file reads. If more context is needed, stay in the index
with `def`, `outline`, `references`, or `peek`. In the final answer, preserve
the exact repository-relative paths from Prowl's citations rather than
shortening them.

## Routing table

| Question | First command |
|---|---|
| Map an unfamiliar repository | `prowl-agent overview` |
| Locate a feature or concept | `prowl-agent search "<question>"` |
| Locate a named symbol | `prowl-agent find <name>` |
| Read a symbol definition | `prowl-agent def <name-or-id>` |
| Inspect one file's structure | `prowl-agent outline <path>` |
| Trace symbol use | `prowl-agent references <name-or-id>` |
| Estimate change blast radius | `prowl-agent impact <path>` |
| Resume or inspect current changes | `prowl-agent wip` / `prowl-agent changed` |
| Read a located bounded range | `prowl-agent peek <file:start-end>` |
| Find an exact literal or regex | native grep in a bounded scope |
| Match filenames | native glob |

For any semantic or structural question, the first discovery operation is a
`prowl-agent` command, not a grep of the whole tree.

## Read only what you need

Once Prowl has located the code, keep every follow-up read bounded and cited:

- `prowl-agent def <name-or-id>` reads one symbol's source, not the whole file.
- `prowl-agent outline <path>` lists a file's symbols and signatures, no bodies.
- `prowl-agent peek <file:start-end>` turns a citation into just those lines.

Output is token-lean TOON by default; add `--format json` to parse it. Native
grep and glob stay correct when the task itself is an exact literal, regex, or
filename lookup, or when you are reading a file you have already located.

