agentleFS
Renozoic-FoundryRenozoic-Foundry/forge-public/.claude/skills/explore/SKILL.md

explore

Skill0 starsChanged 3 months agoMITView on GitHub

Pre-spec investigation — produces research artifacts before committing to a full spec

69 other projects use a version of this.

Adopted by

Most recently taken up by

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.

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. 0 are common, 5 are distinctive, and 11 are very specific to this project.

  • 0

    Common

    Most of the 60 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run a lightweight pre-spec investigation on a topic.

    line 16
  2. Very specific:

    If $ARGUMENTS is ? or help: Print:

    line 18
  3. Distinctive:

    Stop — do not execute any further steps.

    line 39
  4. Very specific:

    Check if docs/research/explore-<topic-slug>.md already exists.

    line 56
  5. Very specific:

    If it exists: report "Existing research found at docs/research/explore-<topic-slug>.md" and ask whether to update it or start fresh.

    line 57
  6. Distinctive:

    If not: proceed to Step 2b.

    line 58
  7. Very specific:

    All explore artifacts: docs/research/explore-*.md.

    line 67
  8. Distinctive:

    If 0 hits: skip silently and proceed to Step 3.

    line 82
  9. Distinctive:

    If ≥1 hit: emit a data block, then a choice block:

    line 84
  10. Very specific:

    Fail-soft: if ANY of the following errors occur during Step 2b, emit WARN: topic-overlap pre-check skipped — <reason> and proceed to Step 3 …

    line 112
  11. Distinctive:

    Codebase search: Search the project for files, patterns, and prior art related to the topic.

    line 126
  12. Very specific:

    Spec and backlog check: Search docs/specs/README.md and docs/backlog.md for existing specs or backlog items covering this topic.

    line 127
  13. Very specific:

    Signal check: Search docs/sessions/signals.md for related signals.

    line 128
  14. Very specific:

    Process docs check: Search docs/process-kit/ for relevant documentation.

    line 129
  15. Very specific:

    Research archive check: Search docs/research/ for prior research on related topics.

    line 130
  16. Very specific:

    Create docs/research/explore-<topic-slug>.md with the following structure:

    line 136

“Common” is measured: kept by at least 6 in 10 of the 60 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<!-- forge:paths-note (Spec 575): process-state paths in this command (docs/specs, docs/sessions, docs/decisions, docs/research, docs/process-kit, docs/backlog.md) are the CLASSIC-DEFAULT spellings, not fixed locations. When the project configures forge.paths (e.g. the `contained` layout), resolve each key before use — bash: `forge_path <key>` (source ${CLAUDE_PLUGIN_ROOT:-.}/.forge/lib/config.sh, forge_config_load AGENTS.md); python: `${CLAUDE_PLUGIN_ROOT:-.}/.forge/bin/forge-py .../runtime_config.py path <key>`. -->

Framework: FORGE

Model-Tier: sonnet

<!-- multi-block mode: serialized — each choice block waits for operator response before the next mechanical step proceeds. See docs/process-kit/implementation-patterns.md § Multi-block disambiguation rule. -->

Run a lightweight pre-spec investigation on a topic. Produces a research artifact at docs/research/explore-<topic-slug>.md before committing to a full spec.

If $ARGUMENTS is ? or help: Print:

/explore — Pre-spec investigation for topics that need research before committing to a spec.
Usage: /explore <topic>
Arguments:
  topic (required) — the topic, question, or hypothesis to investigate.
Behavior:
  - Creates a research artifact at docs/research/explore-<topic-slug>.md
  - Investigates the topic: reads relevant files, searches codebase, checks external patterns
  - Documents findings in a structured format (question, approach, findings, recommendation)
  - Recommendation is one of: spec it, defer, drop
  - Optionally graduates to a spec via /spec --from-explore <topic>
Where it fits:
  /brainstorm     "What should I work on?"     → Agent looks inward at project signals
  /interview      "Help me think through X"    → Agent asks questions, user discovers
  /explore        "Is this idea viable?"       → Agent investigates, produces research artifact
  /spec           "I know what I want"         → Agent writes the spec, fast
Lifecycle state: produces a `proposed` artifact — optional entry point before `draft`.
See: docs/process-kit/spec-driven-harness-loop.md

Stop — do not execute any further steps.


[mechanical] Step 1 — Parse topic

Extract the topic from $ARGUMENTS. If no topic is provided, ask the user: "What topic or question would you like to investigate?"

Generate a URL-safe slug from the topic (lowercase, hyphens for spaces, strip special characters).

[mechanical] Step 2 — Check for existing research

Step 2 has two sub-checks. Run them in order — Step 2a fires first; Step 2b runs only when Step 2a finds no exact-slug match.

Step 2a — Exact-slug match (existing behavior)

Check if docs/research/explore-<topic-slug>.md already exists.

  • If it exists: report "Existing research found at docs/research/explore-<topic-slug>.md" and ask whether to update it or start fresh. Stop here on operator selection — do not run Step 2b.
  • If not: proceed to Step 2b.
