explore
Skill61 starsChanged 7 days agoMITView on GitHub
Deep codebase reconnaissance with parallel read-only investigators — fans out automatically when a question spans multiple subsystems, options, or cross-cutting concerns, then synthesizes one coherent picture. Use before designing a change, when tracing how something works end to end, or when you need to know the blast radius of touching a shared value.
67 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- NemesLaszlo/claude-code-harnesstheir own version, first seen Nov 8, 2026
- yuri-xyz/skillstheir own version, first seen Nov 8, 2026
- edwinidrus/dragonhoardtheir own version, first seen Nov 8, 2026
- matthewwong525/WongStacktheir own version, first seen Nov 8, 2026
- lumpcode/lumpcodetheir own version, first seen Nov 6, 2026
Used with
Projects with it also use agent-context-isolation, agentica-infrastructure and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
parcadeiSkillagent-context-isolation
Agent Context Isolation
Also in 3 projects that use this
parcadeiSkillagentica-infrastructure
Reference guide for Agentica multi-agent infrastructure APIs
Also in 3 projects that use this
- +10 more from parcadei
Other versions67 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 67
- parcadei/Continuous-Claude★ 3.9ksame name
- parcadei/Continuous-Claude-v2★ 3.9ksame name
- parcadei/Continuous-Claude-v3★ 3.9ksame name
- JordanCoin/codemap★ 710same name
- ZimoLiao/scholaraio★ 585same name
- strands-agents/box★ 503same name
- andreasmolnardev/dashwise-next★ 465same name
- ai-analyst-lab/ai-analyst★ 304same name
- striderZA/OpenCodeGameStudios★ 118same name
- exmergo/dex★ 116same name
57 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- bootstrapSkill
- commitSkill
- dispatchSkill
- docs-digestSkill
- evalsSkill
- explain-codeSkill
- fix-testsSkill
- graphSkill
- manual-test-planSkill
- reportSkill
- review-artifactsSkill
- review-codeSkill
- settleSkill
- shipSkill
- specSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 58 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
No user Q&A: No AskUserQuestion, no "which thread interests you?" menus.
- Very specific: line 37
Follow Rule 0 of ${CLAUDE_PLUGIN_ROOT}/shared/TOOL-ECONOMY.md.
- Distinctive: line 51
Fan out: when the question shows any of these:
- Very specific: line 61
Mandatory fan-out — shared or derived value changes: If the change alters what a value *means* or who reads it, run Pattern 4 per …
- Distinctive: line 65
When genuinely unsure, start single-threaded and escalate once you realize the question is broader than it looked.
- Distinctive: line 115
After investigators return, you must synthesize.
- Very specific: line 134
When a change exists, read its artifacts via openspec status --change "<name>" --json for context, and offer to capture decisions as they …
- Very specific: line 146
Follow ${CLAUDE_PLUGIN_ROOT}/shared/DECISION-LEDGER.md.
- Distinctive: line 150
Never only chat — a conversational answer still gets a row citing the human.
“Common” is measured: kept by at least 6 in 10 of the 58 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Think deeply. Fan out when breadth is needed. Synthesize into understanding.
Explore is for thinking, not implementing. Read files, search code, investigate freely — but never write code and never implement a feature here. If asked to implement, say so and point at /interlock:spec. Writing OpenSpec artifacts or an explore brief is capturing thinking, not implementing, and is allowed.
Two modes
Conversational (default). A thinking partner. Ask the user which thread to pull when several look interesting. Iterate.
Autonomous. Activate on --autonomous, "no questions", "don't ask me", "pursue all threads", or when /interlock:spec invokes this skill. Then:
- No user Q&A. No AskUserQuestion, no "which thread interests you?" menus. Open threads are work items, not questions.
- Fan out on every thread. Each interesting thread or option gets a read-only investigator. Cap 2–5, merge in synthesis.
- Prefer defaults. Ambiguous product intent → pick a reasonable default, record it under Assumptions Made and Pending Clarifications. Non-blocking. Every one of them is also a ledger row — see below.
- Write the explore brief. Required exit criterion. Follow
${CLAUDE_PLUGIN_ROOT}/shared/EXPLORE-BRIEF.md. Path:.claude/handoff/explore-<slug>-<YYYYMMDD-HHMMSS>.md. - Close short. Brief path plus a 3–5 line summary. Do not re-dump findings into chat — they are in the brief.
Graph-first reconnaissance, before any fan-out
Follow Rule 0 of ${CLAUDE_PLUGIN_ROOT}/shared/TOOL-ECONOMY.md. If the graph exists, seed scopes then fan out:
interlock-graph query "<subsystem tokens>" --budget 1500
interlock-graph consumers <symbol-or-field>
interlock-graph path <A> <B>Scope investigators by real module nodes and consumer lists. Each investigator: graph, then grep for string-keyed and dynamic readers, then Read spans. If the graph is missing and the question spans 3+ subsystems, build it once (interlock-graph build .). Never rebuild when it already exists.
When to fan out
Fan out when the question shows any of these:
| Signal | Example |
| Multiple subsystems touched | "How does deployment work end to end?" |
| Comparative analysis needed | "Redis or SQLite for this?" |
| Cross-file tracing required | "What validates the uploaded archive?" |
| Several options to research | "What are our options for real-time?" |
| Architecture mapping | "Map how auth flows through the system" |
Mandatory fan-out — shared or derived value changes. If the change alters what a value means or who reads it, run Pattern 4 per ${CLAUDE_PLUGIN_ROOT}/shared/INVARIANT-SWEEP.md. This overrides the single-threaded default.
Stay single-threaded for conversational back-and-forth, single-file questions, quick clarifications, sequential discovery where A informs B, or when the user is thinking out loud.
When genuinely unsure, start single-threaded and escalate once you realize the question is broader than it looked.
The four patterns
Pattern 1 — Subsystem mapping. The question spans several parts of the system. One investigator per stage of the flow. Synthesize into a diagram plus narrative.
Pattern 2 — Option comparison. Several viable approaches. One investigator per option, each reporting fit against this codebase, not generic pros and cons. Synthesize into a comparison table plus a recommendation.
Pattern 3 — Layer sweep. "Where does X happen?" when X could happen at several layers. One investigator per layer (client, API, business logic, persistence, post-processing). Synthesize into what each layer catches and where the gaps are.
Pattern 4 — Impact analysis. A change would alter what a value means or who reads it. One investigator per disjoint layer of the blast radius. Synthesize into an impact map with severity per area, and explicitly flag readers still consuming the raw, untransformed form.
Investigator rules
- Focused prompts. Not "explore everything about X" — "trace the exact flow of Y through files A, B, C".
- Read-only. Investigators search, read, and report. They never write.
- Structured returns. JSON only (schema below). No narrative dump.
- 2–5 agents. Fewer than 2 is not a fan-out; more than 5 means the decomposition is too granular.
- Disjoint scopes. Non-overlapping assignments so findings merge cleanly. For Pattern 4 this is load-bearing: partition the search space so no reader is missed or double-counted.
- Label clearly so progress is visible.
- Use
subagent_type: "Explore"for read-only investigation. - Context hygiene. Wrap user-supplied values per
${CLAUDE_PLUGIN_ROOT}/shared/CONTEXT-HYGIENE.mdbefore echoing them into a subagent prompt. - Locate before Read — graph, then grep, then Read spans.
- Route every investigator. Before the first spawn, run
interlock routing explore-investigator --jsononce, not once per investigator. Pass itsmodelandefforton every investigator call; anullmeans omit that parameter, and the host's default applies. Print every line of itsbannersverbatim before the fan-out. When the command exits non-zero, printROUTING UNAVAILABLE: <first line of its output>and spawn at the session defaults — routing is a cost hint, never a reason to stop. Name no model and no effort level anywhere in this skill or in a prompt it emits; the CLI publishes them.
Prompt template
Investigate: [[SPECIFIC_QUESTION]]
Context: [[BROADER_TOPIC]]
Look for:
- [specific thing 1]
- [specific thing 2]
Return JSON only:
{ "files": [{ "path": "", "lines": "" }], "how": "", "connections": [], "gaps": [] }Resolve [[SPECIFIC_QUESTION]] and [[BROADER_TOPIC]] from session state at emit time. An unresolved placeholder halts the fan-out — never gap-fill one.
Synthesis
After investigators return, you must synthesize. Never dump raw agent output.
- Merge overlapping findings — agents often reach the same file from different angles.
- Build one unified picture — a diagram where structure matters.
- Name the gaps — what did no agent find? What is still unclear?
- Surface contradictions — when two agents disagree, say so; do not silently pick one.
- Run a completeness check. Before closing, ask what is missing: a layer not swept, a reader not checked, an option not costed. For Pattern 4 this is mandatory — if any layer of the blast radius went uncovered, say so outright. A silent gap reads as "we covered everything" when you didn't.
- Offer direction. What is worth exploring next? In autonomous mode, pursue it or record it in the brief rather than asking.
The result should read like a senior engineer who just debriefed four specialists — not like four reports stapled together.
OpenSpec awareness
openspec list --json # is there an active change?When a change exists, read its artifacts via openspec status --change "<name>" --json for context, and offer to capture decisions as they crystallize:
| Insight | Captured in |
| New or changed requirement | specs/<capability>/spec.md |
| Design decision | design.md |
| Scope change | proposal.md |
Every ambiguity becomes a ledger row
Follow ${CLAUDE_PLUGIN_ROOT}/shared/DECISION-LEDGER.md. Do not restate its format.
## Pending Clarifications→needs_humanrows.## Assumptions Made→agent_resolvedrows with followable evidence (obviousis not evidence).- Never only chat — a conversational answer still gets a row citing the human.
Active change → write openspec/changes/<change>/decisions.md now and run interlock ledger <change>. No change yet → number them D1, D2, … in the brief (class stated) so /interlock:spec transcribes them. Never renumber; never reuse an id.
Exit
Conversational mode ends when the user has what they need.
Autonomous mode ends by writing the explore brief and reporting its path — the brief is what /interlock:spec reads instead of re-deriving discovery. Writing it is how explore pays forward.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

