From rune
Generates multiple creative solution approaches with trade-offs using SCAMPER and First Principles frameworks. Hands off to plan skill. Use discovery mode for tasks, vision for products, design-it-twice for interfaces.
npx claudepluginhub rune-kit/rune --plugin @rune/analyticsThis skill uses the workspace's default tool permissions.
Creative ideation and solution exploration. Brainstorm is the creative engine of the Creation group — it generates multiple approaches with trade-offs, explores alternatives using structured frameworks, and hands the selected approach to plan for structuring. Uses opus for deep creative reasoning.
Explores design alternatives with parallel agents for brainstorming ideas, solutions, or comparisons in software projects.
Generates divergent ideas for achieving goals: validates assumptions, spawns isolated brainstormers using first-principles, working-backwards, analogical techniques, synthesizes into idea report. No code.
Expands seed ideas and escapes convergent brainstorming ruts by exploring possibility space. Use for growing concepts or breaking repetitive ideation in software or other domains.
Share bugs, ideas, or general feedback.
Creative ideation and solution exploration. Brainstorm is the creative engine of the Creation group — it generates multiple approaches with trade-offs, explores alternatives using structured frameworks, and hands the selected approach to plan for structuring. Uses opus for deep creative reasoning.
Do NOT invoke any implementation skill or write any code until the user has approved the design. This applies to EVERY task regardless of perceived simplicity. "This is too simple to need a design" is a rationalization. Simple tasks get simple designs (a few sentences), but they still get designs.Normal brainstorming at the start of a task — generate approaches before any code is written.
Activated for product-level rethinks — not "how to implement X" but "should we even build X?" Forces 10x thinking instead of incremental improvement.
Vision Mode triggers:
/rune brainstorm vision <product area>@rune-pro/product.feature-spec when requirements feel incrementalVision Mode constraints:
Activated when exploring alternative interface shapes for a deepening candidate. Spawns N=3-4 parallel subagents, each pinned to a radically different design constraint (minimize / maximize-flexibility / optimize-common-case / ports-and-adapters), computes a diversity score over feature vectors, and presents sequentially with an opinionated recommendation. Used by improve-architecture when a deepened module's interface is non-obvious.
Design-It-Twice triggers:
improve-architecture (Step 7 hand-off) when the picked candidate has multiple credible interface shapes/rune brainstorm design-it-twice <module>Design-It-Twice constraints:
Full doctrine: references/design-it-twice.md.
Activated when an approach has been tried and fundamentally failed — not a bug, but a wrong approach. Rescue mode forces category-diverse alternatives instead of variants of the failed approach.
Rescue Mode triggers:
cook Phase 4: Approach Pivot Gate fires (3 debug-fix loops exhausted + re-plan still fails)debug: 3-Fix Escalation Rule fires AND root cause is "approach doesn't work" (not a bug in implementation)fix: 3 fix attempts fail AND each attempt reveals a different blocker (systemic, not localized)/rune brainstorm rescue <what failed and why>Rescue Mode input:
mode: "rescue"
failed_approach: string — what was tried
failure_evidence: string[] — concrete reasons it failed (error messages, blockers, dead ends)
original_goal: string — what we're still trying to achieve
Rescue Mode constraints:
Category examples (approaches in different categories):
Direct API call ≠ Wrapper/middleware layer ≠ Reverse engineering ≠ Browser automation
≠ Extension/plugin ≠ Proxy/bridge service ≠ Alternative tool entirely
cook when multiple valid approaches exist for a feature (Discovery Mode)cook Approach Pivot Gate when current approach fundamentally fails (Rescue Mode)debug 3-Fix Escalation when root cause is architectural, not a bug (Rescue Mode)plan when architecture decision needs creative exploration (Discovery Mode)/rune brainstorm <topic> — manual brainstorming (Discovery Mode)/rune brainstorm rescue <context> — manual rescue (Rescue Mode)plan (L2): when idea is selected and needs structuring into actionable stepsdesign (L2): when selected approach has UI/UX implications — hand off visual decisionsresearch (L3): gather data for informed brainstorming (existing solutions, benchmarks)trend-scout (L3): market context and trends for product-oriented brainstormingproblem-solver (L3): structured reasoning frameworks (SCAMPER, First Principles, 6 Hats)sequential-thinking (L3): evaluating approaches with many variablescook (L1): when multiple valid approaches exist for a feature (Discovery Mode)cook (L1): Approach Pivot Gate — current approach failed, need category-diverse alternatives (Rescue Mode)debug (L2): 3-Fix Escalation when root cause is "wrong approach" not "wrong code" (Rescue Mode)plan (L2): when architecture decision needs creative exploration (Discovery Mode)/rune brainstorm <topic> direct invocation (Discovery Mode)/rune brainstorm rescue <context> manual rescue (Rescue Mode)ba (L2): when multiple requirement approaches existimprove-architecture (L2): when a deepened module's interface needs Design-It-Twice explorationbrainstorm ↔ plan — bidirectional: brainstorm generates options → plan structures the chosen one, plan needs exploration → brainstorm ideatesSCAMPER — Substitute, Combine, Adapt, Modify, Put to use, Eliminate, Reverse
FIRST PRINCIPLES — Break down to fundamentals, rebuild from ground up
6 THINKING HATS — Facts, Emotions, Caution, Benefits, Creativity, Process
CRAZY 8s — 8 ideas in 8 minutes (rapid ideation)
Collision-Zone Thinking — Force unrelated concepts together: "What if we treated X like Y?"
Inversion Exercise — Flip every assumption: "What if the opposite were true?"
Scale Game — Test at extremes (1000x bigger/smaller) to expose fundamentals
Check the invocation context:
mode="design-it-twice" is set, or caller is improve-architecture Step 7, or user says "design it twice / explore interfaces" → Design-It-Twice Mode (jump to Step 2.5 directly)mode="vision" is set, or user says "rethink/reimagine/step back" → Vision Modemode="rescue" is set, or caller is Approach Pivot Gate / 3-Fix Escalation → Rescue ModeIf Rescue Mode: read failed_approach and failure_evidence before proceeding. These become anti-constraints — approaches that MUST NOT repeat the failed category.
State the decision to be made in one clear sentence: "We need to decide HOW TO [achieve X] given [constraints Y]." Identify:
If the problem is unclear, ask the user ONE clarifying question before proceeding.
After framing the problem, restate it back to the user for confirmation:
"Let me confirm: you want to [X] because [Y],
and the main constraint is [Z]. Correct?"
DO NOT generate approaches until user confirms the restatement. This prevents wasted ideation on a misunderstood problem — the most expensive brainstorm failure mode.
Skip conditions (Rescue Mode only):
failure_evidence — restatement is implicit in the failed approach summary.When Step 1 or Step 1.5 reveals gaps, ask structured clarifying questions using this format:
### [P0|P1|P2] **[DECISION POINT]**
**Question:** [Clear, specific question]
**Why This Matters:**
- [Architectural consequence — what changes based on the answer]
- [Affects: cost | complexity | timeline | scale | security]
**Options:**
| Option | Pros | Cons | Best For |
|--------|------|------|----------|
| A | [+] | [-] | [scenario] |
| B | [+] | [-] | [scenario] |
**If Not Specified:** [Default choice + rationale]
Priority levels:
Rules:
Discovery Mode: Produce exactly 2–3 distinct approaches. Rescue Mode: Produce exactly 3–5 approaches, each a different category from the failed approach. Design-It-Twice Mode: skip to Step 2.5.
Each approach must be meaningfully different — not just variations of the same idea. For each approach provide:
If the domain is unfamiliar or data is needed, invoke rune:research before generating options. For product/market context, invoke rune:trend-scout.
Spawn N=3 parallel subagents (or N=4 if dependency category is remote-owned / true-external). Each is pinned to exactly one constraint via Task tool spawn:
| Constraint ID | Pinning |
|---|---|
| C1 | "Minimize the interface — aim for 1–3 entry points. Maximize leverage per entry point." |
| C2 | "Maximize flexibility — support many use cases, extension surface." |
| C3 | "Optimize for the most common caller — make the default case trivial. Rare cases pay cost." |
| C4 | "Design around ports and adapters for cross-seam dependencies." (only when applicable) |
Use the spawn prompt template from references/design-it-twice.md. Include CONTEXT.md domain terms in the prompt so each design names things consistently with project domain language.
Each subagent returns a YAML block: interface, usage example, what's hidden, dependency strategy/adapters, tradeoffs.
Discovery Mode — Apply the most relevant framework:
Rescue Mode — MUST use at least one of these (conventional thinking already failed):
Additionally in Rescue Mode:
rune:research to search for how others solved similar problems (repos, articles, workarounds)[Direct API], [Wrapper], [Reverse-Engineer], [Proxy], [Extension], [Alternative Tool], etc.For approaches with many interacting variables, invoke rune:sequential-thinking to reason through trade-offs systematically.
After subagents return, compute the diversity score:
feature_vector(design) = [
count(methods), count(return_types), count(adapter_kinds),
count(dependencies), paradigm_tag, has_async, has_streaming
]
diversity = 1 - mean(pairwise_jaccard(feature_vectors))
| Diversity | Action |
|---|---|
| ≥ 0.6 | Proceed to Step 4 |
| 0.4 – 0.59 | Surface to user: "designs are similar in [shared trait] — re-spawn with different constraints?" |
| < 0.4 | Re-spawn once with rotated constraints; if still <0.4, give up and present what's there with a diversity-low warning |
Emit diversity_score in chain_metadata.
Select ONE approach as the recommendation. State:
Do not recommend "it depends" without a concrete decision rule.
For product-level brainstorming (Vision Mode or when approaches have strategic implications), structure the recommendation into time-horizon tiers:
| Tier | Timeframe | Focus |
|---|---|---|
| Quick Win | 0-30 days | Immediate value, validates direction, low risk |
| Differentiation | 1-3 months | Competitive advantage, harder to copy |
| Long-term Moat | 6-12 months | Defensible position, compounds over time |
For each tier, specify:
### Quick Win (0-30 days)
- **Action**: [specific deliverable from the chosen approach]
- **Resources**: [team/tools needed]
- **Expected Impact**: [measurable outcome]
- **Validates**: [what assumption this proves/disproves]
### Differentiation (1-3 months)
- **Action**: [...]
- **Resources**: [...]
- **Expected Impact**: [...]
### Long-term Moat (6-12 months)
- **Action**: [...]
- **Resources**: [...]
- **Expected Impact**: [...]
Rules:
If two designs have complementary strengths (e.g., C1's leverage + C4's seam discipline), propose a 4th option that combines them. Skip this step when no two designs have clear complementary strengths.
Option D (Hybrid C1 + C4):
- Interface: 3 methods (from C1's minimization)
- Adapters: HttpAdapter + InMemoryAdapter (from C4's port discipline)
- Pros: small surface AND testable across the seam
- Cons: more upfront design work; locks the port early
The hybrid is the recommended default in many cases. Be opinionated.
Pass the recommended approach back to rune:plan for structuring into an executable implementation plan. Include:
If the user rejects the recommendation, return to Step 2 with adjusted constraints and regenerate.
diversity_score and re-spawn (once) if below 0.4 floor## Brainstorm: [Topic]
### Context
[Problem statement and constraints]
### Option A: [Name] (Recommended)
- **Approach**: [description]
- **Pros**: [advantages]
- **Cons**: [disadvantages]
- **Effort**: low | medium | high
- **Risk**: low | medium | high — [main risk]
### Option B: [Name]
- **Approach**: [description]
- **Pros**: [advantages]
- **Cons**: [disadvantages]
- **Effort**: low | medium | high
- **Risk**: low | medium | high — [main risk]
### Option C: [Name] (if needed)
...
### Recommendation
Option A — [one-line primary reason].
Choose Option B if [specific hedge condition].
### Next Step
Proceeding to rune:plan with Option A. Constraints to honor: [list].
| Artifact | Format | Location |
|---|---|---|
| Option matrix (2-3 Discovery / 3-5 Rescue) | Markdown sections | inline (chat output) |
| Trade-off analysis per option | Markdown (pros/cons/effort/risk) | inline |
| Single recommendation with hedge condition | Markdown | inline |
| Approved design document | Markdown | docs/plans/<feature>.md |
Known failure modes for this skill. Check these before declaring done.
| Failure Mode | Severity | Mitigation |
|---|---|---|
| Generating only one option instead of 2-3 | HIGH | Always present multiple approaches — the value is in the comparison, not the recommendation |
| Proceeding to plan without user approval on the approach | CRITICAL | Brainstorm MUST get explicit sign-off before calling plan — no silent "going with Option A" |
| Options are variations of the same approach (fake diversity) | HIGH | Options must differ in architecture, not just naming — different trade-offs, not just different words |
| [Rescue] Generating variants of the failed approach | CRITICAL | Each approach MUST have a different category tag — if two share a tag, one must be replaced |
| [Rescue] Skipping Collision-Zone/Inversion frameworks | HIGH | Conventional thinking already failed — MUST use at least one breakthrough framework |
| [Rescue] All approaches are "clean/proper" — no hacky option | MEDIUM | At least 1 must be unconventional — wrappers, reverse-engineering, debug mode abuse, proxy layers |
| Calling plan directly instead of presenting options first | CRITICAL | Steps 2-3 are mandatory — present options, get approval, THEN call plan |
| "Creative" options that ignore stated constraints | MEDIUM | Every option must satisfy the constraints declared in Step 1 |
| [Design-It-Twice] Single agent producing N options instead of N parallel subagents | HIGH | Step 2.5 — constraint pinning happens at spawn, not in a loop. Each constraint = one Task call |
| [Design-It-Twice] Diversity score below 0.4 ignored | HIGH | Step 3.5 gate — re-spawn once; if still low, present with explicit "low-diversity" warning |
| [Design-It-Twice] "It depends" recommendation | HIGH | Step 4 — must pick one with a hedge; if genuinely tied, propose hybrid (Step 4.5) and recommend that |
| [Design-It-Twice] Forgetting to include CONTEXT.md domain terms in subagent prompt | MEDIUM | Step 2.5 spawn template requires domain glossary be passed through |
plan (L2) called with the approved approach and constraints~2000-5000 tokens input, ~1000-2500 tokens output. Opus for creative reasoning depth. Runs infrequently — only when creative exploration is needed.
Scope guardrail: Brainstorm produces options and a recommendation — never implementation code or an execution plan. All code and planning begins only after user approves an approach and rune:plan is invoked.