agentleFS
thedigitalorganizerthedigitalorganizer/soloship/skills/brainstorm/SKILL.md

brainstorm

Skill0 starsChanged 5 months agoMITView on GitHub

Explore what you're building before planning. Merges Compound Engineering's feature-exploration methodology with Superpowers' brainstorming discipline into one flow. For pure demand-validation questions, use /soloship:office-hours instead. Ends with a nudge to design visually before running /soloship:plan.

189 other projects use a version of this, 2 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use playtest-report, team-polish 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.
  • CoralGameSkill

    playtest-report

    Generates a structured playtest report template or analyzes existing playtest notes into a structured format. Use this to standardize playtest feedback collection and analysis.

    Also in 9 projects that use this

  • CoralGameSkill

    team-polish

    Orchestrate the polish team: coordinates performance-analyst, technical-artist, sound-designer, and qa-tester to optimize, polish, and harden a feature or area for release quality.

    Also in 11 projects that use this

  • lilangMaxSkill

    soak-test

    Generate a soak test protocol for extended play sessions. Defines what to observe, measure, and log during long play sessions to surface slow leaks, fatigue effects, and edge cases that only appear after sustained play. Primarily used in Polish and Release phases.

    Also in 6 projects that use this

  • lilangMaxSkill

    team-live-ops

    Orchestrate the live-ops team for post-launch content planning: coordinates live-ops-designer, economy-designer, analytics-engineer, community-manager, writer, and narrative-director to design and plan a season, event, or live content update.

    Also in 6 projects that use this

  • +8 more from CoralGame

The file

Show its rules and text

We split this skill into the rules it gives an agent

47 rules. 0 are common, 37 are distinctive, and 10 are very specific to this project.

  • 0

    Common

    Most of the 156 edited versions we read keep these.

  • 37

    Distinctive

    This author's own choices. Worth a look.

  • 10

    Very specific

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

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

    If you are running this skill in Codex, read ../references/codex-compatibility.md before following host-specific tool instructions.

    line 12
  2. Distinctive:

    Ask yourself: is this a demand question or a feature question?

    line 47
  3. Very specific:

    If unclear: Default to feature brainstorming.

    line 70
  4. Distinctive:

    After brainstorming concludes and you have clarity on WHAT to build, present this before suggesting /plan:

    line 76
  5. Very specific:

    After design exists but BEFORE /plan, suggest /grill-me when the work is non-trivial:

    line 89
  6. Distinctive:

    Note: The current year is 2026: Use this when dating brainstorm documents.

    line 140
  7. Distinctive:

    Do not proceed until you have a feature description from the user.

    line 152
  8. Very specific:

    Use AskUserQuestion tool to suggest: "Your requirements seem detailed enough to proceed directly to planning.

    line 167
  9. Distinctive:

    Run a quick repo scan to understand existing patterns:

    line 173
  10. Very specific:

    If docs/architecture/COMPONENTS.md exists, read it before creating or specifying UI components — reuse or extend an existing component on …

    line 180
  11. Distinctive:

    Use the AskUserQuestion tool to ask questions one at a time.

    line 189
  12. Distinctive:

    Prefer multiple choice when natural options exist

    line 192
  13. Distinctive:

    Start broad (purpose, users) then narrow (constraints, edge cases)

    line 193
  14. Distinctive:

    Ask about success criteria

    line 195
  15. Distinctive:

    When it's best suited

    line 206
  16. Distinctive:

    Use AskUserQuestion tool to ask which approach the user prefers.

    line 210
  17. Very specific:

    Write a brainstorm document to docs/drafts/YYYY-MM-DD-<topic>-brainstorm.md.

    line 214
  18. Very specific:

    Ensure docs/drafts/ directory exists before writing.

    line 218
  19. Distinctive:

    Use AskUserQuestion tool to present next steps:

    line 224
  20. Very specific:

    Proceed to planning: - Run /soloship:plan (will auto-detect this brainstorm)

    line 230
  21. Distinctive:

    When document-review returns "Review complete", present next steps:

    line 240
  22. Distinctive:

    Ask one question at a time: - Don't overwhelm

    line 271
  23. Distinctive:

    Apply YAGNI: - Prefer simpler approaches

    line 272
  24. Distinctive:

    NEVER CODE! Just explore and document decisions.

    line 275
  25. Distinctive:

    Before diving into questions, assess whether brainstorming is needed.

    line 306
  26. Distinctive:

    If requirements are clear, suggest: "Your requirements seem clear.

    line 320
  27. Distinctive:

    Ask questions one at a time to understand the user's intent.

    line 324
  28. Distinctive:

    Avoid: "How should users be notified?"

    line 330
  29. Distinctive:

    After understanding the idea, propose 2-3 concrete approaches.

    line 358
  30. Distinctive:

    Consider YAGNI—simpler is usually better

    line 381
  31. Distinctive:

    Keep sections short—200-300 words maximum.

    line 435
  32. Very specific:

    When brainstorm output exists, /soloship:plan should detect it and use it as input, skipping its own idea refinement phase.

    line 466
  33. Distinctive:

    Start by understanding the current project context, then ask questions one at a time to refine the idea.

    line 481
  34. Distinctive:

    Check out the current project state first (files, docs, recent commits)

    line 486
  35. Distinctive:

    Ask questions one at a time to refine the idea

    line 487
  36. Distinctive:

    Prefer multiple choice questions when possible, but open-ended is fine too

    line 488
  37. Distinctive:

    Only one question per message - if a topic needs more exploration, break it into multiple questions

    line 489
  38. Distinctive:

    Ask after each section whether it looks right so far

    line 500
  39. Very specific:

    Write the validated design to docs/drafts/YYYY-MM-DD-<topic>-design.md

    line 507
  40. Distinctive:

    Use elements-of-style:writing-clearly-and-concisely skill if available

    line 508
  41. Distinctive:

    Commit the design document to git

    line 509
  42. Distinctive:

    Ask: "Ready to set up for implementation?"

    line 512
  43. Distinctive:

    Use using-git-worktrees to create isolated workspace

    line 513
  44. Distinctive:

    Use writing-plans to create detailed implementation plan

    line 514
  45. Distinctive:

    One question at a time: - Don't overwhelm with multiple questions

    line 518
  46. Distinctive:

    YAGNI ruthlessly: - Remove unnecessary features from all designs

    line 520
  47. Distinctive:

    Explore alternatives: - Always propose 2-3 approaches before settling

    line 521

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

