一键导入
explore
// Analyze solution options for features or changes. Compares approaches with pros/cons and provides recommendations. Produces documents in thoughts/shared/solutions/. Use when multiple valid approaches exist.
// Analyze solution options for features or changes. Compares approaches with pros/cons and provides recommendations. Produces documents in thoughts/shared/solutions/. Use when multiple valid approaches exist.
Design features through iterative vertical-slice decomposition and progressive code generation with developer micro-checkpoints. For complex multi-component features touching 6+ files across multiple layers. Produces design artifacts in thoughts/shared/designs/. Always requires a research artifact from discover → research, or a solutions artifact from explore.
Generate trace-quality research questions from codebase discovery. Spawns discovery agents and reads key files for depth, then synthesizes into dense question paragraphs for the research skill. Produces question artifacts in thoughts/shared/questions/. First stage of the research pipeline.
Execute approved implementation plans phase by phase. Implements changes with verification against success criteria. Use when a plan is ready for implementation.
Create phased implementation plans from design artifacts. Decomposes designs into parallelized atomic phases with success criteria in thoughts/shared/plans/. Use after design.
Answer structured research questions via targeted parallel analysis agents. Consumes question artifacts from discover. Produces research documents in thoughts/shared/research/. Second stage of the research pipeline — always requires a questions artifact.
Update existing implementation plans based on feedback. Makes surgical edits while preserving structure and quality. Use when plans need adjustments after review or during implementation.
| name | explore |
| description | Analyze solution options for features or changes. Compares approaches with pros/cons and provides recommendations. Produces documents in thoughts/shared/solutions/. Use when multiple valid approaches exist. |
| argument-hint | ["feature/change description"] |
You are tasked with analyzing solution options for new features or changes by invoking parallel skills and synthesizing their findings into actionable recommendations optimized for design consumption.
When this command is invoked, respond with:
I'm ready to research solution options. Please provide:
- What feature/change you want to explore
- Any requirements or constraints you know about
- Reference to relevant ticket or research documents if available
I'll analyze the current codebase, generate solution options, and provide recommendations.
Then wait for the user's request.
Generate 2–4 named candidates from three sources, then merge into one shortlist:
web-search-researcher for any topic where the candidate space includes external libraries, frameworks, or services. Prompt it to return 2–4 named options with one-line "what it is" + canonical doc link per option. Skip only when the topic is wholly internal (e.g., "how to organize this service layer") and the orchestrator's design-space enumeration plus the user shortlist already cover the space.Merge to 2–4 candidates total. Name each with a short noun phrase ("TanStack Query", "Direct event bus"). Deduplicate.
Default dimension list (presented at Step 3; developer may drop irrelevant ones):
Hold the candidate set and default dimension list in working state for the Step 3 checkpoint. Do not dispatch fit agents yet.
Present the candidate set and default dimensions to the developer before per-candidate fit dispatch.
Show candidates and dimensions:
## Candidates for: [Topic]
1. [Candidate A] — [one-line what it is]
2. [Candidate B] — [one-line what it is]
...
Dimensions (default 6; drop any that don't apply):
- approach-shape · precedent-fit · integration-risk
- migration-cost · verification-cost · novelty
Confirm via the ask_user_question tool with the following question: "[N] candidates, [D] dimensions. Begin per-candidate fit dispatch?". Header: "Candidates". Options: "Proceed (Recommended)" (Begin per-candidate fit dispatch with all [N] candidates and all [D] dimensions); "Adjust candidates or dimensions" (Rename, add, or drop candidates; drop dimensions that don't apply); "Re-generate candidates" (Candidates look wrong — re-run Step 2 with adjusted scope).
Handle developer input:
"Proceed": lock the candidate × dimension set; advance to Step 4.
"Adjust candidates or dimensions": ask the follow-up free-text question with prefix ❓ Question: — "Which candidates and dimensions should be added, dropped, or renamed?" — apply edits to the working set, re-present, and confirm again with the same three-option ask_user_question.
"Re-generate candidates": ask the follow-up free-text question with prefix ❓ Question: — "What should be different in candidate generation? (narrower/wider scope, different ecosystem, exclude approach X, …)" — return to Step 2 with the updated scope, then re-enter Step 3.
Loop until "Proceed" is selected.
For each confirmed candidate, dispatch up to two agents in parallel — total ≤ 2 × N agents:
codebase-analyzer per candidate — when ≥1 kept dimension is codebase-anchored (precedent-fit, integration-risk, often migration-cost and verification-cost). The agent scores the candidate on every kept codebase-anchored dimension in a single pass, returning evidence per dimension with file:line references.web-search-researcher per candidate — when ≥1 kept dimension is external-anchored (novelty, often migration-cost for libraries, approach-shape for ecosystem options). The agent scores the candidate on every kept external-anchored dimension in a single pass, returning evidence per dimension with doc/source links.Skip either agent for a candidate when no dimension of that anchor-type was kept. Hybrid dimension approach-shape is scored by the orchestrator after both agents return, by combining their per-candidate findings.
Per-candidate prompt shape (use the same outer template, fill in candidate name and kept dimensions):
Candidate: [name] — [one-line what it is]
Topic: [topic from Step 1]
Score this single candidate on the following dimensions, each with concrete evidence ([file:line] for codebase, doc/source link for external). Report findings as one section per dimension.
Dimensions for this run:
- [dimension name] — [one-line of what to look for]
- ...
Do NOT compare against other candidates; another agent handles each one separately. Focus on depth of evidence for THIS candidate.
Wait for ALL agents to complete before proceeding.
Coverage check: every (candidate × kept-dimension) cell is filled — by an agent's evidence or by an explicit null ("does not apply to this candidate"). Cells silently dropped indicate a missing dispatch — re-run that candidate's agent.
confidence: low and status: blocked.thoughts/shared/solutions/YYYY-MM-DD_HH-MM-SS_[topic].md
git branch --show-current / git rev-parse --short HEAD directly)Use the metadata gathered in step 6
Structure the document with YAML frontmatter followed by content:
---
date: [Current date and time with timezone in ISO format]
researcher: [Researcher name]
git_commit: [Current commit hash]
branch: [Current branch name]
repository: [Repository name]
topic: "[Feature/Problem]"
confidence: high | medium | low
complexity: low | medium | high
status: ready | awaiting_input | blocked
tags: [solutions, component-names]
last_updated: [Current date in YYYY-MM-DD format]
last_updated_by: [Researcher name]
---
# Solution Analysis: [Feature/Problem]
**Date**: [Current date and time with timezone from step 6]
**Researcher**: [Researcher name from step 6]
**Git Commit**: [Current commit hash from step 6]
**Branch**: [Current branch name from step 6]
**Repository**: [Repository name]
## Research Question
[Original user query]
## Summary
**Problem**: [What we're solving]
**Recommended**: [Option name] - [One sentence why]
**Effort**: [Low/Med/High] ([N days])
**Confidence**: [High/Med/Low]
## Problem Statement
**Requirements:**
- [Requirement 1]
- [Requirement 2]
**Constraints:**
- [Hard constraint - must respect]
- [Soft constraint - should consider]
**Success criteria:**
- [What "done" looks like]
## Current State
**Existing implementation:**
[What exists with file:line references]
**Relevant patterns:**
- [Pattern 1]: `file.ext:line` - Used in [N] places
- [Pattern 2]: `file.ext:line` - Used in [N] places
**Integration points:**
- `file.ext:line` - [Where feature hooks in]
- `file.ext:line` - [Another integration point]
## Solution Options
### Option 1: [Name]
**How it works:**
[2-3 sentence description + implementation approach]
**Pros:**
- [Advantage with evidence from codebase]
- [Advantage with evidence]
**Cons:**
- [Disadvantage with impact]
**Complexity:** [Low/Med/High] (~[N] days)
- Files to create: [N] (~[X] lines)
- Files to modify: [N] (~[X] lines)
- Risk level: [Low/Med/High]
### Option 2: [Alternative Name]
[Same structure as Option 1]
### Option 3: [Another Alternative]
[Same structure as Option 1]
## Comparison
| Criteria | Option 1 | Option 2 | Option 3 |
|----------|----------|----------|----------|
| Complexity | [L/M/H] | [L/M/H] | [L/M/H] |
| Codebase fit | [H/M/L] | [H/M/L] | [H/M/L] |
| Risk | [L/M/H] | [L/M/H] | [L/M/H] |
## Recommendation
<!-- Render exactly ONE of the two blocks below, based on Step 5's fit-filter outcome. -->
**(A) When ≥1 candidate clears the fit filter:**
**Selected:** [Option N]
**Rationale:**
- [Key reason with evidence]
- [Key reason with evidence]
- ...
**Why not alternatives:**
- Option X: [Reason]
**Trade-offs:**
- Accepting [limitation] for [benefit]
**Implementation approach:**
1. [Phase 1] - [What to build]
2. ...
**Integration points:**
- `file.ext:line` - [Specific change]
- `file.ext:line` - [Specific change]
**Patterns to follow:**
- [Pattern]: `file.ext:line`
**Risks:**
- [Risk]: [Mitigation]
**(B) When every candidate fails the fit filter:**
**No-fit:** every candidate surfaced a blocking concern on at least one kept dimension.
**Per-candidate blockers:**
- [Option 1]: [blocking dimension] — [evidence with file:line or doc link]
- [Option 2]: [blocking dimension] — [evidence]
- ...
**Recommended next step:**
- [Re-scope the question] — [how the topic should narrow/widen so candidates can clear]
- OR [Expand the candidate pool] — [what new candidate sources to enumerate; e.g., named ecosystem option not surfaced by Step 2]
**Frontmatter overrides:** set `confidence: low` and `status: blocked`.
## Scope Boundaries
- [What we're building]
- [What we're NOT doing]
## Testing Strategy
**Unit tests:**
- [Key test scenario 1]
- ...
**Integration tests:**
- [End-to-end scenario 1]
- ...
**Manual verification:**
- [ ] [Manual test 1]
- [ ] ...
## Open Questions
**Resolved during research:**
- [Question that was answered] - [Answer with evidence from file:line]
**Requires user input:**
- [Business or design question] - [Default assumption for planning]
**Blockers:**
- [Critical unknown that prevents implementation] - [How to unblock]
## References
- `thoughts/shared/research/[file].md` - [Context]
- `src/file.ext:line` - [Similar implementation]
- `thoughts/shared/[file].md` - [Historical decision]
last_updated and last_updated_by## Follow-up Analysis [timestamp]