| name | explore |
| description | Explore unfamiliar code and produce a written map. Use when the user wants to understand a new area, map modules and callers, or get a higher-level view before planning a change. |
Explore
Map relevant modules and callers at higher abstraction using multi-dimension working memory. Use the project's domain glossary vocabulary.
Context economy
Before broad reads, locate relevant files/symbols with Glob, Grep, or targeted Read.
Prefer targeted Read with line ranges or block reads once the relevant area is known.
Read full files only when structure, ordering, or surrounding context is required for correctness.
Do not re-read unchanged files; use prior findings unless the file changed.
Start with Glob and Grep to identify directory structure and key patterns. Read representative files and key entrypoints, not every file in the area.
Multi-dimension mapping
Initialize session: .scratch/explorations/<YYYY-MM-DD>/zoo-explore-<slug>/
Write <session-dir>/session.md with target area, scope, user request.
Dimension 1: Architecture
Map to <session-dir>/architecture.md:
- Module boundaries and responsibilities
- Dependency direction (who depends on whom)
- Seams (integration points, interfaces)
- Layers (presentation, business, data)
Dimension 2: Data flow
Read <session-dir>/architecture.md for context.
Map to <session-dir>/data-flow.md:
- Entry points (API, UI, CLI)
- Data transformations
- Persistence boundaries
- External integrations
Cross-reference architecture modules.
Dimension 3: Call graph
Read architecture and data-flow files.
Map to <session-dir>/call-graph.md:
- Key functions/methods
- Call chains (entry → core → exit)
- Async boundaries (events, queues, callbacks)
- Error propagation paths
Cross-reference previous dimensions.
Synthesis
Read all dimension files.
Write <session-dir>/synthesis.md:
- High-level structure (text diagram)
- Key patterns identified
- Coupling hotspots
- Open questions
- Recommended exploration paths
Write the exact file path to .scratch/LAST-EXPLORATION.md so next commands can find it.
Complete
COMPLETION PROTOCOL: Your final text message is your return value. Output this summary, then STOP — do not call any more tools.
<session-dir>/synthesis.md path
- modules mapped (list)
- key findings (summary)
- status (complete / blocked with reason)
- recommended next command