Host Compatibility

If you are running this skill in Codex, read ../references/codex-compatibility.md before following host-specific tool instructions. Claude Code should continue to use the Claude-specific tools and command wrappers described here.

Soloship Brainstorm

Your job is to help the user think through what they're building before they plan how to build it.

Model posture (see .claude/rules/model-mode.md)

Standard posture (Opus/Sonnet/Codex — the default): run this skill exactly as written, every step in order.

Fable posture (model id contains fable/mythos): the gates below are binding; the rest is method guidance you may adapt.

Gates (binding): the Step 1/2 routing decision — demand questions go to /soloship:office-hours, not a lighter version of this flow · the Phase 1.1 repo-research dispatch (its grounding is gate evidence; per delegation-discipline it is also the ceiling) · Phase 3's open-questions checkpoint — every open question put to the user before offering to plan · the artifact contract — brainstorm output on disk in docs/drafts/ with frontmatter · Step 3's design-first nudge, presented every time · Step 3.5's grill-me nudge whenever the work meets its triggers · Phase 4's handoff options put to the user · the scope lock and tangents parking lot, raised at the end · NEVER CODE · every Verification checklist box.

Choreography (adaptable in Fable posture): the conversational pacing — one-question-at-a-time, the multiple-choice preference, 200–300-word sections with per-section validation — and the exact 2–3-approaches count. Phase 2's OUTCOME stays binding: genuine alternatives compared with honest trade-offs and a led recommendation, YAGNI applied. How the dialogue gets there is yours to shape around how the user actually answers.

Step 1: Determine the Type of Question

Ask yourself: is this a demand question or a feature question?

Demand questions — "should we build this at all?", "who is this for?", "is this the right direction?", business model, market fit, narrowest wedge. These are founder-level validations before committing engineering effort.

Feature questions — "what should this feature do?", "how should we approach this?", "React or Vue?", implementation trade-offs, data modeling, API design, requirements exploration for something you've already decided to build.

Step 2: Route

For demand questions: For pure demand-validation questions, invoke /soloship:office-hours instead — it uses 6 forcing questions that expose demand reality, status quo, and the narrowest wedge. Use this only when the existence of the feature is in question.

For feature questions: Apply the feature-exploration methodology below. It runs a full collaborative dialogue that covers requirements clarity, repository research, approach exploration, and YAGNI trade-offs, and writes the output to docs/drafts/.

If unclear: Default to feature brainstorming. office-hours is reserved for genuine "should this exist" moments; most sessions are about shaping a feature the user has already committed to.

Step 3: Design-First Nudge

After brainstorming concludes and you have clarity on WHAT to build, present this before suggesting /plan:

You know what you're building. Now design what it looks like before you plan how to build it. Use Stitch, Figma, or sketch it on paper. When you can see it, run /plan.

