AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Brainstorm

skill-dirkkok101-skills-brainstorm · by dirkkok101

>

No reviews yet
0 installs
34 views
0.0% view→install

Install

$ agentstack add skill-dirkkok101-skills-brainstorm

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-dirkkok101-skills-brainstorm)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Brainstorm? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Brainstorm: Problem → Approach → Route

Philosophy: Understand the RIGHT problem before solving it. Pick the right approach. Define boundaries. Then route to the right depth of pipeline. Brainstorm is lean — it produces a validated problem statement, a chosen direction, and scope classification. Deep research moves to /research, detailed requirements move to /prd.

Target duration: 15-30 minutes for a typical brainstorm. If it's taking longer, you're going too deep — route to /discovery or /research instead.

Why This Matters

The most expensive mistake in software development is building the wrong thing. A feature that solves a symptom instead of the root cause, or that reimplements what a library already provides, wastes weeks of effort. Brainstorming prevents this by:

  • Reframing the problem — "I need a minimap" becomes "players need navigation feedback"
  • Surfacing alternatives — including "Do Less" which is often the right answer
  • Right-sizing the process — a 2-hour bugfix doesn't need a full PRD and design doc
  • Recording decisions — so the team doesn't relitigate settled choices months later

Trigger Conditions

Run this skill when:

  • Starting a new feature or significant refactoring
  • User describes a rough idea needing refinement
  • User says "brainstorm", "let's explore", "how should we approach"
  • You need to validate a problem before moving to design or planning

Stage Gates — AskUserQuestion

At every PAUSE point in this skill, call the AskUserQuestion tool to present structured options to the user. Do not present options as plain markdown text — use the tool. The YAML blocks at each PAUSE point show the exact parameters to pass.

For pattern details and examples: ../_shared/references/stage-gates.md

> Fallback: Only if AskUserQuestion is not available as a tool (check your tool list), fall back to presenting options as markdown text and waiting for freeform response.


Collaborative Model

Phase 1: Understand the Problem
  ── PAUSE 1: "Here's the root problem. Is this right?" ──
Phase 2: Draft Boundaries
Phase 3: Generate & Compare Approaches
Phase 4: Self-Review (gates presentation)
Phase 5: Select, Classify & Route
  ── PAUSE 2: "Here are the options, scope, and routing. Which approach? Ready for next step?" ──
Phase 6: Output (save brainstorm.md)

The agent's stance should adapt to the user:

  • User gives short, vague responses → agent leads more, asks questions, offers options
  • User gives detailed, opinionated responses → agent follows, validates, stress-tests
  • User seems stuck → agent facilitates with specific techniques (5 Whys, "How Might We", analogies)

Prerequisites

Step 0 — Import Upstream Artifacts:

Check for existing work before starting fresh:

  • Research brief (if /research was run) — docs/research/{feature}/research-brief.md (findings tagged [CONSTRAINT], [OPTION], [RISK], [PRIOR-ART], [UNKNOWN])
  • Existing brainstormdocs/brainstorm/{feature}/brainstorm.md (prior work on this feature)
  • Existing designsdocs/designs/ (surface constraints for Phase 2 boundaries)
  • Existing plansdocs/plans/ (note prior scope decisions)
  • Learningsdocs/learnings/ (relevant gotchas, patterns, and context gaps from past features)

If the project uses an issue tracker, search for existing issues related to the feature.

If existing work is found, ask: "Found existing {artifact}. Build on this or start fresh?"

Create the output directory: docs/brainstorm/{feature}/


Critical Sequence

Phase 1: Understand the Problem

Step 1.1 — Import Research (if available):

If a research brief exists at docs/research/{feature}/research-brief.md, read it and note tagged findings. These will be mapped to approaches in Step 3.2.

Step 1.2 — The 5 Whys:

Before accepting the problem statement, dig deeper:

User: "I want to add a minimap to the dungeon view"
Why? → "So players can see where they've been"
Why does that matter? → "They get lost and frustrated"
Why do they get lost? → "Dungeon layouts are confusing"
Why are they confusing? → "No landmarks, all corridors look the same"
Root Problem: Navigation feedback, not necessarily a minimap

Ask: "What's the pain point you're trying to solve?" then follow with "Why?" until you reach the root.

If the user opens with a solution instead of a problem, reframe: "That's one approach. What's the underlying problem it would solve?"

When to abbreviate the 5 Whys: If the user demonstrates deep domain understanding and has clearly already done root cause thinking (e.g., they present the problem with evidence and context), acknowledge their analysis and move forward. The 5 Whys is a tool for finding root causes, not a ritual — if the root cause is already clear, don't force 5 rounds of "why". Two genuine rounds may be enough.

If the user pushes back ("just build what I asked for"), acknowledge their preference, confirm the problem statement as they've framed it, and note in the output that root cause analysis was abbreviated.

Step 1.3 — Validate Worth Solving:

[ ] What happens if we DON'T solve this?
[ ] Is this solving a symptom or root cause?
[ ] Is this the right time to solve it?
[ ] Who is asking for this and why?

