brainstorming
Coordinates collaborative design sessions that explore requirements, analyze codebase context, and produce an approved design document with trade-offs. Use when building a new feature, adding functionality, creating components, modifying behavior, starting a project, or planning any creative work. DO NOT TRIGGER when the user already has a concrete design and just wants implementation.
- License 许可
- MIT
- 最近更新
- 2026-10-27
- Stars
- ★ 5
- Forks
- 2
01 前言 Front Matter
- name
- brainstorming
- description
- Coordinates collaborative design sessions that explore requirements, analyze codebase context, and produce an approved design document with trade-offs. Use when building a new feature, adding functionality, creating components, modifying behavior, starting a project, or planning any creative work. DO NOT TRIGGER when the user already has a concrete design and just wants implementation.
03 SKILL.md 正文
Brainstorming Ideas Into Designs
Overview
Help turn ideas into fully formed designs through collaborative dialogue, enhanced by parallel research scouts.
Deploy scouts to explore project context in parallel, synthesize their findings, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design and get user approval.
<HARD-GATE> Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and your human partner has approved it. This applies to EVERY project regardless of perceived simplicity. </HARD-GATE>
Anti-Pattern: "This Is Too Simple To Need A Design"
Every project goes through this process. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short, but you MUST present it and get approval.
Checklist
You MUST create a task for each of these items and complete them in order:
- Deploy research scouts — spawn ephemeral Explore-type subagents (Agent tool, no team) to investigate project context in parallel
- Synthesize findings — collect scout reports, build understanding
- Ask clarifying questions — one at a time, understand purpose/constraints/success criteria
- Propose 2-3 approaches — with trade-offs and your recommendation
- Present design — in sections scaled to their complexity, ask after each section whether it looks right so far
- Get explicit design approval — STOP and wait for your human partner to confirm the design. Do NOT proceed until they explicitly approve. If they have concerns, revise and re-present.
- Create worktree — on design approval, invoke kit:git-worktrees to create isolated workspace and cd into it
- Write design doc — save to
docs/plans/YYYY-MM-DD-<topic>-design.mdin the worktree (do NOT commit) - STOP — confirm transition — Tell your human partner the design is documented and ask if they're ready to move to implementation planning. Do NOT invoke writing-plans until they confirm.
- Invoke writing-plans — on confirmation, invoke kit:writing-plans to create the implementation plan
Re-Entry (Same Worktree)
When brainstorming is re-invoked after implementation feedback (already in a worktree):
Detection:
# Check if we're in a worktree (not the main working tree)
git worktree list --porcelain | grep -A2 "$(pwd)"
If already in a worktree:
- Skip scout phase (codebase context already established)
- Skip worktree creation (already in one)
- Go straight to dialogue with the existing design doc as context
- Read existing
docs/plans/*-design.mdto understand prior design decisions - If multiple design docs exist, read the most recent one (latest date prefix)
- Write updated/new design doc to same
docs/plans/directory
Process Flow
digraph brainstorming {
"Already in worktree?" [shape=diamond];
"Spawn ephemeral scouts" [shape=box];
"Scouts explore in parallel" [shape=box];
"Synthesize scout findings" [shape=box];
"Ask clarifying questions" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"STOP — wait for explicit approval" [shape=doubleoctagon, style=bold];
"User approves design?" [shape=diamond];
"Create worktree (kit:git-worktrees)" [shape=box];
"Write design doc (no commit)" [shape=box];
"STOP — confirm transition" [shape=doubleoctagon, style=bold];
"Ready for implementation?" [shape=diamond];
"Invoke writing-plans skill" [shape=doublecircle];
"Already in worktree?" -> "Ask clarifying questions" [label="yes — skip scouts"];
"Already in worktree?" -> "Spawn ephemeral scouts" [label="no — fresh start"];
"Spawn ephemeral scouts" -> "Scouts explore in parallel";
"Scouts explore in parallel" -> "Synthesize scout findings";
"Synthesize scout findings" -> "Ask clarifying questions";
"Ask clarifying questions" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "Present design sections";
"Present design sections" -> "STOP — wait for explicit approval";
"STOP — wait for explicit approval" -> "User approves design?";
"User approves design?" -> "Present design sections" [label="no, revise"];
"User approves design?" -> "Create worktree (kit:git-worktrees)" [label="yes (fresh start)"];
"User approves design?" -> "Write design doc (no commit)" [label="yes (re-entry)"];
"Create worktree (kit:git-worktrees)" -> "Write design doc (no commit)";
"Write design doc (no commit)" -> "STOP — confirm transition";
"STOP — confirm transition" -> "Ready for implementation?";
"Ready for implementation?" -> "Invoke writing-plans skill" [label="yes"];
}
The terminal state is invoking writing-plans. Do NOT invoke any other implementation skill.
Research Scout Phase
REQUIRED (fresh start only): Spawn ephemeral Explore-type subagents via the Agent tool — no team, no shutdown.
1. Spawn Scouts
Spawn 2-3 ephemeral Explore-type subagents (Agent tool, no team) to investigate different aspects in parallel:
- scout-codebase (Explore): Explore codebase structure, key patterns, relevant files
- scout-docs (Explore): Read docs, README, recent commits related to topic
- scout-patterns (Explore): Find similar implementations or patterns in the codebase
Spawn all scouts in a single message for maximum parallelism. For a large or highly varied sweep, author a dynamic scout workflow instead. Scouts are ephemeral — they end when they return their reports; there is no team to shut down.
2. Synthesize
Collect all scout reports. Build comprehensive understanding before engaging your human partner.
The Dialogue
Understanding the idea:
- Present synthesized context to your human partner (or existing design context on re-entry)
- Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible
- Only one question per message
- Focus on: purpose, constraints, success criteria
Exploring approaches:
- Propose 2-3 approaches with trade-offs
- Lead with your recommended option
- Optionally spawn approach-elaboration teammates for parallel deep-dives
Presenting the design:
- Once you believe you understand what you're building, present the design
- Scale each section to its complexity: a few sentences if straightforward, up to 200-300 words if nuanced
- 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
<HARD-GATE> After presenting the design, STOP and wait for your human partner to explicitly approve it. Do NOT write the design doc, create a worktree, or invoke any other skill until they confirm. "Looks good", "approved", "let's go" = proceed. Anything else = revise and re-present. </HARD-GATE>
After the Design (only after explicit approval)
Worktree (fresh start only):
- Invoke kit:git-worktrees to create worktree and cd into it
- Branch name: Derive from topic using kebab-case with a feature/ prefix (e.g., feature/auth-system)
- This is the moment isolation begins
Documentation:
- Write validated design to
docs/plans/YYYY-MM-DD-<topic>-design.md - Do NOT commit the design document
<HARD-GATE> After writing the design doc, STOP and ask your human partner if they are ready to proceed to implementation planning. Do NOT invoke writing-plans until they confirm. They may want to review the design doc, make changes, or take a break before continuing. </HARD-GATE>
Implementation (only after human confirms):
- Invoke the writing-plans skill to create implementation plan
- Do NOT invoke any other skill. writing-plans is the next step.
Key Principles
- One question at a time — don't overwhelm
- Multiple choice preferred — easier to answer
- YAGNI ruthlessly — remove unnecessary features
- Explore alternatives — always propose 2-3 approaches
- Incremental validation — get approval before moving on
- Scouts enhance, don't replace dialogue — human conversation is the core
- No commits — design docs are workspace artifacts, not git artifacts
04 同仓库更多 Skills
writing-docs
Use when creating or editing documentation of any kind, including Markdown, RST, or HTML pages, READMEs, design docs, ADRs, changelogs, docstrings, and comment blocks. Covers document purpose, headings, paragraphs, lists, procedures, notices, cross-references, code samples, placeholders, example data, and word choice for technical writing.
work
Runs the story worker loop in a story-workflow project — claim ready stories, implement each in its own worktree, close through verification gates, repeat until the goal is met or the loop stalls. Use when asked to "work the board", "complete all stories", "work on epic st-XXXX", "pick up the next story", "start a worker", or to resume or continue a story run — and when a loop re-prompt names the next story in a session that started the loop. DO NOT TRIGGER without .agents/shousper-stories/config.json (use stories:setup first), for decomposing a spec into stories (stories:plan), or to stop a run (stories:cancel).
using-stories
Compressed story-workflow rulebook, injected automatically at session start (including after compaction) in projects with .agents/shousper-stories/config.json. Use when unsure of the workflow rules mid-session, when asked "how does the story workflow work here", or for a story CLI quick reference. DO NOT TRIGGER in projects without .agents/shousper-stories/config.json, to set up the workflow (stories:setup), to file stories (stories:plan), or to run the loop (stories:work).
setup
Interactive onboarding that turns a repo into a story-workflow project — merge-mode choice, verification gates with test-runner detection, gitignore wiring, optional project-specific reviewer personas. Use when asked to "set up the story workflow", "adopt stories", "story init", "install the story board", or when stories:plan / stories:work is wanted but .agents/shousper-stories/config.json does not exist yet. DO NOT TRIGGER when .agents/shousper-stories/config.json already exists (use stories:plan to file work, stories:work to execute it), for creating individual stories, or for project scaffolding unrelated to the story workflow.
plan
Decomposes a spec or approved design into epics and stories on the story board — sized, dependency-ordered, gated, human-approved, then filed via the story CLI. Use in a project with .agents/shousper-stories/config.json when there is a design doc (often from kit:brainstorming), spec, requirements file, or feature request to break down; it replaces kit:writing-plans in the workflow chain for story-based projects. Also use for "file stories", "break this into stories", "populate the board". DO NOT TRIGGER in projects without .agents/shousper-stories/config.json (use kit:writing-plans), for executing stories (stories:work), or for filing a single discovered-work story mid-loop (plain story create).
cancel
Stops an active story loop and reports where the board stands. Use when asked to "stop the loop", "cancel the story run", "halt autonomous story work", "kill the worker loop", or when a runaway run must be shut down. DO NOT TRIGGER for closing a single story (that is story done inside stories:work), for deleting or archiving stories, or for removing the story workflow from a project.