Present this nudge every time. Real product teams (Apple, Google, Stripe) start with design, not architecture. You can't plan how to build something until you can see what you're building.

Step 3.5: Grill-Me Nudge (for medium-or-larger work)

After design exists but BEFORE /plan, suggest /grill-me when the work is non-trivial:

Before planning, run /grill-me. It walks every branch of the design tree — premise, scope, data, edge cases, UX, final scope — and saves the rationale as a sibling doc the plan will reference. Plans grilled first need fewer review revisions later.

When to suggest:

  • 5+ files OR new infrastructure OR data-model changes
  • Auth, payments, migrations, or external integrations
  • Anything where a wrong scope decision is expensive to undo

When to skip the suggestion:

  • Single-file mechanical change
  • Bug fix with a clear root cause already identified
  • A spike or throwaway prototype

The user can always run /grill-me themselves; the nudge just makes it discoverable at the right moment.

The CE brainstorm workflow writes its own artifact to docs/drafts/. If you ran office-hours instead and no file was produced, write the brainstorm output to docs/drafts/YYYY-MM-DD-<topic>-design.md with this frontmatter:

---
date: YYYY-MM-DD
producer: soloship-brainstorm
version: 1
ttl_days: 14
---

Verification

The brainstorm is not complete until ALL of these are true:

  • Question type identified (demand vs feature) and routed correctly
  • Brainstorm output exists on disk (CE writes to docs/drafts/; office-hours runs write to docs/drafts/YYYY-MM-DD-<topic>-design.md)
  • Design-first nudge presented (not skipped, not buried)

Feature exploration methodology (from CE brainstorm)

<!-- Vendored from compound-engineering v2.34.0 (Kieran Klaassen). See skills/vendored/ce/LICENSE. -->

Brainstorm a Feature or Improvement

Note: The current year is 2026. Use this when dating brainstorm documents.

Brainstorming helps answer WHAT to build through collaborative dialogue. It precedes /soloship:plan, which answers HOW to build it.

Process knowledge: Load the brainstorming skill for detailed question techniques, approach exploration patterns, and YAGNI principles.

Feature Description

<feature_description> #$ARGUMENTS </feature_description>

If the feature description above is empty, ask the user: "What would you like to explore? Please describe the feature, problem, or improvement you're thinking about."

Do not proceed until you have a feature description from the user.

Execution Flow

Phase 0: Assess Requirements Clarity

Evaluate whether brainstorming is needed based on the feature description.

Clear requirements indicators:

  • Specific acceptance criteria provided
  • Referenced existing patterns to follow
  • Described exact expected behavior
  • Constrained, well-defined scope

If requirements are already clear: Use AskUserQuestion tool to suggest: "Your requirements seem detailed enough to proceed directly to planning. Should I run /soloship:plan instead, or would you like to explore the idea further?"

Phase 1: Understand the Idea

1.1 Repository Research (Lightweight)

Run a quick repo scan to understand existing patterns:

  • Dispatch a general-purpose subagent with the prompt in references/agents/repo-research-analyst.md, input: "Understand existing patterns related to: <feature_description>"

Focus on: similar features, established patterns, CLAUDE.md guidance.

<!-- concern:component-reuse -->

If docs/architecture/COMPONENTS.md exists, read it before creating or specifying UI components — reuse or extend an existing component on purpose match, cite what you found, and apply the rule of three (see references/component-inventory.md). Point the research subagent at the inventory so exploration builds on existing UI instead of inventing parallel components.

1.2 Collaborative Dialogue

Use the AskUserQuestion tool to ask questions one at a time.

Guidelines (see brainstorming skill for detailed techniques):

  • Prefer multiple choice when natural options exist
  • Start broad (purpose, users) then narrow (constraints, edge cases)
  • Validate assumptions explicitly
  • Ask about success criteria

Exit condition: Continue until the idea is clear OR user says "proceed"

Phase 2: Explore Approaches

Propose 2-3 concrete approaches based on research and conversation.

For each approach, provide:

  • Brief description (2-3 sentences)
  • Pros and cons
  • When it's best suited

Lead with your recommendation and explain why. Apply YAGNI—prefer simpler solutions.

Use AskUserQuestion tool to ask which approach the user prefers.

Phase 3: Capture the Design

Write a brainstorm document to docs/drafts/YYYY-MM-DD-<topic>-brainstorm.md.

Document structure: See the brainstorming skill for the template format. Key sections: What We're Building, Why This Approach, Key Decisions, Open Questions.

Ensure docs/drafts/ directory exists before writing.