Step 1.4 — Understand the User Journey:

Ask: "Walk me through how someone would use this."

  • Who uses this feature?
  • What's their current workflow or workaround?
  • How will they discover this feature?
  • What does success look like for them?

PAUSE 1: Present the root problem and user journey as formatted markdown:

## Problem Framing

**Surface request:** {what the user originally asked for}
**Root problem:** {the underlying issue discovered through 5 Whys}

### User Journey
{How users currently experience this pain, their workaround, and what success looks like}

Then use a Decision Gate (Pattern 1) to confirm:

AskUserQuestion:
  question: "Does this problem framing feel right?"
  header: "Problem"
  multiSelect: false
  options:
    - label: "Accept (Recommended)"
      description: "Root problem and user journey are correct. Proceed to Phase 2."
    - label: "Redirect"
      description: "This is a symptom, not the root cause. Iterate on problem definition."
    - label: "Clarify"
      description: "Need more context before confirming."

If AskUserQuestion is unavailable, fall back to presenting the above as prose and waiting for freeform response.


Phase 2: Draft Boundaries

Step 2.1 — Minimum Viable Version:

Ask: "What's the smallest version that would be useful?"

  • What can we defer to v2?
  • Nice-to-have vs must-have?
  • What would a 1-day version look like?

Step 2.2 — Initial Complexity Budget:

Ask: "How much complexity is this problem worth?"

## Complexity Budget (draft — refined after approach selection)
- Maximum new services: {0-2 typically}
- Maximum new screens: {estimate}
- Estimated effort: {Low/Medium/High}
- Maintenance cost we accept: {Low/Medium/High}

Note: these are draft boundaries. They may need adjustment once we see what the approaches actually require.

Step 2.3 — Anti-Requirements & Kill Criteria:

## Boundaries
### Must Have (v1)
- {essential requirement}

### Deferred (v2+)
- {future enhancement}

### Anti-Requirements
- Must NOT: {explicit exclusion}

### Kill Criteria
Abandon if:
- {technical blocker}
- {complexity exceeds budget by 50%+}

Kill criteria are monitored during /technical-design and /execute.
If a kill criterion triggers, return to this brainstorm to reassess.

Phase 3: Generate & Compare Approaches

Step 3.1 — Quick Context Scan:

This is a QUICK scan, not a deep dive. Deep investigation is /discovery's job.

  • Search learnings first: Scan docs/learnings/ for entries matching this feature's domain, technology, or pattern. Past learnings often contain gotchas that reshape approach viability. If a learning says "X approach failed because Y," factor that into Phase 3 approach generation.
  • Check the codebase for similar features (names and relevance only — surface-level check for obvious patterns and constraints)
  • If the project uses CASS, search for prior sessions related to this feature: relevant implementation context may already exist

Step 3.2 — Create 2-3 Distinct Options:

Each approach should be genuinely different, not variations of the same idea.

Import research findings into approaches: If research brief exists, explicitly map tagged findings to approaches:

  • [OPTION] tags → Seed as distinct approach or sub-option within an approach
  • [PRIOR-ART] tags → Consider for "Do Less" or "Adopt" approaches
  • [CONSTRAINT] tags → Apply as hard boundary to all approaches (note which approaches violate constraints)
  • [RISK] tags → Map to "biggest risk" for relevant approaches
  • [UNKNOWN] tags → Flag as investigation needed; approaches that depend on unknowns get higher risk rating
### Approach A: {Name}
**Core idea:** {1 sentence}
**How it works:** {2-3 sentences, conceptual}
**Pros:** {benefits}
**Cons:** {drawbacks}
**Complexity:** Low/Medium/High
**Within budget:** Yes/No
**Biggest risk:** {what could make this fail}

### Approach B: {Name}
...

### Approach C: Do Less
**Core idea:** {minimal or no change}
**When this is right:** {conditions where this is the best answer}

Always include a "Do Less" option. This might be adopting an existing library, using an existing feature differently, or accepting the current state. "Do Less" is not a strawman — it's often the right answer.

Step 3.3 — Comparison Matrix:

| Approach | Complexity | Risk | Completeness | Builds On Existing | Recommendation | |----------|-----------|------|-------------|-------------------|----------------| | A | Medium | Low | 8/10 | Yes — existing patterns | Preferred | | B | High | Medium | 10/10 | No — new design | Fallback | | C: Do Less | Low | Low | 4/10 | N/A | If budget is tight |

Completeness scoring (0-10): How thoroughly does this approach solve the root problem? AI makes the marginal cost of completeness near-zero — a "lake" (achievable completeness within the current feature) should be boiled. An "ocean" (multi-quarter rewrite) should be flagged as out of scope. Score each approach honestly so the user sees what they're gaining or giving up.


Phase 4: Self-Review

Gates PAUSE 2 — complete this before presenting to the user.

1 round, 3 themes. Brainstorm is lean — don't over-review.

Theme 1: Problem Clarity

  • [ ] Root problem identified (not symptom)?
  • [ ] User journey clear and realistic?

