ワンクリックで
brainstorming
Use before any creative work - creating features, building components, adding functionality, or modifying behavior.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use before any creative work - creating features, building components, adding functionality, or modifying behavior.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when implementing new features or applications, or starting complex multi-step tasks that may benefit from structured workflows like brainstorming, TDD, or debugging. NOT for simple questions or straightforward operations.
Use when you have a spec or requirements for a multi-step task, before touching code
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
Use when executing implementation plans with independent tasks in the current session
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees in <project_root>/.worktrees
| name | brainstorming |
| description | Use before any creative work - creating features, building components, adding functionality, or modifying behavior. |
Help turn ideas into fully formed proposals 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 and get user approval. Then write the proposal and the feature spec — the behavioral contract that drives all downstream work.
HARD GATE: Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have written both the proposal and the feature spec, the spec reviewer has approved the feature spec, and the user has approved them. This applies to EVERY project regardless of perceived simplicity.
Every project goes through this process. A todo list, a single-function utility, a config change — all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The proposal can be short (a few sentences for truly simple projects), but you MUST present it and get approval. The feature spec can be brief for simple changes, but it MUST exist as a separate artifact with behavioral requirements.
You MUST create a task for each of these items and complete them in order:
docs/specs/ for relevant domain specs. They describe current system behavior. If no spec exists for the relevant domain, note that the feature spec will define the domain's initial behavioral requirements.docs/design/YYYY-MM-DD-<topic>-proposal.md and commitdocs/design/YYYY-MM-DD-<topic>-spec.md and commitspec-document-reviewer-prompt.md to verify the spec is complete and behavioraldigraph brainstorming {
"Read living specs\n(docs/specs/)" [shape=box];
"Explore project context" [shape=box];
"Ask clarifying questions" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"User approves design?" [shape=diamond];
"Write proposal\n(docs/design/)" [shape=box];
"Write feature spec\n(docs/design/)" [shape=box];
"Dispatch spec reviewer" [shape=box];
"Spec reviewer approves?" [shape=diamond];
"User reviews proposal + spec?" [shape=diamond];
"Invoke writing-plans skill" [shape=doublecircle];
"Read living specs\n(docs/specs/)" -> "Explore project context";
"Explore project context" -> "Ask clarifying questions";
"Ask clarifying questions" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "Present design sections";
"Present design sections" -> "User approves design?";
"User approves design?" -> "Present design sections" [label="no, revise"];
"User approves design?" -> "Write proposal\n(docs/design/)" [label="yes"];
"Write proposal\n(docs/design/)" -> "Write feature spec\n(docs/design/)";
"Write feature spec\n(docs/design/)" -> "Dispatch spec reviewer";
"Dispatch spec reviewer" -> "Spec reviewer approves?";
"Spec reviewer approves?" -> "Write feature spec\n(docs/design/)" [label="issues found"];
"Spec reviewer approves?" -> "User reviews proposal + spec?" [label="approved"];
"User reviews proposal + spec?" -> "Write proposal\n(docs/design/)" [label="changes requested"];
"User reviews proposal + spec?" -> "Invoke writing-plans skill" [label="approved"];
}
The terminal state is invoking writing-plans. Do NOT invoke any implementation skill directly. The ONLY skill you invoke after brainstorming is writing-plans.
Understanding the idea:
docs/specs/<domain>.md if it exists — it describes current system behavior for the relevant domain. If no spec exists for the domain, note that the feature spec will define the domain's initial behavioral requirements.Exploring approaches:
Presenting the design:
Design for isolation and clarity:
Working in existing codebases:
The proposal captures why and what scope. Save to docs/design/YYYY-MM-DD-<topic>-proposal.md and commit.
# Proposal: <Topic>
## Intent
<!-- Why are we doing this? What problem does it solve? Why now? -->
## Scope
**In scope:**
<!-- What this change covers -->
**Out of scope:**
<!-- What is explicitly excluded -->
## Approach
<!-- The recommended approach and why. Briefly note alternatives considered. -->
## Impact
<!-- Affected code, APIs, dependencies, systems -->
The feature spec captures what behavior — the behavioral contract. This is the most important artifact from brainstorming. It drives the delta spec in writing-plans, the spec compliance review in implementation, and the living spec sync in finishing.
Save to docs/design/YYYY-MM-DD-<topic>-spec.md and commit.
# Spec: <Topic>
## Domain: <domain-name>
### ADDED Requirements
#### Requirement: <requirement-name>
The system SHALL <behavioral description>.
##### Scenario: <scenario-name>
- GIVEN <precondition>
- WHEN <trigger>
- THEN <expected outcome>
### MODIFIED Requirements
#### Requirement: <existing-requirement-name>
<!-- Only the changed parts. The sync process preserves existing content. -->
##### Scenario: <new-or-changed-scenario>
- GIVEN <precondition>
- WHEN <trigger>
- THEN <expected outcome>
### REMOVED Requirements
#### Requirement: <deprecated-requirement-name>
(Brief explanation of why.)
If modifying an existing domain (living spec exists): Write ADDED/MODIFIED/REMOVED sections relative to the current living spec.
If creating a new domain (no living spec exists): Everything is ADDED. Write all behavioral requirements from scratch.
If the change has no behavioral impact (refactoring, internal restructure):
# Spec: <Topic>
## No Behavioral Changes
<Brief description of the internal change.>
No requirements added, modified, or removed.
Spec writing rules:
## Domain: section per affected domain. If the feature touches multiple domains, add a section for eachAfter writing the feature spec, dispatch a read-only subagent using spec-document-reviewer-prompt.md to verify the spec is complete and truly behavioral.
If the reviewer finds issues: Fix the spec, then re-dispatch the reviewer. Loop until the reviewer approves.
If the reviewer finds fundamental issues (the spec is entirely architecture, the approach is wrong at the behavioral level): escalate to the user before rewriting. Present the reviewer's findings and ask whether to revise the approach or start over. Don't silently rewrite the spec based on reviewer feedback — the user may have a different perspective on what behavior they actually want.
Do NOT proceed to the user review gate until the spec reviewer approves.
After the spec reviewer approves, present both artifacts to the user for review. Ask them to confirm or request changes before proceeding to the implementation plan. If they request changes, make them, re-run the spec reviewer, and re-present. Only proceed once the user approves.