IMPORTANT: Before proceeding to Phase 4, check if there are any Open Questions listed in the brainstorm document. If there are open questions, YOU MUST ask the user about each one using AskUserQuestion before offering to proceed to planning. Move resolved questions to a "Resolved Questions" section.

Phase 4: Handoff

Use AskUserQuestion tool to present next steps:

Question: "Brainstorm captured. What would you like to do next?"

Options:

  1. Review and refine - Improve the document through structured self-review
  2. Proceed to planning - Run /soloship:plan (will auto-detect this brainstorm)
  3. Ask more questions - I have more questions to clarify before moving on
  4. Done for now - Return later

If user selects "Ask more questions": YOU (Claude) return to Phase 1.2 (Collaborative Dialogue) and continue asking the USER questions one at a time to further refine the design. The user wants YOU to probe deeper - ask about edge cases, constraints, preferences, or areas not yet explored. Continue until the user is satisfied, then return to Phase 4.

If user selects "Review and refine":

Load the document-review skill and apply it to the brainstorm document.

When document-review returns "Review complete", present next steps:

  1. Move to planning - Continue to /soloship:plan with this document
  2. Done for now - Brainstorming complete. To start planning later: /soloship:plan [document-path]

Output Summary

When complete, display:

Brainstorm complete!

Document: docs/drafts/YYYY-MM-DD-<topic>-brainstorm.md

Key decisions:
- [Decision 1]
- [Decision 2]

Next: Run `/soloship:plan` when ready to implement.

Important Guidelines

  • Scope lock (session start) — name the one question this session is exploring before you begin, and open a tangents parking lot. Brainstorming sprawls: every good idea suggests three adjacent ones. When an adjacent idea surfaces, drop it in the parking lot and return to the question at hand; raise the list at the end as "worth a separate session?". This is the lighter mirror of /soloship:implement's run-start scope lock — same instinct (declare the boundary up front, park what's outside it), lower stakes.
  • Stay focused on WHAT, not HOW - Implementation details belong in the plan
  • Ask one question at a time - Don't overwhelm
  • Apply YAGNI - Prefer simpler approaches
  • Keep outputs concise - 200-300 words per section max

NEVER CODE! Just explore and document decisions.


Brainstorming process (from CE brainstorming)

<!-- Vendored from compound-engineering v2.34.0 (Kieran Klaassen). See skills/vendored/ce/LICENSE. -->

Brainstorming

This skill provides detailed process knowledge for effective brainstorming sessions that clarify WHAT to build before diving into HOW to build it.

When to Use This Skill

Brainstorming is valuable when:

  • Requirements are unclear or ambiguous
  • Multiple approaches could solve the problem
  • Trade-offs need to be explored with the user
  • The user hasn't fully articulated what they want
  • The feature scope needs refinement

Brainstorming can be skipped when:

  • Requirements are explicit and detailed
  • The user knows exactly what they want
  • The task is a straightforward bug fix or well-defined change

Core Process

Phase 0: Assess Requirement Clarity

Before diving into questions, assess whether brainstorming is needed.

Signals that requirements are clear:

  • User provided specific acceptance criteria
  • User referenced existing patterns to follow
  • User described exact behavior expected
  • Scope is constrained and well-defined

Signals that brainstorming is needed:

  • User used vague terms ("make it better", "add something like")
  • Multiple reasonable interpretations exist
  • Trade-offs haven't been discussed
  • User seems unsure about the approach

If requirements are clear, suggest: "Your requirements seem clear. Consider proceeding directly to planning or implementation."

Phase 1: Understand the Idea

Ask questions one at a time to understand the user's intent. Avoid overwhelming with multiple questions.

Question Techniques:

  1. Prefer multiple choice when natural options exist
    • Good: "Should the notification be: (a) email only, (b) in-app only, or (c) both?"
    • Avoid: "How should users be notified?"
  2. Start broad, then narrow
    • First: What is the core purpose?
    • Then: Who are the users?
    • Finally: What constraints exist?
  3. Validate assumptions explicitly
    • "I'm assuming users will be logged in. Is that correct?"
  4. Ask about success criteria early
    • "How will you know this feature is working well?"

Key Topics to Explore:

TopicExample Questions
PurposeWhat problem does this solve? What's the motivation?
UsersWho uses this? What's their context?
ConstraintsAny technical limitations? Timeline? Dependencies?
SuccessHow will you measure success? What's the happy path?
Edge CasesWhat shouldn't happen? Any error states to consider?
Existing PatternsAre there similar features in the codebase to follow?

Exit Condition: Continue until the idea is clear OR user says "proceed" or "let's move on"

Phase 2: Explore Approaches

After understanding the idea, propose 2-3 concrete approaches.

