renzrollon/interlock/explore
Claude Code and agent skill by renzrollon/interlock
- community
Checking that the SKILL.md file is still in the repository.
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.
Install
npx vskill@latest install renzrollon/interlock/exploreSKILL.md
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:
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
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
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.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/explore/SKILL.md
Popularity
- Repository stars
- 16
- Repository forks
- 2
- 7-day trend score
- 14
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/renzrollon/interlock/explore)