<!-- spec-392-topic-overlap:start -->

Step 2b — Topic-overlap pre-check (Spec 392)

Surface adjacent prior art before fresh investigation begins. CI-293 surfaced that 4 existing artifacts directly adjacent to topics raised were hit only mid-investigation — this pre-check lets the operator decide whether to read the existing artifact, extend it, or proceed fresh.

Inputs

  • The prompt's topic — text from $ARGUMENTS.
  • All explore artifacts: docs/research/explore-*.md. If docs/research/ is missing or contains no matching files: skip silently and proceed to Step 3.
  • Stopword list at docs/process-kit/stopwords.txt (lowercase tokens, lines starting with # are comments). Required — Spec 388 dependency.
  • Optional threshold in AGENTS.md (under forge.explore.adjacency):
    • keyword_threshold (default 2)

Overlap computation for each candidate explore artifact:

  1. Tokenize prompt — lowercase the topic from $ARGUMENTS, split on whitespace and [/_,.;:()\[\]"'!?], strip stopwords, dedupe to a set: prompt_tokens.
  2. Tokenize candidate — concatenate the candidate's first # Explore: <topic> heading (drop the Explore: prefix) plus the first 50 non-blank lines of body. Apply the same lowercase + split + stopword + dedupe → candidate_tokens.
  3. match_count = |prompt_tokens ∩ candidate_tokens|.
  4. Hit when match_count ≥ keyword_threshold.

Ranking: sort hits by match_count descending. Tie-break on file mtime descending (newest first). Surface only top 3.

Surface

If 0 hits: skip silently and proceed to Step 3.

If ≥1 hit: emit a data block, then a choice block:

## Adjacent prior art (Spec 392)
The following existing explore artifacts overlap the prompt. This is data, not a recommendation — you decide.

| Rank | Artifact | Title | Keywords |
|------|----------|-------|----------|
| 1 | <file> | <title> | <N matches> |
| 2 | <file> | <title> | <N matches> |
| 3 | <file> | <title> | <N matches> |
<!-- safety-rule: session-data — if today's session log has unsynthesized spec activity AND ## Summary is unpopulated, /session is inserted at rank 1 and stop is downgraded to —. See docs/process-kit/implementation-patterns.md § Session-data safety rule. -->

Choose — type a number or keyword:

#RankActionRationaleWhat happens
11read NExisting artifact already covers the topicOpen adjacent artifact (N is row number) and stop
22extend NExisting artifact partially covers; build on itRun /revise --explore <file> against artifact N and stop
33freshAdjacent artifacts surface different topics; proceedProceed to Step 3 with fresh investigation
4—abortStop without changesExit /explore

Operator response handling

  • read N → resolve N to the adjacency hit's file path, open it, exit /explore.
  • extend N → resolve N, invoke /revise --explore <file>, exit /explore.
  • fresh → proceed to Step 3 with fresh investigation as today.
  • abort → exit /explore without writing.

Fail-soft: if ANY of the following errors occur during Step 2b, emit WARN: topic-overlap pre-check skipped — <reason> and proceed to Step 3 with normal fresh investigation. The pre-check MUST NEVER block /explore on its own failure:

  • docs/process-kit/stopwords.txt missing or unreadable
  • AGENTS.md threshold value present but non-numeric or out of [0, 50]
  • Total scan wall time exceeds 5 seconds

Detection: active.

See: docs/specs/392-explore-topic-overlap.md for rationale, /evolve loop-17 framing, and full AC set.

<!-- spec-392-topic-overlap:end -->

[mechanical] Step 3 — Investigate

Conduct a lightweight investigation of the topic:

  1. Codebase search: Search the project for files, patterns, and prior art related to the topic.
  2. Spec and backlog check: Search docs/specs/README.md and docs/backlog.md for existing specs or backlog items covering this topic.
  3. Signal check: Search docs/sessions/signals.md for related signals.
  4. Process docs check: Search docs/process-kit/ for relevant documentation.
  5. Research archive check: Search docs/research/ for prior research on related topics.

Synthesize findings into a structured assessment.

[mechanical] Step 4 — Write research artifact

Create docs/research/explore-<topic-slug>.md with the following structure:

# Explore: <Topic>

- Date: YYYY-MM-DD
- Status: proposed
- Investigator: Claude

## Question / Hypothesis

<What we are trying to determine. One or two sentences.>

## Investigation Approach

<What sources were checked and what methods were used.>
- <source 1>
- <source 2>

## Findings

- <finding 1>
- <finding 2>
- <finding 3>

## Prior Art

<Existing specs, signals, or research that relate to this topic.>

## Recommendation

**<spec it | defer | drop>**

<One paragraph justification for the recommendation.>

## References

- <link or file path 1>
- <link or file path 2>

[decision] Step 5 — Present findings and next action

Present a summary of findings and the recommendation to the user.

Choose — type a number or keyword:

#ActionWhat happens
1/spec --from-explore <topic>Graduate to a full spec, pre-populated with explore findings
2stopResearch complete — no further action needed

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.