Structure for Each Approach:

### Approach A: [Name]

[2-3 sentence description]

**Pros:**
- [Benefit 1]
- [Benefit 2]

**Cons:**
- [Drawback 1]
- [Drawback 2]

**Best when:** [Circumstances where this approach shines]

Guidelines:

  • Lead with a recommendation and explain why
  • Be honest about trade-offs
  • Consider YAGNI—simpler is usually better
  • Reference codebase patterns when relevant

Phase 3: Capture the Design

Summarize key decisions in a structured format.

Design Doc Structure:

date: YYYY-MM-DD
topic: <kebab-case-topic>

# <Topic Title>

## What We're Building
[Concise description—1-2 paragraphs max]

## Why This Approach
[Brief explanation of approaches considered and why this one was chosen]

## Key Decisions
- [Decision 1]: [Rationale]
- [Decision 2]: [Rationale]

## Open Questions
- [Any unresolved questions for the planning phase]

## Next Steps
→ `/soloship:plan` for implementation details

Output Location: docs/drafts/YYYY-MM-DD-<topic>-brainstorm.md

Phase 4: Handoff

Present clear options for what to do next:

  1. Proceed to planning → Run /soloship:plan
  2. Refine further → Continue exploring the design
  3. Done for now → User will return later

YAGNI Principles

During brainstorming, actively resist complexity:

  • Don't design for hypothetical future requirements
  • Choose the simplest approach that solves the stated problem
  • Prefer boring, proven patterns over clever solutions
  • Ask "Do we really need this?" when complexity emerges
  • Defer decisions that don't need to be made now

Incremental Validation

Keep sections short—200-300 words maximum. After each section of output, pause to validate understanding:

  • "Does this match what you had in mind?"
  • "Any adjustments before we continue?"
  • "Is this the direction you want to go?"

This prevents wasted effort on misaligned designs.

Anti-Patterns to Avoid

Anti-PatternBetter Approach
Asking 5 questions at onceAsk one at a time
Jumping to implementation detailsStay focused on WHAT, not HOW
Proposing overly complex solutionsStart simple, add complexity only if needed
Ignoring existing codebase patternsResearch what exists first
Making assumptions without validatingState assumptions explicitly and confirm
Creating lengthy design documentsKeep it concise—details go in the plan

Integration with Planning

Brainstorming answers WHAT to build:

  • Requirements and acceptance criteria
  • Chosen approach and rationale
  • Key decisions and trade-offs

Planning answers HOW to build it:

  • Implementation steps and file changes
  • Technical details and code patterns
  • Testing strategy and verification

When brainstorm output exists, /soloship:plan should detect it and use it as input, skipping its own idea refinement phase.


Brainstorming discipline (from Superpowers)

<!-- Vendored from superpowers v4.1.1 (Jesse Vincent). See skills/vendored/superpowers/LICENSE. -->

Brainstorming Ideas Into Designs

Overview

Help turn ideas into fully formed designs and specs through natural collaborative dialogue.

Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design in small sections (200-300 words), checking after each section whether it looks right so far.

The Process

Understanding the idea:

  • Check out the current project state first (files, docs, recent commits)
  • Ask questions one at a time to refine the idea
  • Prefer multiple choice questions when possible, but open-ended is fine too
  • Only one question per message - if a topic needs more exploration, break it into multiple questions
  • Focus on understanding: purpose, constraints, success criteria

Exploring approaches:

  • Propose 2-3 different approaches with trade-offs
  • Present options conversationally with your recommendation and reasoning
  • Lead with your recommended option and explain why

Presenting the design:

  • Once you believe you understand what you're building, present the design
  • Break it into sections of 200-300 words
  • Ask after each section whether it looks right so far
  • Cover: architecture, components, data flow, error handling, testing
  • Be ready to go back and clarify if something doesn't make sense

After the Design

Documentation:

  • Write the validated design to docs/drafts/YYYY-MM-DD-<topic>-design.md
  • Use elements-of-style:writing-clearly-and-concisely skill if available
  • Commit the design document to git

Implementation (if continuing):

  • Ask: "Ready to set up for implementation?"
  • Use using-git-worktrees to create isolated workspace
  • Use writing-plans to create detailed implementation plan

Key Principles

  • One question at a time - Don't overwhelm with multiple questions
  • Multiple choice preferred - Easier to answer than open-ended when possible
  • YAGNI ruthlessly - Remove unnecessary features from all designs
  • Explore alternatives - Always propose 2-3 approaches before settling
  • Incremental validation - Present design in sections, validate each
  • Be flexible - Go back and clarify when something doesn't make sense

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.