explore
Skill0 starsChanged 28 days agoApache-2.0View on GitHub
Investigate something open-ended before anyone commits to it, then say where the work actually starts. Use it for feasibility — "is this even possible?", "can we do X with our current stack?", "what would it take to support Y?", "spike this" — and for the stuck case: "I don't know where to start", "what should I do next?", "how do I start this?", "I'm stuck", "I want to understand how Z works before we commit", "research whether we should...". It fans out research and lands either a written spike report or a decision about which entry point the work belongs to. Guessing instead means committing to an approach nobody checked was possible. Do NOT use it once you already know what comes next: working out one feature is `/scope`, framing a whole initiative is `/charter`, running a finished plan is `/execute`, picking between options already named is `/decision`, and surveying named competitors is `/comp`.
- Deletes or force-pushes
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 repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- briefSkill
- charterSkill
- compSkill
- coordinateSkill
- decisionSkill
- deliverSkill
- designSkill
- executeSkill
- inflightSkill
- planSkill
- prdSkill
- private-contentSkill
- public-contentSkill
- releaseSkill
- review-planSkill
- roadmapSkill
- scopeSkill
- strategySkill
- visionSkill
- work-onSkill
- writing-styleSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
25 rules. 0 are common, 12 are distinctive, and 13 are very specific to this project.
0
Common
Most of the 58 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 37
Writing style: Read skills/writing-style/SKILL.md for guidance.
- Distinctive: line 41
When a user isn't sure where to start, use this table to recommend a command.
- Very specific: line 42
Every destination is something the author runs.
- Distinctive: line 102
Check from highest complexity down.
- Very specific: line 138
When invoked as /explore, this skill drives a structured expansion-contraction loop.
- Very specific: line 160
Check $ARGUMENTS for --auto or --interactive flags.
- Very specific: line 170
Default max rounds in --auto: 3.
- Distinctive: line 174
Read the repo's CLAUDE.md (or CLAUDE.local.md) for:
- Very specific: line 183
If not found, infer from path: private/ -> Private, public/ -> Public.
- Distinctive: line 184
Default to Private if unknown.
- Distinctive: line 189
After detecting visibility, load the appropriate content governance skill:
- Very specific: line 190
Private repos: Read skills/private-content/SKILL.md
- Very specific: line 191
Public repos: Read skills/public-content/SKILL.md
- Very specific: line 195
Check $ARGUMENTS for --strategic or --tactical flags.
- Distinctive: line 201
Default to Tactical if not found.
- Distinctive: line 219
When starting from an issue in a different repo than the working directory:
- Very specific: line 221
Read the issue via gh issue view <N> --repo <owner/repo>
- Distinctive: line 253
Phase 3: Read all research keys and the findings key.
- Distinctive: line 257
Phase 5: Read the crystallize decision and proceed with handoff.
- Very specific: line 301
After Phase 3 completes, present the loop decision using AskUserQuestion following the pattern in …
- Distinctive: line 304
Recommendation heuristic: If the convergence output surfaces significant gaps, open questions, or contradictions, recommend "Explore …
- Distinctive: line 317
Update the scope key with the new leads for this round
- Distinctive: line 320
If Ready to decide:
- Very specific: line 321
Add ## Decision: Crystallize marker to the findings key
- Very specific: line 357
Read a key with koto context get explore-<topic> <key>, test one with koto context exists explore-<topic> <key> (exit 0 present, 1 absent) …
“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
!${CLAUDE_PLUGIN_ROOT}/scripts/skill-preflight.sh explore 2>&1 || true
@.claude/shirabe-extensions/explore.md @.claude/shirabe-extensions/explore.local.md
Explore
Explore is the entry point for "I don't know what I need." It serves two roles: as a passive routing advisor (when Claude is auto-loaded and users need help picking a command), and as an active exploration workflow (when invoked via /explore).
Other skills own the work itself: /scope runs the tactical chain, /charter
the strategic one, /execute drives a finished PLAN, and /work-on takes a
single issue. Explore owns the question of which one receives the work, and it
answers that question after the research rather than before it.
Writing style: Read skills/writing-style/SKILL.md for guidance.
Routing Guide
When a user isn't sure where to start, use this table to recommend a command.
Every destination is something the author runs. None of them is a step inside a
chain that a parent skill already sequences: a BRIEF, a PRD, a DESIGN, and a
PLAN are hops inside /scope, and picking one of them as an entry point is the
choice this skill stopped making. Those hops stay directly invocable once their
own upstream is settled -- /design on an accepted PRD, /plan on an accepted
DESIGN -- but an author in that position is not asking where to start, so no row
below points at them.
| Situation | Route To | Why |
| "I want to build X but don't know where to start" | /explore <topic> | Open-ended; what the work turns out to be isn't clear yet |
| "I have one feature to specify, from its framing through its issues" | /scope <topic> | The tactical chain runs whole and reduces per hop; its terminal artifact is a PLAN |
| "I need to justify this project" or "I have a multi-feature initiative" | /charter <topic> | The strategic chain: thesis, bet, and a sequenced roadmap |
| "I have a PLAN and want it built" | /execute <plan-path> | Plan-level execution, including resuming a run already in flight; a multi-pr PLAN is the exception and runs through /work-on |
| "This is one known piece of work, just do it" | /work-on <issue> | Already specified, so nothing is missing; go straight to implementation |
| "I have one choice between named options" | /decision <question> | A single decision with a durable record and no work attached |
| "What exists in this space?" | /comp <topic> | Competitive landscape, with a jury and a lifecycle transition; private repos only |
Quick Decision Table
| Core Question | Best Fit | Alternative |
| "Do I need any document at all?" | File an issue, then /work-on | /scope if the feature's requirements aren't written down anywhere |
| "What should we build, and how?" | /scope | /explore if even the question is unclear |
| "Can we build this?" (feasibility) | /explore, which authors the spike report | File an issue and try |
| "What exists already?" (landscape) | /explore, which routes to /comp in a private repo | File an issue and write the findings into it |
| "Which option, and why?" | /decision | /explore if the options aren't identified yet |
| "Should this project exist?" or "Which features should we build?" | /charter | /explore if the scope is unclear |
| "Should we start building the PLAN we have?" | /execute <plan-path> | /work-on <issue> if only one issue out of it is in play, or if the PLAN is multi-pr |
Three distinctions are gone from these two tables rather than re-pointed:
"should I write a PRD or a design doc?", the pair that split "what should we
build" from "how should we build it", and "what order do we build in?". Each one
separated two hops of the same chain, and each mattered only while those hops
were separately choosable. A BRIEF, a PRD, a DESIGN, and a PLAN are steps inside
/scope, so all three questions now have one answer and take one row.
Complexity-Based Routing
Complexity is advisory, and only here. It answers "which command should I run?" before any exploration exists. Once an exploration has run, Phase 4 scores the accumulated findings, and nothing in this section feeds that scoring -- a second classification vocabulary inside the one routing surface would just disagree with it.
| Complexity | Signals | Recommended Path |
| Trivial | Self-evident change, single file, no decisions, no issue needed | /work-on directly, no issue |
| Simple | Clear requirements, few files, one person, no competing approaches | File an issue, then /work-on <issue> |
| Complex | Multiple unknowns, shape unclear, can't state requirements or approach | /explore, and let the crystallize step name the destination |
| Strategic | Project inception, multi-feature sequencing, thesis validation needed | /charter |
The Medium row is removed rather than re-pointed. Its recommendation was design
then plan, and the case it described -- requirements settled, approach open --
was worth separating only while those two were separately choosable. A request
that used to land on Medium reads as Complex here, and /explore decides
whether it enters the chain at /scope or is small enough to file.
Detection Algorithm
Check from highest complexity down. Stop at the first YES.
1. Does the request reference project direction, multi-feature sequencing,
or thesis validation?
YES -> Strategic
Boundary: if it's about one feature within an existing project -> Complex
2. Can the user clearly state both what to build and how?
NO (the problem is unclear, or the approach is contested) -> Complex
3. Does a GitHub issue exist (or should one exist) with defined scope?
YES -> Simple
Boundary: if "done" is self-evident without acceptance criteria -> Trivial
4. Is the change self-evident and fire-and-forget?
YES -> Trivial
5. Default -> Simple (file an issue and proceed)Step 2 absorbs the old Medium question. Design decisions where reasonable people could disagree leave "how" unstated, which is a Complex answer now.
Crystallize Framework
Phase 4 scores the exploration's findings in two stages: what the exploration is
-- four terminal outcomes no chain owns, plus "a chain" -- and then, for a chain,
which entry point receives it. See references/quality/crystallize-framework.md
for the candidacy preconditions, both scoreboards, and the tiebreakers. Loaded
during Phase 4.
Exploration Workflow
When invoked as /explore, this skill drives a structured expansion-contraction
loop. Fan out research agents on leads, converge findings with the user, repeat
until ready, then decide what artifact type to produce.
Input Detection
From $ARGUMENTS:
- Empty -- ask the user what they want to explore
- Issue number (matches
#?\d+ororg/repo#\d+) -- read the issue, check forneeds-triagelabel, and derive topic from the issue title - Anything else -- use as the topic string, proceed to scope
For cross-repo issues (e.g., owner/repo#42), use gh commands:
gh issue view 42 --repo owner/repo --json title,body,labelsContext Resolution
0. Detect Execution Mode
Check $ARGUMENTS for --auto or --interactive flags. Also check for
--max-rounds=N. If neither mode flag is present, read CLAUDE.md
## Execution Mode: header (values: auto or interactive, default:
interactive).
In --auto mode, the agent never blocks on user input. At decision points,
follow the research-first protocol in references/decision-protocol.md:
gather evidence, form recommendation, follow it, document as a decision
block. Track all decisions in key work/decisions.md.
Default max rounds in --auto: 3. Override with --max-rounds=N.
1. Detect Visibility
Read the repo's CLAUDE.md (or CLAUDE.local.md) for:
## Repo Visibility: Privateor
## Repo Visibility: PublicIf not found, infer from path: private/ -> Private, public/ -> Public.
Default to Private if unknown.
Visibility is immutable -- public repos must never accidentally include private references, even if a user passes --private. Flags can't override it.
After detecting visibility, load the appropriate content governance skill:
- Private repos: Read
skills/private-content/SKILL.md - Public repos: Read
skills/public-content/SKILL.md
2. Detect Scope
Check $ARGUMENTS for --strategic or --tactical flags. If neither, read
default from CLAUDE.md:
## Default Scope: StrategicDefault to Tactical if not found.
Scope sets how the research phases read the topic and how content governance
applies. It puts no thumb on the crystallize scoreboard. --strategic is also a
repo default read from CLAUDE.md, so letting it bias the outcome would
pre-answer the router for every exploration in a strategic-default repo. An
exploration launched strategic can land on /scope, and one launched tactical
can land on /charter.
3. Log Context
Output before proceeding:
Exploring with [Private|Public] visibility in [Strategic|Tactical] scope...Cross-Repo Issue Handling
When starting from an issue in a different repo than the working directory:
- Read the issue via
gh issue view <N> --repo <owner/repo> - Resolve visibility from the WORKING repo (where artifacts land), not the issue's repo
- Visibility rule: public repos must not reference private issues in produced artifacts
- Research agents may read the issue's repo for context, but the exploration's
session
explore-<topic>belongs to the working repo
Resume Logic
Resume is based on the keys of the topic's session, explore-<topic>. One call
evaluates the rows top-to-bottom and prints the phase of the first match:
"${CLAUDE_PLUGIN_ROOT}/skills/explore/scripts/explore-state.sh" resume-phase <topic>key work/crystallize.md exists -> 5 (Produce)
key work/findings.md has "## Decision: Crystallize" -> 4 (Crystallize)
key work/findings.md exists (no crystallize marker) -> 3 (Converge)
keys research/r*_lead-* exist, no findings key -> 3 (Converge)
key work/scope.md exists -> 2 (Discover)
none of these, on the topic branch -> Phase 1 (Scope)
none of these, not on the topic branch -> Phase 0 (Setup)The script prints none for the last two rows and for an absent or finished
session; the branch decides between them. Before starting over on none, check
for a key handoff/scope.md or handoff/charter.md in explore-<topic> (koto
context exists): one means the exploration already ended in a handoff, and the
author only needs the command that handoff names.
When resuming:
- Phase 3: Read all research keys and the findings key. Present accumulated results and ask whether to explore further or crystallize.
- Phase 4: The user decided to crystallize (marker in the findings key) but the crystallize key wasn't written. Re-run crystallize.
- Phase 5: Read the crystallize decision and proceed with handoff.
Workflow Phases
Phase 0: SETUP -> Phase 1: SCOPE -> Phase 2: DISCOVER -> Phase 3: CONVERGE --+
^ | |
| "explore | |
+---- further" ------+ |
"ready" |
| |
Phase 4: CRYSTALLIZE
|
Phase 5: PRODUCE| Phase | Purpose | Artifact |
| 0. Setup | Branch, context, entry assessment (if from an issue) | On topic branch |
| 1. Scope | Conversational scoping, produce leads | key work/scope.md |
| 2. Discover | Fan out lead agents (round N) | keys research/r<N>_lead-<name>.md |
| 3. Converge | Present findings, user narrows or exits loop | key work/findings.md |
| 4. Crystallize | Evaluate artifact type, user confirms | key work/crystallize.md |
| 5. Produce | Author the outcome, or hand off to the command that owns it | Terminal document, issue, or parent handoff |
Phase Execution with Loop Management
Execute phases sequentially. After Phase 3, the orchestrator (this file) manages the discover-converge loop -- not the phase files.
Phase 0: Setup
Read: references/phases/phase-0-setup.md
Phase 1: Scope
Read: references/phases/phase-1-scope.md
Phase 2: Discover (Round N)
Read: references/phases/phase-2-discover.md
On the first pass, N=1. On subsequent passes after "explore further," increment N.
Phase 3: Converge
Read: references/phases/phase-3-converge.md
After Phase 3 completes, present the loop decision using AskUserQuestion
following the pattern in ${CLAUDE_PLUGIN_ROOT}/references/decision-presentation.md.
Recommendation heuristic: If the convergence output surfaces significant gaps, open questions, or contradictions, recommend "Explore further." If findings are sufficient and no major gaps remain, recommend "Ready to decide."
Options:
- "Explore further (Recommended)" or "Ready to decide (Recommended)" -- based on heuristic above
- The other option, with a brief justification for why it ranks lower
Description field: Ground the recommendation in specific convergence output -- cite the gaps that remain or explain why coverage is sufficient.
If Explore further:
- Capture new leads from the user (informed by gaps and open questions from convergence)
- Update the scope key with the new leads for this round
- Return to Phase 2 with N incremented
If Ready to decide:
- Add
## Decision: Crystallizemarker to the findings key - Proceed to Phase 4
Phase 4: Crystallize
Read: references/phases/phase-4-crystallize.md
Phase 5: Produce
Read: references/phases/phase-5-produce.md
Session and Keys
/explore keeps its working state as keys in its own koto session,
explore-<topic>, with a kebab-case topic, following
${CLAUDE_PLUGIN_ROOT}/references/skill-session-convention.md. It writes no
file to the wip/ staging folder. Phase 0 opens the session once the branch exists
(Step 0.1a) and before the first key is written:
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" open explore <topic>open attaches to a live explore-<topic> (an interrupted run, whose keys the
resume rows read), replaces a finished one (a fresh run), or creates it. Any
non-zero exit stops the run with the script's message: 127 or 69 means koto is
missing or too old, and the skill never falls back to files.
| Key | Written at | Holds |
work/scope.md | Phase 0, Phase 1, each round's new leads | visibility, entry assessment, scoping output |
research/r<N>_lead-<name>.md | Phase 2, round N | one lead's findings, ingested from a scratch directory |
work/findings.md | Phase 3 | accumulated findings; the ## Decision: Crystallize marker |
work/decisions.md | Phase 3 (and --auto) | accumulated decisions |
work/crystallize.md | Phase 4 | the crystallize decision |
work/decision-brief.md | Phase 5, /decision arm | the brief handed to /decision |
handoff/scope.md, handoff/charter.md | Phase 5, parent arms | the handoff the parent consumes |
Read a key with koto context get explore-<topic> <key>, test one with koto
context exists explore-<topic> <key> (exit 0 present, 1 absent) and list a
prefix with koto context list explore-<topic> --prefix <prefix>.
Writing a key. Assemble the content in a scratch directory, put it, and remove the directory:
dir=$("${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" scratch)
# write the content to "$dir/<name>", then:
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" put explore-<topic> work/<name> "$dir/<name>"
rm -rf "$dir"Editing a key the skill revises across rounds (scope, findings, decisions): get it into a fresh scratch directory (the command prints the file's path), edit that file, then put it back and remove the directory.
dir=$("${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" scratch)
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" get explore-<topic> work/<name> "$dir"
# edit "$dir/<name>", then:
"${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" put explore-<topic> work/<name> "$dir/<name>"
rm -rf "$dir"Research agents never write keys: Phase 2 pins every lead's output to a file in
a scratch directory and ingests it with the ingest-leads subcommand of
explore-state.sh.
Closing. Phase 5 ends the session. The parent arms (/scope, /charter)
run the finish-handoff subcommand of explore-state.sh, which clears the
work/ and research/ keys and leaves the handoff for the parent to consume
and close. Every other arm
runs "${CLAUDE_PLUGIN_ROOT}/scripts/skill-session.sh" close explore-<topic>
done (after the inline child returns, for /decision and /comp), which keeps
the keys readable. A run that stops before Phase 5 closes nothing, so its keys
stay for the resume.
Decisions Key Format
The decisions key (work/decisions.md) tracks choices made
during convergence rounds. It's created in Phase 3 on the first round that
produces decisions, and appended to in subsequent rounds.
# Exploration Decisions: <topic>
## Round 1
- <decision>: <rationale>
- <decision>: <rationale>
## Round 2
- <decision>: <rationale>Decisions include scope narrowing (areas eliminated), option elimination (approaches ruled out), priority choices (what matters most), and constraints accepted (trade-offs acknowledged). Each entry states what was decided and why in one or two lines.
Phase 4 reads this file to inform artifact type scoring. Phase 5 includes accumulated decisions in handoff artifacts. The file may not exist if no explicit decisions were made during exploration.
Reference Files
| File | When to load |
references/phases/phase-0-setup.md | Phase 0 |
references/phases/phase-1-scope.md | Phase 1 |
references/phases/phase-2-discover.md | Phase 2 (each round) |
references/phases/phase-3-converge.md | Phase 3 (each round) |
references/phases/phase-4-crystallize.md | Phase 4 |
references/phases/phase-5-produce.md | Phase 5 (routing stub) |
references/phases/phase-5-produce-rejection-record.md | Phase 5, rejection record (authored here) |
references/phases/phase-5-produce-spike-report.md | Phase 5, spike report (authored here) |
references/phases/phase-5-produce-decision.md | Phase 5, routes to /decision |
references/phases/phase-5-produce-comp.md | Phase 5, routes to /comp (private repos) |
references/phases/phase-5-produce-file-an-issue.md | Phase 5, file an issue |
references/phases/phase-5-produce-handoff.md | Phase 5, both parent arms (/scope and /charter) |
references/phases/phase-5-produce-execute.md | Phase 5, /execute |
references/phases/phase-5-produce-deferred.md | Phase 5, deferred type (prototype) |
references/quality/crystallize-framework.md | Phase 4 (full decision framework) |
references/label-reference.md | Phase 0, when the topic came from a labelled issue |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