Theme 2: Boundary Discipline

  • [ ] Must-haves truly essential?
  • [ ] Anti-requirements prevent scope creep?
  • [ ] Complexity budget explicit?

Theme 3: Approach Differentiation

  • [ ] 2-3 genuinely different options (not variations of the same idea)?
  • [ ] "Do Less" included and honestly assessed?
  • [ ] At least one approach within complexity budget?
  • [ ] Each approach has a "biggest risk" identified?

If any theme fails, fix it before proceeding to PAUSE 2.


Phase 5: Select, Classify & Route

Step 5.1 — Scope Classification:

Scan for complexity signals:

## Scope Classification

Signals detected:
- [ ] Auth/identity/security involvement
- [ ] Regulatory or compliance requirements
- [ ] Multiple user roles or personas
- [ ] External system integrations
- [ ] New data model with 5+ entities
- [ ] UI-heavy with multiple screens (3+)
- [ ] Cross-system data flows
- [ ] Background processing / async workflows
- [ ] Significant unknowns or unfamiliar domain
- [ ] Multiple services affected

Score:
- 0-2 signals: BRIEF
- 3-4 signals: STANDARD
- 5+ signals: COMPREHENSIVE

Override rule: Any single high-impact signal can override the count. Auth/security, regulatory compliance, or significant unknowns alone may warrant COMPREHENSIVE even with only 1-2 signals. Use judgment — the count is a starting point, not a verdict.

| Scope | Pipeline Depth | |-------|---------------| | BRIEF | brainstorm → plan → beads → execute → review → compound | | STANDARD | brainstorm → prd → technical-design → plan → beads → execute → review → compound | | COMPREHENSIVE | brainstorm → discovery → prd → technical-design → plan → beads → execute → review → compound |

BRIEF scope means the brainstorm document contains enough information for /plan to work directly — no PRD or design doc needed. BRIEF does not change brainstorm's internal phases (all 6 run) — the difference is in routing: BRIEF skips /prd and /technical-design, so the brainstorm must be thorough enough for /plan to work without them.

PAUSE 2: This is a two-step gate: approach selection, then routing.

Step 1 — Present brainstorm summary as formatted markdown:

## Brainstorm Summary

**Feature:** {name}
**Root Problem:** {1 sentence}

### Approaches
{Comparison matrix from Phase 3}

### Scope Classification
**Scope:** {BRIEF | STANDARD | COMPREHENSIVE}
**Signals:** {list of detected signals}

Step 2 — Approach selection using a Comparison Gate (Pattern 2). Each option gets a preview with its details:

AskUserQuestion:
  question: "Which approach should we take?"
  header: "Approach"
  multiSelect: false
  options:
    - label: "Approach A: {Name}"
      description: "{Core idea}. {Complexity} complexity."
      preview: |
        ### Approach A: {Name}
        **Core idea:** {1 sentence}
        **How it works:** {2-3 sentences}
        **Pros:** {benefits}
        **Cons:** {drawbacks}
        **Complexity:** {Low/Medium/High}
        **Biggest risk:** {what could make this fail}
    - label: "Approach B: {Name}"
      description: "{Core idea}. {Complexity} complexity."
      preview: |
        ### Approach B: {Name}
        **Core idea:** {1 sentence}
        **How it works:** {2-3 sentences}
        **Pros:** {benefits}
        **Cons:** {drawbacks}
        **Complexity:** {Low/Medium/High}
        **Biggest risk:** {what could make this fail}
    - label: "Do Less"
      description: "{Minimal change option}. Low complexity."
      preview: |
        ### Approach C: Do Less
        **Core idea:** {minimal or no change}
        **When this is right:** {conditions where this is the best answer}
        **Pros:** {benefits}
        **Cons:** {drawbacks}

If AskUserQuestion is unavailable, fall back to presenting approaches as prose and waiting for freeform response.

Step 3 — Stress test the chosen approach:

Once the user picks, challenge the selection:

  • "What's the biggest risk with this approach?"
  • "What would make this fail?"
  • "Does this fit within the complexity budget, or should we adjust?"

If the user picks the highest-risk option, explicitly flag the risks. If the chosen approach exceeds the complexity budget, surface this: "This approach exceeds the draft complexity budget. Expand the budget or pick a simpler approach?"

Step 4 — Routing decision using a Decision Gate (Pattern 1). The recommended option matches the scope classification:

AskUserQuestion:
  question: "What should we do next?"
  header: "Next step"
  multiSelect: false
  options:
    - label: "Start discovery (Recommended for COMPREHENSIVE)"
      description: "Deep requirements gathering. Best for complex features with many unknowns."
    - label: "Start PRD (Recommended for STANDARD)"
      description: "Structured requirements. Best for features with moderate complexity."
    - label: "Start plan (Recommended for BRIEF)"
      description: "Plan directly from brainstorm. Best for well-understood, small features."
    - label: "Refine"
      description: "Continue iterating on approaches or boundaries."

Mark the option matching the scope classification as "(Recommended)" and remove the "(Recommended for ..

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.