explore · git:20261013.d6beee3 · 2026-10-13 · sha256 a282eadc00e4918a
explore git:20261013.d6beee3A
Immutable. This exact content never changes and is served at /api/v1/blob/a282eadc00e4918a.
--- name: explore description: "Think an idea through before planning: read the repo, weigh options, clarify choices; writes no files." user-invocable: true --- # /explore Start [the change loop](../../../wiki/development/the-change-loop.md): compare options and settle scope before `/plan`. Find related work with `openspec list --json` and `openspec context --json` ([CLI contract](../plan/references/openspec-cli.md#select-one-root)); read their pointers. **Write nothing**; [`/plan`](../plan/SKILL.md) logs answers. Explore precedes planning except [review-page notes](../plan/SKILL.md#review-notes); use [bounded mode](#when-plan-invokes-explore) under `/plan`. ## Investigate the relevant flow Read owning docs and source; trace trigger, result, and constraints. For non-code, read the process and authoritative sources. Discover facts; separate observations from inferences. Use proportional, authorized read-only checks; no prototypes or local builds. Name unavailable evidence and a later check. For consequential choices, compare viable approaches, outcomes, costs; recommend with evidence. Before handoff, check material assumptions and failures against the flow; revise contradictions. Speculative or cheaply changed concerns need no questions. ## Questions during standalone exploration Ask [the shared way](references/asking-the-user.md): two or three related ready choices, one if alone, within tool capacity. Track decisions and prerequisites in chat. Investigate a missing fact yourself; never ask the person to guess it. Hold only dependent choices and ask independent ones as the host permits. Update dependencies after answers or evidence. Explain changed premises; reopen only affected decisions. Keep findings in chat, [drawn](../plan/references/drawings.md) when useful. **The 80/20 test:** ask where a wrong guess makes the plan *wrong*, not merely *different*: scope, observable behavior, compatibility, acceptance criteria. Assume naming, placement, wording, and cheaply changed details, with reasons. ## Search memory before asking Before asking, recall the task and look up likely paths once, then read the originals it cites: ```bash node "$(git rev-parse --show-toplevel)/.claude/skills/memory/scripts/memory.mjs" recall <question> node "$(git rev-parse --show-toplevel)/.claude/skills/memory/scripts/memory.mjs" areas <paths> ``` Treat dated facts as assumptions. [Memory unavailable](../memory/SKILL.md#read)? Say so; continue with available sources. ## Check for other work For repo edits, check other work once: ```bash node "$(git rev-parse --show-toplevel)/.claude/skills/explore/scripts/other-work.mjs" ``` Lists live workspaces and non-bot PRs. Compare intent, not files: plans can overlap before edits. - **Overlap:** name the work and why; add [the overlap ask](../plan/references/new-workspace.md#ask-once) to the next group, or ask alone. - **No overlap:** say nothing. - **A `notes` line:** say it in one line and continue. Skip if checked here or no repo edits. ## The exit round Resolve remaining material choices [the shared way](references/asking-the-user.md): - Apply [80/20](#questions-during-standalone-exploration) and tool capacity; ask only ready choices. - **Separate parts?** Ask about a new workspace for each ([how](../plan/references/new-workspace.md#ask-once)). - **Answers open another choice?** Follow up; stop once none remains. - A settled choice stays settled, nested calls included; reopen only one a changed premise affects. - Keep an unanswered material preference open: called an assumption or an evidence gap, it hides a choice the person never made. Preserve authorized defaults and [the fallback when nobody can answer](references/asking-the-user.md#which-tool-carries-it). Summarize outcome, approach, reasons over a serious alternative, minor assumptions, and evidence limits. - **Bounded:** return by [the steps below](#when-plan-invokes-explore). - **Standalone:** [offer next steps](references/asking-the-user.md#end-every-reply-with-the-next-step). Only *Plan it* starts `/plan`; its bounded pass asks open choices. ## When `/plan` invokes `/explore` Planning uses **bounded mode**, including via `/apply` or `/ship`: 1. Reuse the conversation's intent, answers, and findings. 2. Search memory and [other work](#check-for-other-work) unless checked; investigate only new material gaps. `/plan` never repeats searches. 3. Run [the exit round](#the-exit-round) for open choices; await dependent answers, retaining authorized/unattended defaults. 4. Return the summary to `/plan`.