@every-env/compound-plugin 2.38.0 → 2.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/plugins/compound-engineering/CLAUDE.md +3 -3
- package/plugins/compound-engineering/README.md +0 -1
- package/plugins/compound-engineering/skills/ce-brainstorm/SKILL.md +240 -50
- package/plugins/compound-engineering/skills/ce-plan/SKILL.md +32 -31
- package/plugins/compound-engineering/skills/ce-review/SKILL.md +2 -1
- package/plugins/compound-engineering/skills/document-review/SKILL.md +12 -7
- package/plugins/compound-engineering/skills/resolve_todo_parallel/SKILL.md +1 -1
- package/plugins/compound-engineering/skills/brainstorming/SKILL.md +0 -190
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
Release numbering now follows the repository `v*` tag line. Starting at `v2.34.0`, the root CLI package and this changelog stay on that shared version stream. Older entries below retain the previous `0.x` CLI numbering.
|
|
9
9
|
|
|
10
|
+
# [2.39.0](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.38.0...v2.39.0) (2026-03-16)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* drop 'CLI' suffix from Codex and Gemini platform names ([ec8d685](https://github.com/EveryInc/compound-engineering-plugin/commit/ec8d68580f3da65852e72c127cccc6e66326369b))
|
|
16
|
+
* make brainstorm handoff auto-chain and cross-platform ([637653d](https://github.com/EveryInc/compound-engineering-plugin/commit/637653d2edf89c022b9e312ea02c0ac1a305d741))
|
|
17
|
+
* restore 'wait for the user's reply' fallback language ([fca3a40](https://github.com/EveryInc/compound-engineering-plugin/commit/fca3a4019c55c76b9f1ad326cc3d284f5007b8f4))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* add leverage check to brainstorm skill ([0100245](https://github.com/EveryInc/compound-engineering-plugin/commit/01002450cd077b800a917625c5eb6d12da061d0b))
|
|
23
|
+
* instruct brainstorm skill to use platform blocking question tools ([d2c4cee](https://github.com/EveryInc/compound-engineering-plugin/commit/d2c4cee6f9774a5fb2c8ca325c389dadb4a72b1c))
|
|
24
|
+
* refactor brainstorm skill into requirements-first workflow ([4d80a59](https://github.com/EveryInc/compound-engineering-plugin/commit/4d80a59e51b4b2e99ff8c2443e2a1b039d7475c9))
|
|
25
|
+
|
|
10
26
|
# [2.38.0](https://github.com/EveryInc/compound-engineering-plugin/compare/v2.37.1...v2.38.0) (2026-03-16)
|
|
11
27
|
|
|
12
28
|
|
package/README.md
CHANGED
|
@@ -194,7 +194,7 @@ Brainstorm → Plan → Work → Review → Compound → Repeat
|
|
|
194
194
|
| `/ce:review` | Multi-agent code review before merging |
|
|
195
195
|
| `/ce:compound` | Document learnings to make future work easier |
|
|
196
196
|
|
|
197
|
-
The
|
|
197
|
+
The `/ce:brainstorm` skill supports collaborative dialogue to clarify requirements and compare approaches before committing to a plan.
|
|
198
198
|
|
|
199
199
|
Each cycle compounds: brainstorms sharpen plans, plans inform future plans, reviews catch more issues, patterns get documented.
|
|
200
200
|
|
package/package.json
CHANGED
|
@@ -76,10 +76,10 @@ When adding or modifying skills, verify compliance with skill-creator spec:
|
|
|
76
76
|
- [ ] Use imperative/infinitive form (verb-first instructions)
|
|
77
77
|
- [ ] Avoid second person ("you should") - use objective language ("To accomplish X, do Y")
|
|
78
78
|
|
|
79
|
-
###
|
|
79
|
+
### Cross-Platform User Interaction
|
|
80
80
|
|
|
81
|
-
- [ ]
|
|
82
|
-
- [ ]
|
|
81
|
+
- [ ] When a skill needs to ask the user a question, instruct use of the platform's blocking question tool and name the known equivalents (`AskUserQuestion` in Claude Code, `request_user_input` in Codex, `ask_user` in Gemini)
|
|
82
|
+
- [ ] Include a fallback for environments without a question tool (e.g., present numbered options and wait for the user's reply before proceeding)
|
|
83
83
|
|
|
84
84
|
### Quick Validation Command
|
|
85
85
|
|
|
@@ -131,7 +131,6 @@ Core workflow commands use `ce:` prefix to unambiguously identify them as compou
|
|
|
131
131
|
|
|
132
132
|
| Skill | Description |
|
|
133
133
|
|-------|-------------|
|
|
134
|
-
| `brainstorming` | Explore requirements and approaches through collaborative dialogue |
|
|
135
134
|
| `document-review` | Improve documents through structured self-review |
|
|
136
135
|
| `every-style-editor` | Review copy for Every's style guide compliance |
|
|
137
136
|
| `file-todos` | File-based todo tracking system |
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ce:brainstorm
|
|
3
|
-
description: Explore requirements and approaches through collaborative dialogue before planning implementation
|
|
3
|
+
description: 'Explore requirements and approaches through collaborative dialogue before writing a right-sized requirements document and planning implementation. Use for feature ideas, problem framing, when the user says ''let''s brainstorm'', or when they want to think through options before deciding what to build. Also use when a user describes a vague or ambitious feature request, asks ''what should we build'', ''help me think through X'', presents a problem with multiple valid solutions, or seems unsure about scope or direction — even if they don''t explicitly ask to brainstorm.'
|
|
4
4
|
argument-hint: "[feature idea or problem to explore]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Brainstorm a Feature or Improvement
|
|
8
8
|
|
|
9
|
-
**Note: The current year is 2026.** Use this when dating
|
|
9
|
+
**Note: The current year is 2026.** Use this when dating requirements documents.
|
|
10
10
|
|
|
11
11
|
Brainstorming helps answer **WHAT** to build through collaborative dialogue. It precedes `/ce:plan`, which answers **HOW** to build it.
|
|
12
12
|
|
|
13
|
-
**
|
|
13
|
+
The durable output of this workflow is a **requirements document**. In other workflows this might be called a lightweight PRD or feature brief. In compound engineering, keep the workflow name `brainstorm`, but make the written artifact strong enough that planning does not need to invent product behavior, scope boundaries, or success criteria.
|
|
14
|
+
|
|
15
|
+
This skill does not implement code. It explores, clarifies, and documents decisions for later planning or execution.
|
|
16
|
+
|
|
17
|
+
## Core Principles
|
|
18
|
+
|
|
19
|
+
1. **Assess scope first** - Match the amount of ceremony to the size and ambiguity of the work.
|
|
20
|
+
2. **Be a thinking partner** - Suggest alternatives, challenge assumptions, and explore what-ifs instead of only extracting requirements.
|
|
21
|
+
3. **Resolve product decisions here** - User-facing behavior, scope boundaries, and success criteria belong in this workflow. Detailed implementation belongs in planning.
|
|
22
|
+
4. **Keep implementation out of the requirements doc by default** - Do not include libraries, schemas, endpoints, file layouts, or code-level design unless the brainstorm itself is inherently about a technical or architectural change.
|
|
23
|
+
5. **Right-size the artifact** - Simple work gets a compact requirements document or brief alignment. Larger work gets a fuller document. Do not add ceremony that does not help planning.
|
|
24
|
+
6. **Apply YAGNI to carrying cost, not coding effort** - Prefer the simplest approach that delivers meaningful value. Avoid speculative complexity and hypothetical future-proofing, but low-cost polish or delight is worth including when its ongoing cost is small and easy to maintain.
|
|
25
|
+
|
|
26
|
+
## Interaction Rules
|
|
27
|
+
|
|
28
|
+
1. **Ask one question at a time** - Do not batch several unrelated questions into one message.
|
|
29
|
+
2. **Prefer single-select multiple choice** - Use single-select when choosing one direction, one priority, or one next step.
|
|
30
|
+
3. **Use multi-select rarely and intentionally** - Use it only for compatible sets such as goals, constraints, non-goals, or success criteria that can all coexist. If prioritization matters, follow up by asking which selected item is primary.
|
|
31
|
+
4. **Use the platform's question tool when available** - When asking the user a question, prefer the platform's blocking question tool if one exists (`AskUserQuestion` in Claude Code, `request_user_input` in Codex, `ask_user` in Gemini). Otherwise, present numbered options in chat and wait for the user's reply before proceeding.
|
|
32
|
+
|
|
33
|
+
## Output Guidance
|
|
34
|
+
|
|
35
|
+
- **Keep outputs concise** - Prefer short sections, brief bullets, and only enough detail to support the next decision.
|
|
14
36
|
|
|
15
37
|
## Feature Description
|
|
16
38
|
|
|
@@ -22,9 +44,16 @@ Do not proceed until you have a feature description from the user.
|
|
|
22
44
|
|
|
23
45
|
## Execution Flow
|
|
24
46
|
|
|
25
|
-
### Phase 0: Assess
|
|
47
|
+
### Phase 0: Resume, Assess, and Route
|
|
48
|
+
|
|
49
|
+
#### 0.1 Resume Existing Work When Appropriate
|
|
26
50
|
|
|
27
|
-
|
|
51
|
+
If the user references an existing brainstorm topic or document, or there is an obvious recent matching `*-requirements.md` file in `docs/brainstorms/`:
|
|
52
|
+
- Read the document
|
|
53
|
+
- Confirm with the user before resuming: "Found an existing requirements doc for [topic]. Should I continue from this, or start fresh?"
|
|
54
|
+
- If resuming, summarize the current state briefly, continue from its existing decisions and outstanding questions, and update the existing document instead of creating a duplicate
|
|
55
|
+
|
|
56
|
+
#### 0.2 Assess Whether Brainstorming Is Needed
|
|
28
57
|
|
|
29
58
|
**Clear requirements indicators:**
|
|
30
59
|
- Specific acceptance criteria provided
|
|
@@ -33,71 +62,228 @@ Evaluate whether brainstorming is needed based on the feature description.
|
|
|
33
62
|
- Constrained, well-defined scope
|
|
34
63
|
|
|
35
64
|
**If requirements are already clear:**
|
|
36
|
-
|
|
65
|
+
Keep the interaction brief. Confirm understanding and present concise next-step options rather than forcing a long brainstorm. Only write a short requirements document when a durable handoff to planning or later review would be valuable. Skip Phase 1.1 and 1.2 entirely — go straight to Phase 1.3 or Phase 3.
|
|
66
|
+
|
|
67
|
+
#### 0.3 Assess Scope
|
|
68
|
+
|
|
69
|
+
Use the feature description plus a light repo scan to classify the work:
|
|
70
|
+
- **Lightweight** - small, well-bounded, low ambiguity
|
|
71
|
+
- **Standard** - normal feature or bounded refactor with some decisions to make
|
|
72
|
+
- **Deep** - cross-cutting, strategic, or highly ambiguous
|
|
73
|
+
|
|
74
|
+
If the scope is unclear, ask one targeted question to disambiguate and then proceed.
|
|
37
75
|
|
|
38
76
|
### Phase 1: Understand the Idea
|
|
39
77
|
|
|
40
|
-
#### 1.1
|
|
78
|
+
#### 1.1 Existing Context Scan
|
|
79
|
+
|
|
80
|
+
Scan the repo before substantive brainstorming. Match depth to scope:
|
|
81
|
+
|
|
82
|
+
**Lightweight** — Search for the topic, check if something similar already exists, and move on.
|
|
83
|
+
|
|
84
|
+
**Standard and Deep** — Two passes:
|
|
41
85
|
|
|
42
|
-
|
|
86
|
+
*Constraint Check* — Check project instruction files (`AGENTS.md`, `CLAUDE.md`) for workflow, product, or scope constraints that affect the brainstorm. If these add nothing, move on.
|
|
43
87
|
|
|
44
|
-
|
|
88
|
+
*Topic Scan* — Search for relevant terms. Read the most relevant existing artifact if one exists (brainstorm, plan, spec, skill, feature doc). Skim adjacent examples covering similar behavior.
|
|
45
89
|
|
|
46
|
-
|
|
90
|
+
If nothing obvious appears after a short scan, say so and continue. Do not drift into technical planning — avoid inspecting tests, migrations, deployment, or low-level architecture unless the brainstorm is itself about a technical decision.
|
|
47
91
|
|
|
48
|
-
#### 1.2
|
|
92
|
+
#### 1.2 Product Pressure Test
|
|
49
93
|
|
|
50
|
-
|
|
94
|
+
Before generating approaches, challenge the request to catch misframing. Match depth to scope:
|
|
51
95
|
|
|
52
|
-
**
|
|
96
|
+
**Lightweight:**
|
|
97
|
+
- Is this solving the real user problem?
|
|
98
|
+
- Are we duplicating something that already covers this?
|
|
99
|
+
- Is there a clearly better framing with near-zero extra cost?
|
|
100
|
+
|
|
101
|
+
**Standard:**
|
|
102
|
+
- Is this the right problem, or a proxy for a more important one?
|
|
103
|
+
- What user or business outcome actually matters here?
|
|
104
|
+
- What happens if we do nothing?
|
|
105
|
+
- Is there a nearby framing that creates more user value without more carrying cost? If so, what complexity does it add?
|
|
106
|
+
- Given the current project state, user goal, and constraints, what is the single highest-leverage move right now: the request as framed, a reframing, one adjacent addition, a simplification, or doing nothing?
|
|
107
|
+
- Favor moves that compound value, reduce future carrying cost, or make the product meaningfully more useful or compelling
|
|
108
|
+
- Use the result to sharpen the conversation, not to bulldoze the user's intent
|
|
109
|
+
|
|
110
|
+
**Deep** — Standard questions plus:
|
|
111
|
+
- What durable capability should this create in 6-12 months?
|
|
112
|
+
- Does this move the product toward that, or is it only a local patch?
|
|
113
|
+
|
|
114
|
+
#### 1.3 Collaborative Dialogue
|
|
115
|
+
|
|
116
|
+
Use the platform's blocking question tool when available (see Interaction Rules). Otherwise, present numbered options in chat and wait for the user's reply before proceeding.
|
|
117
|
+
|
|
118
|
+
**Guidelines:**
|
|
119
|
+
- Ask questions **one at a time**
|
|
53
120
|
- Prefer multiple choice when natural options exist
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
121
|
+
- Prefer **single-select** when choosing one direction, one priority, or one next step
|
|
122
|
+
- Use **multi-select** only for compatible sets that can all coexist; if prioritization matters, ask which selected item is primary
|
|
123
|
+
- Start broad (problem, users, value) then narrow (constraints, exclusions, edge cases)
|
|
124
|
+
- Clarify the problem frame, validate assumptions, and ask about success criteria
|
|
125
|
+
- Make requirements concrete enough that planning will not need to invent behavior
|
|
126
|
+
- Surface dependencies or prerequisites only when they materially affect scope
|
|
127
|
+
- Resolve product decisions here; leave technical implementation choices for planning
|
|
128
|
+
- Bring ideas, alternatives, and challenges instead of only interviewing
|
|
57
129
|
|
|
58
|
-
**Exit condition:** Continue until the idea is clear OR user
|
|
130
|
+
**Exit condition:** Continue until the idea is clear OR the user explicitly wants to proceed.
|
|
59
131
|
|
|
60
132
|
### Phase 2: Explore Approaches
|
|
61
133
|
|
|
62
|
-
|
|
134
|
+
If multiple plausible directions remain, propose **2-3 concrete approaches** based on research and conversation. Otherwise state the recommended direction directly.
|
|
135
|
+
|
|
136
|
+
When useful, include one deliberately higher-upside alternative:
|
|
137
|
+
- Identify what adjacent addition or reframing would most increase usefulness, compounding value, or durability without disproportionate carrying cost. Present it as a challenger option alongside the baseline, not as the default. Omit it when the work is already obviously over-scoped or the baseline request is clearly the right move.
|
|
63
138
|
|
|
64
139
|
For each approach, provide:
|
|
65
140
|
- Brief description (2-3 sentences)
|
|
66
141
|
- Pros and cons
|
|
142
|
+
- Key risks or unknowns
|
|
67
143
|
- When it's best suited
|
|
68
144
|
|
|
69
|
-
Lead with your recommendation and explain why.
|
|
145
|
+
Lead with your recommendation and explain why. Prefer simpler solutions when added complexity creates real carrying cost, but do not reject low-cost, high-value polish just because it is not strictly necessary.
|
|
146
|
+
|
|
147
|
+
If one approach is clearly best and alternatives are not meaningful, skip the menu and state the recommendation directly.
|
|
148
|
+
|
|
149
|
+
If relevant, call out whether the choice is:
|
|
150
|
+
- Reuse an existing pattern
|
|
151
|
+
- Extend an existing capability
|
|
152
|
+
- Build something net new
|
|
153
|
+
|
|
154
|
+
### Phase 3: Capture the Requirements
|
|
155
|
+
|
|
156
|
+
Write or update a requirements document only when the conversation produced durable decisions worth preserving.
|
|
157
|
+
|
|
158
|
+
This document should behave like a lightweight PRD without PRD ceremony. Include what planning needs to execute well, and skip sections that add no value for the scope.
|
|
159
|
+
|
|
160
|
+
The requirements document is for product definition and scope control. Do **not** include implementation details such as libraries, schemas, endpoints, file layouts, or code structure unless the brainstorm is inherently technical and those details are themselves the subject of the decision.
|
|
161
|
+
|
|
162
|
+
**Required content for non-trivial work:**
|
|
163
|
+
- Problem frame
|
|
164
|
+
- Concrete requirements or intended behavior with stable IDs
|
|
165
|
+
- Scope boundaries
|
|
166
|
+
- Success criteria
|
|
167
|
+
|
|
168
|
+
**Include when materially useful:**
|
|
169
|
+
- Key decisions and rationale
|
|
170
|
+
- Dependencies or assumptions
|
|
171
|
+
- Outstanding questions
|
|
172
|
+
- Alternatives considered
|
|
173
|
+
- High-level technical direction only when the work is inherently technical and the direction is part of the product/architecture decision
|
|
174
|
+
|
|
175
|
+
**Document structure:** Use this template and omit clearly inapplicable optional sections:
|
|
70
176
|
|
|
71
|
-
|
|
177
|
+
```markdown
|
|
178
|
+
---
|
|
179
|
+
date: YYYY-MM-DD
|
|
180
|
+
topic: <kebab-case-topic>
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
# <Topic Title>
|
|
184
|
+
|
|
185
|
+
## Problem Frame
|
|
186
|
+
[Who is affected, what is changing, and why it matters]
|
|
187
|
+
|
|
188
|
+
## Requirements
|
|
189
|
+
- R1. [Concrete user-facing behavior or requirement]
|
|
190
|
+
- R2. [Concrete user-facing behavior or requirement]
|
|
191
|
+
|
|
192
|
+
## Success Criteria
|
|
193
|
+
- [How we will know this solved the right problem]
|
|
194
|
+
|
|
195
|
+
## Scope Boundaries
|
|
196
|
+
- [Deliberate non-goal or exclusion]
|
|
197
|
+
|
|
198
|
+
## Key Decisions
|
|
199
|
+
- [Decision]: [Rationale]
|
|
200
|
+
|
|
201
|
+
## Dependencies / Assumptions
|
|
202
|
+
- [Only include if material]
|
|
203
|
+
|
|
204
|
+
## Outstanding Questions
|
|
205
|
+
|
|
206
|
+
### Resolve Before Planning
|
|
207
|
+
- [Affects R1][User decision] [Question that must be answered before planning can proceed]
|
|
208
|
+
|
|
209
|
+
### Deferred to Planning
|
|
210
|
+
- [Affects R2][Technical] [Question that should be answered during planning or codebase exploration]
|
|
211
|
+
- [Affects R2][Needs research] [Question that likely requires research during planning]
|
|
212
|
+
|
|
213
|
+
## Next Steps
|
|
214
|
+
[If `Resolve Before Planning` is empty: `→ /ce:plan` for structured implementation planning]
|
|
215
|
+
[If `Resolve Before Planning` is not empty: `→ Resume /ce:brainstorm` to resolve blocking questions before planning]
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
For **Standard** and **Deep** brainstorms, a requirements document is usually warranted.
|
|
72
219
|
|
|
73
|
-
|
|
220
|
+
For **Lightweight** brainstorms, keep the document compact. Skip document creation when the user only needs brief alignment and no durable decisions need to be preserved.
|
|
74
221
|
|
|
75
|
-
|
|
222
|
+
For very small requirements docs with only 1-3 simple requirements, plain bullet requirements are acceptable. For **Standard** and **Deep** requirements docs, use stable IDs like `R1`, `R2`, `R3` so planning and later review can refer to them unambiguously.
|
|
76
223
|
|
|
77
|
-
|
|
224
|
+
When the work is simple, combine sections rather than padding them. A short requirements document is better than a bloated one.
|
|
225
|
+
|
|
226
|
+
Before finalizing, check:
|
|
227
|
+
- What would `ce:plan` still have to invent if this brainstorm ended now?
|
|
228
|
+
- Do any requirements depend on something claimed to be out of scope?
|
|
229
|
+
- Are any unresolved items actually product decisions rather than planning questions?
|
|
230
|
+
- Did implementation details leak in when they shouldn't have?
|
|
231
|
+
- Is there a low-cost change that would make this materially more useful?
|
|
232
|
+
|
|
233
|
+
If planning would need to invent product behavior, scope boundaries, or success criteria, the brainstorm is not complete yet.
|
|
78
234
|
|
|
79
235
|
Ensure `docs/brainstorms/` directory exists before writing.
|
|
80
236
|
|
|
81
|
-
|
|
237
|
+
If a document contains outstanding questions:
|
|
238
|
+
- Use `Resolve Before Planning` only for questions that truly block planning
|
|
239
|
+
- If `Resolve Before Planning` is non-empty, keep working those questions during the brainstorm by default
|
|
240
|
+
- If the user explicitly wants to proceed anyway, convert each remaining item into an explicit decision, assumption, or `Deferred to Planning` question before proceeding
|
|
241
|
+
- Do not force resolution of technical questions during brainstorming just to remove uncertainty
|
|
242
|
+
- Put technical questions, or questions that require validation or research, under `Deferred to Planning` when they are better answered there
|
|
243
|
+
- Use tags like `[Needs research]` when the planner should likely investigate the question rather than answer it from repo context alone
|
|
244
|
+
- Carry deferred questions forward explicitly rather than treating them as a failure to finish the requirements doc
|
|
82
245
|
|
|
83
246
|
### Phase 4: Handoff
|
|
84
247
|
|
|
85
|
-
|
|
248
|
+
#### 4.1 Present Next-Step Options
|
|
249
|
+
|
|
250
|
+
Present next steps using the platform's blocking question tool when available (see Interaction Rules). Otherwise present numbered options in chat and end the turn.
|
|
251
|
+
|
|
252
|
+
If `Resolve Before Planning` contains any items:
|
|
253
|
+
- Ask the blocking questions now, one at a time, by default
|
|
254
|
+
- If the user explicitly wants to proceed anyway, first convert each remaining item into an explicit decision, assumption, or `Deferred to Planning` question
|
|
255
|
+
- If the user chooses to pause instead, present the handoff as paused or blocked rather than complete
|
|
256
|
+
- Do not offer `Proceed to planning` or `Proceed directly to work` while `Resolve Before Planning` remains non-empty
|
|
257
|
+
|
|
258
|
+
**Question when no blocking questions remain:** "Brainstorm complete. What would you like to do next?"
|
|
259
|
+
|
|
260
|
+
**Question when blocking questions remain and user wants to pause:** "Brainstorm paused. Planning is blocked until the remaining questions are resolved. What would you like to do next?"
|
|
261
|
+
|
|
262
|
+
Present only the options that apply:
|
|
263
|
+
- **Proceed to planning (Recommended)** - Run `/ce:plan` for structured implementation planning
|
|
264
|
+
- **Proceed directly to work** - Only offer this when scope is lightweight, success criteria are clear, scope boundaries are clear, and no meaningful technical or research questions remain
|
|
265
|
+
- **Review and refine** - Offer this only when a requirements document exists and can be improved through structured review
|
|
266
|
+
- **Ask more questions** - Continue clarifying scope, preferences, or edge cases
|
|
267
|
+
- **Share to Proof** - Offer this only when a requirements document exists
|
|
268
|
+
- **Done for now** - Return later
|
|
269
|
+
|
|
270
|
+
If the direct-to-work gate is not satisfied, omit that option entirely.
|
|
86
271
|
|
|
87
|
-
|
|
272
|
+
#### 4.2 Handle the Selected Option
|
|
88
273
|
|
|
89
|
-
**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
274
|
+
**If user selects "Proceed to planning (Recommended)":**
|
|
275
|
+
|
|
276
|
+
Immediately run `/ce:plan` in the current session. Pass the requirements document path when one exists; otherwise pass a concise summary of the finalized brainstorm decisions. Do not print the closing summary first.
|
|
277
|
+
|
|
278
|
+
**If user selects "Proceed directly to work":**
|
|
279
|
+
|
|
280
|
+
Immediately run `/ce:work` in the current session using the finalized brainstorm output as context. If a compact requirements document exists, pass its path. Do not print the closing summary first.
|
|
95
281
|
|
|
96
282
|
**If user selects "Share to Proof":**
|
|
97
283
|
|
|
98
284
|
```bash
|
|
99
|
-
CONTENT=$(cat docs/brainstorms/YYYY-MM-DD-<topic>-
|
|
100
|
-
TITLE="
|
|
285
|
+
CONTENT=$(cat docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md)
|
|
286
|
+
TITLE="Requirements: <topic title>"
|
|
101
287
|
RESPONSE=$(curl -s -X POST https://www.proofeditor.ai/share/markdown \
|
|
102
288
|
-H "Content-Type: application/json" \
|
|
103
289
|
-d "$(jq -n --arg title "$TITLE" --arg markdown "$CONTENT" --arg by "ai:compound" '{title: $title, markdown: $markdown, by: $by}')")
|
|
@@ -108,38 +294,42 @@ Display the URL prominently: `View & collaborate in Proof: <PROOF_URL>`
|
|
|
108
294
|
|
|
109
295
|
If the curl fails, skip silently. Then return to the Phase 4 options.
|
|
110
296
|
|
|
111
|
-
**If user selects "Ask more questions":**
|
|
297
|
+
**If user selects "Ask more questions":** Return to Phase 1.3 (Collaborative Dialogue) and continue asking the user questions one at a time to further refine the design. Probe deeper into edge cases, constraints, preferences, or areas not yet explored. Continue until the user is satisfied, then return to Phase 4. Do not show the closing summary yet.
|
|
112
298
|
|
|
113
299
|
**If user selects "Review and refine":**
|
|
114
300
|
|
|
115
|
-
Load the `document-review` skill and apply it to the
|
|
301
|
+
Load the `document-review` skill and apply it to the requirements document.
|
|
116
302
|
|
|
117
|
-
When document-review returns "Review complete", present
|
|
303
|
+
When document-review returns "Review complete", return to the normal Phase 4 options and present only the options that still apply. Do not show the closing summary yet.
|
|
118
304
|
|
|
119
|
-
|
|
120
|
-
2. **Done for now** - Brainstorming complete. To start planning later: `/ce:plan [document-path]`
|
|
305
|
+
#### 4.3 Closing Summary
|
|
121
306
|
|
|
122
|
-
|
|
307
|
+
Use the closing summary only when this run of the workflow is ending or handing off, not when returning to the Phase 4 options.
|
|
123
308
|
|
|
124
|
-
When complete, display:
|
|
309
|
+
When complete and ready for planning, display:
|
|
125
310
|
|
|
126
|
-
```
|
|
311
|
+
```text
|
|
127
312
|
Brainstorm complete!
|
|
128
313
|
|
|
129
|
-
|
|
314
|
+
Requirements doc: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if one was created
|
|
130
315
|
|
|
131
316
|
Key decisions:
|
|
132
317
|
- [Decision 1]
|
|
133
318
|
- [Decision 2]
|
|
134
319
|
|
|
135
|
-
|
|
320
|
+
Recommended next step: `/ce:plan`
|
|
136
321
|
```
|
|
137
322
|
|
|
138
|
-
|
|
323
|
+
If the user pauses with `Resolve Before Planning` still populated, display:
|
|
139
324
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
- **Apply YAGNI** - Prefer simpler approaches
|
|
143
|
-
- **Keep outputs concise** - 200-300 words per section max
|
|
325
|
+
```text
|
|
326
|
+
Brainstorm paused.
|
|
144
327
|
|
|
145
|
-
|
|
328
|
+
Requirements doc: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if one was created
|
|
329
|
+
|
|
330
|
+
Planning is blocked by:
|
|
331
|
+
- [Blocking question 1]
|
|
332
|
+
- [Blocking question 2]
|
|
333
|
+
|
|
334
|
+
Resume with `/ce:brainstorm` when ready to resolve these before planning.
|
|
335
|
+
```
|
|
@@ -22,38 +22,39 @@ Do not proceed until you have a clear feature description from the user.
|
|
|
22
22
|
|
|
23
23
|
### 0. Idea Refinement
|
|
24
24
|
|
|
25
|
-
**Check for
|
|
25
|
+
**Check for requirements document first:**
|
|
26
26
|
|
|
27
|
-
Before asking questions, look for recent
|
|
27
|
+
Before asking questions, look for recent requirements documents in `docs/brainstorms/` that match this feature:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
ls -la docs/brainstorms
|
|
30
|
+
ls -la docs/brainstorms/*-requirements.md 2>/dev/null | head -10
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
**Relevance criteria:** A
|
|
33
|
+
**Relevance criteria:** A requirements document is relevant if:
|
|
34
34
|
- The topic (from filename or YAML frontmatter) semantically matches the feature description
|
|
35
35
|
- Created within the last 14 days
|
|
36
36
|
- If multiple candidates match, use the most recent one
|
|
37
37
|
|
|
38
|
-
**If a relevant
|
|
39
|
-
1. Read the
|
|
40
|
-
2. Announce: "Found
|
|
38
|
+
**If a relevant requirements document exists:**
|
|
39
|
+
1. Read the source document **thoroughly** — every section matters
|
|
40
|
+
2. Announce: "Found source document from [date]: [topic]. Using as foundation for planning."
|
|
41
41
|
3. Extract and carry forward **ALL** of the following into the plan:
|
|
42
42
|
- Key decisions and their rationale
|
|
43
43
|
- Chosen approach and why alternatives were rejected
|
|
44
|
-
-
|
|
45
|
-
-
|
|
44
|
+
- Problem framing, constraints, and requirements captured during brainstorming
|
|
45
|
+
- Outstanding questions, preserving whether they block planning or are intentionally deferred
|
|
46
46
|
- Success criteria and scope boundaries
|
|
47
|
-
-
|
|
48
|
-
4. **Skip the idea refinement questions below** — the
|
|
49
|
-
5. Use
|
|
50
|
-
6. **Critical: The
|
|
51
|
-
7. **Do not omit
|
|
47
|
+
- Dependencies and assumptions, plus any high-level technical direction only when the origin document is inherently technical
|
|
48
|
+
4. **Skip the idea refinement questions below** — the source document already answered WHAT to build
|
|
49
|
+
5. Use source document content as the **primary input** to research and planning phases
|
|
50
|
+
6. **Critical: The source document is the origin document.** Throughout the plan, reference specific decisions with `(see origin: <source-path>)` when carrying forward conclusions. Do not paraphrase decisions in a way that loses their original context — link back to the source.
|
|
51
|
+
7. **Do not omit source content** — if the source document discussed it, the plan must address it (even if briefly). Scan each section before finalizing the plan to verify nothing was dropped.
|
|
52
|
+
8. **If `Resolve Before Planning` contains any items, stop.** Do not proceed with planning. Tell the user planning is blocked by unanswered brainstorm questions and direct them to resume `/ce:brainstorm` or answer those questions first.
|
|
52
53
|
|
|
53
|
-
**If multiple
|
|
54
|
-
Use **AskUserQuestion tool** to ask which
|
|
54
|
+
**If multiple source documents could match:**
|
|
55
|
+
Use **AskUserQuestion tool** to ask which source document to use, or whether to proceed without one.
|
|
55
56
|
|
|
56
|
-
**If no
|
|
57
|
+
**If no requirements document is found (or not relevant), run idea refinement:**
|
|
57
58
|
|
|
58
59
|
Refine the idea through collaborative dialogue using the **AskUserQuestion tool**:
|
|
59
60
|
|
|
@@ -191,7 +192,7 @@ title: [Issue Title]
|
|
|
191
192
|
type: [feat|fix|refactor]
|
|
192
193
|
status: active
|
|
193
194
|
date: YYYY-MM-DD
|
|
194
|
-
origin: docs/brainstorms/YYYY-MM-DD-<topic>-
|
|
195
|
+
origin: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if originated from a requirements doc, otherwise omit
|
|
195
196
|
---
|
|
196
197
|
|
|
197
198
|
# [Issue Title]
|
|
@@ -221,7 +222,7 @@ end
|
|
|
221
222
|
|
|
222
223
|
## Sources
|
|
223
224
|
|
|
224
|
-
- **Origin
|
|
225
|
+
- **Origin document:** [docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md](path) — include if plan originated from an upstream requirements doc
|
|
225
226
|
- Related issue: #[issue_number]
|
|
226
227
|
- Documentation: [relevant_docs_url]
|
|
227
228
|
````
|
|
@@ -246,7 +247,7 @@ title: [Issue Title]
|
|
|
246
247
|
type: [feat|fix|refactor]
|
|
247
248
|
status: active
|
|
248
249
|
date: YYYY-MM-DD
|
|
249
|
-
origin: docs/brainstorms/YYYY-MM-DD-<topic>-
|
|
250
|
+
origin: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if originated from a requirements doc, otherwise omit
|
|
250
251
|
---
|
|
251
252
|
|
|
252
253
|
# [Issue Title]
|
|
@@ -293,7 +294,7 @@ origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from
|
|
|
293
294
|
|
|
294
295
|
## Sources & References
|
|
295
296
|
|
|
296
|
-
- **Origin
|
|
297
|
+
- **Origin document:** [docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md](path) — include if plan originated from an upstream requirements doc
|
|
297
298
|
- Similar implementations: [file_path:line_number]
|
|
298
299
|
- Best practices: [documentation_url]
|
|
299
300
|
- Related PRs: #[pr_number]
|
|
@@ -321,7 +322,7 @@ title: [Issue Title]
|
|
|
321
322
|
type: [feat|fix|refactor]
|
|
322
323
|
status: active
|
|
323
324
|
date: YYYY-MM-DD
|
|
324
|
-
origin: docs/brainstorms/YYYY-MM-DD-<topic>-
|
|
325
|
+
origin: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if originated from a requirements doc, otherwise omit
|
|
325
326
|
---
|
|
326
327
|
|
|
327
328
|
# [Issue Title]
|
|
@@ -436,7 +437,7 @@ origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from
|
|
|
436
437
|
|
|
437
438
|
### Origin
|
|
438
439
|
|
|
439
|
-
- **
|
|
440
|
+
- **Origin document:** [docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md](path) — include if plan originated from an upstream requirements doc. Key decisions carried forward: [list 2-3 major decisions from the origin]
|
|
440
441
|
|
|
441
442
|
### Internal References
|
|
442
443
|
|
|
@@ -515,15 +516,15 @@ end
|
|
|
515
516
|
|
|
516
517
|
### 6. Final Review & Submission
|
|
517
518
|
|
|
518
|
-
**
|
|
519
|
+
**Origin document cross-check (if plan originated from a requirements doc):**
|
|
519
520
|
|
|
520
|
-
Before finalizing, re-read the
|
|
521
|
-
- [ ] Every key decision from the
|
|
522
|
-
- [ ] The chosen approach matches what was decided in the
|
|
523
|
-
- [ ] Constraints and requirements from the
|
|
524
|
-
- [ ] Open questions from the
|
|
525
|
-
- [ ] The `origin:` frontmatter field points to the
|
|
526
|
-
- [ ] The Sources section includes the
|
|
521
|
+
Before finalizing, re-read the origin document and verify:
|
|
522
|
+
- [ ] Every key decision from the origin document is reflected in the plan
|
|
523
|
+
- [ ] The chosen approach matches what was decided in the origin document
|
|
524
|
+
- [ ] Constraints and requirements from the origin document are captured in acceptance criteria
|
|
525
|
+
- [ ] Open questions from the origin document are either resolved or flagged
|
|
526
|
+
- [ ] The `origin:` frontmatter field points to the correct source file
|
|
527
|
+
- [ ] The Sources section includes the origin document with a summary of carried-forward decisions
|
|
527
528
|
|
|
528
529
|
**Pre-submission Checklist:**
|
|
529
530
|
|
|
@@ -53,6 +53,7 @@ Ensure that the code is ready for analysis (either in worktree or on current bra
|
|
|
53
53
|
<protected_artifacts>
|
|
54
54
|
The following paths are compound-engineering pipeline artifacts and must never be flagged for deletion, removal, or gitignore by any review agent:
|
|
55
55
|
|
|
56
|
+
- `docs/brainstorms/*-requirements.md` — Requirements documents created by `/ce:brainstorm`. These are the product-definition artifacts that planning depends on.
|
|
56
57
|
- `docs/plans/*.md` — Plan files created by `/ce:plan`. These are living documents that track implementation progress (checkboxes are checked off by `/ce:work`).
|
|
57
58
|
- `docs/solutions/*.md` — Solution documents created during the pipeline.
|
|
58
59
|
|
|
@@ -253,7 +254,7 @@ Remove duplicates, prioritize by severity and impact.
|
|
|
253
254
|
|
|
254
255
|
- [ ] Collect findings from all parallel agents
|
|
255
256
|
- [ ] Surface learnings-researcher results: if past solutions are relevant, flag them as "Known Pattern" with links to docs/solutions/ files
|
|
256
|
-
- [ ] Discard any findings that recommend deleting or gitignoring files in `docs/plans
|
|
257
|
+
- [ ] Discard any findings that recommend deleting or gitignoring files in `docs/brainstorms/`, `docs/plans/`, or `docs/solutions/` (see Protected Artifacts above)
|
|
257
258
|
- [ ] Categorize by type: security, performance, architecture, quality, etc.
|
|
258
259
|
- [ ] Assign severity levels: 🔴 CRITICAL (P1), 🟡 IMPORTANT (P2), 🔵 NICE-TO-HAVE (P3)
|
|
259
260
|
- [ ] Remove duplicate or overlapping findings
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: document-review
|
|
3
|
-
description: This skill should be used to refine
|
|
3
|
+
description: This skill should be used to refine requirements or plan documents before proceeding to the next workflow step. It applies when a requirements document or plan document exists and the user wants to improve it.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Document Review
|
|
7
7
|
|
|
8
|
-
Improve
|
|
8
|
+
Improve requirements or plan documents through structured review.
|
|
9
9
|
|
|
10
10
|
## Step 1: Get the Document
|
|
11
11
|
|
|
12
12
|
**If a document path is provided:** Read it, then proceed to Step 2.
|
|
13
13
|
|
|
14
|
-
**If no document is specified:** Ask which document to review, or look for the most recent
|
|
14
|
+
**If no document is specified:** Ask which document to review, or look for the most recent requirements/plan in `docs/brainstorms/` or `docs/plans/`.
|
|
15
15
|
|
|
16
16
|
## Step 2: Assess
|
|
17
17
|
|
|
@@ -32,9 +32,10 @@ Score the document against these criteria:
|
|
|
32
32
|
| Criterion | What to Check |
|
|
33
33
|
|-----------|---------------|
|
|
34
34
|
| **Clarity** | Problem statement is clear, no vague language ("probably," "consider," "try to") |
|
|
35
|
-
| **Completeness** | Required sections present, constraints stated,
|
|
36
|
-
| **Specificity** | Concrete enough for next step (
|
|
37
|
-
| **
|
|
35
|
+
| **Completeness** | Required sections present, constraints stated, and outstanding questions clearly marked as blocking or deferred |
|
|
36
|
+
| **Specificity** | Concrete enough for next step (requirements → can plan, plan → can implement) |
|
|
37
|
+
| **Appropriate Level** | Requirements doc stays at behavior/scope level and does not drift into implementation unless the document is inherently technical |
|
|
38
|
+
| **YAGNI** | Avoid speculative complexity whose carrying cost outweighs its value; keep low-cost, meaningful polish when it is easy to maintain |
|
|
38
39
|
|
|
39
40
|
If invoked within a workflow (after `/ce:brainstorm` or `/ce:plan`), also check:
|
|
40
41
|
- **User intent fidelity** — Document reflects what was discussed, assumptions validated
|
|
@@ -56,7 +57,7 @@ Present your findings, then:
|
|
|
56
57
|
Simplification is purposeful removal of unnecessary complexity, not shortening for its own sake.
|
|
57
58
|
|
|
58
59
|
**Simplify when:**
|
|
59
|
-
- Content serves hypothetical future needs
|
|
60
|
+
- Content serves hypothetical future needs without enough current value to justify its carrying cost
|
|
60
61
|
- Sections repeat information already covered elsewhere
|
|
61
62
|
- Detail exceeds what's needed to take the next step
|
|
62
63
|
- Abstractions or structure add overhead without clarity
|
|
@@ -65,6 +66,10 @@ Simplification is purposeful removal of unnecessary complexity, not shortening f
|
|
|
65
66
|
- Constraints or edge cases that affect implementation
|
|
66
67
|
- Rationale that explains why alternatives were rejected
|
|
67
68
|
- Open questions that need resolution
|
|
69
|
+
- Deferred technical or research questions that are intentionally carried forward to the next stage
|
|
70
|
+
|
|
71
|
+
**Also remove when inappropriate:**
|
|
72
|
+
- Library choices, file structures, endpoints, schemas, or other implementation details that do not belong in a non-technical requirements document
|
|
68
73
|
|
|
69
74
|
## Step 6: Offer Next Action
|
|
70
75
|
|
|
@@ -12,7 +12,7 @@ Resolve all TODO comments using parallel processing.
|
|
|
12
12
|
|
|
13
13
|
Get all unresolved TODOs from the /todos/\*.md directory
|
|
14
14
|
|
|
15
|
-
If any todo recommends deleting, removing, or gitignoring files in `docs/plans
|
|
15
|
+
If any todo recommends deleting, removing, or gitignoring files in `docs/brainstorms/`, `docs/plans/`, or `docs/solutions/`, skip it and mark it as `wont_fix`. These are compound-engineering pipeline artifacts that are intentional and permanent.
|
|
16
16
|
|
|
17
17
|
### 2. Plan
|
|
18
18
|
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: brainstorming
|
|
3
|
-
description: This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore approaches", ambiguous feature requests, or when the user's request has multiple valid interpretations that need clarification.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Brainstorming
|
|
7
|
-
|
|
8
|
-
This skill provides detailed process knowledge for effective brainstorming sessions that clarify **WHAT** to build before diving into **HOW** to build it.
|
|
9
|
-
|
|
10
|
-
## When to Use This Skill
|
|
11
|
-
|
|
12
|
-
Brainstorming is valuable when:
|
|
13
|
-
- Requirements are unclear or ambiguous
|
|
14
|
-
- Multiple approaches could solve the problem
|
|
15
|
-
- Trade-offs need to be explored with the user
|
|
16
|
-
- The user hasn't fully articulated what they want
|
|
17
|
-
- The feature scope needs refinement
|
|
18
|
-
|
|
19
|
-
Brainstorming can be skipped when:
|
|
20
|
-
- Requirements are explicit and detailed
|
|
21
|
-
- The user knows exactly what they want
|
|
22
|
-
- The task is a straightforward bug fix or well-defined change
|
|
23
|
-
|
|
24
|
-
## Core Process
|
|
25
|
-
|
|
26
|
-
### Phase 0: Assess Requirement Clarity
|
|
27
|
-
|
|
28
|
-
Before diving into questions, assess whether brainstorming is needed.
|
|
29
|
-
|
|
30
|
-
**Signals that requirements are clear:**
|
|
31
|
-
- User provided specific acceptance criteria
|
|
32
|
-
- User referenced existing patterns to follow
|
|
33
|
-
- User described exact behavior expected
|
|
34
|
-
- Scope is constrained and well-defined
|
|
35
|
-
|
|
36
|
-
**Signals that brainstorming is needed:**
|
|
37
|
-
- User used vague terms ("make it better", "add something like")
|
|
38
|
-
- Multiple reasonable interpretations exist
|
|
39
|
-
- Trade-offs haven't been discussed
|
|
40
|
-
- User seems unsure about the approach
|
|
41
|
-
|
|
42
|
-
If requirements are clear, suggest: "Your requirements seem clear. Consider proceeding directly to planning or implementation."
|
|
43
|
-
|
|
44
|
-
### Phase 1: Understand the Idea
|
|
45
|
-
|
|
46
|
-
Ask questions **one at a time** to understand the user's intent. Avoid overwhelming with multiple questions.
|
|
47
|
-
|
|
48
|
-
**Question Techniques:**
|
|
49
|
-
|
|
50
|
-
1. **Prefer multiple choice when natural options exist**
|
|
51
|
-
- Good: "Should the notification be: (a) email only, (b) in-app only, or (c) both?"
|
|
52
|
-
- Avoid: "How should users be notified?"
|
|
53
|
-
|
|
54
|
-
2. **Start broad, then narrow**
|
|
55
|
-
- First: What is the core purpose?
|
|
56
|
-
- Then: Who are the users?
|
|
57
|
-
- Finally: What constraints exist?
|
|
58
|
-
|
|
59
|
-
3. **Validate assumptions explicitly**
|
|
60
|
-
- "I'm assuming users will be logged in. Is that correct?"
|
|
61
|
-
|
|
62
|
-
4. **Ask about success criteria early**
|
|
63
|
-
- "How will you know this feature is working well?"
|
|
64
|
-
|
|
65
|
-
**Key Topics to Explore:**
|
|
66
|
-
|
|
67
|
-
| Topic | Example Questions |
|
|
68
|
-
|-------|-------------------|
|
|
69
|
-
| Purpose | What problem does this solve? What's the motivation? |
|
|
70
|
-
| Users | Who uses this? What's their context? |
|
|
71
|
-
| Constraints | Any technical limitations? Timeline? Dependencies? |
|
|
72
|
-
| Success | How will you measure success? What's the happy path? |
|
|
73
|
-
| Edge Cases | What shouldn't happen? Any error states to consider? |
|
|
74
|
-
| Existing Patterns | Are there similar features in the codebase to follow? |
|
|
75
|
-
|
|
76
|
-
**Exit Condition:** Continue until the idea is clear OR user says "proceed" or "let's move on"
|
|
77
|
-
|
|
78
|
-
### Phase 2: Explore Approaches
|
|
79
|
-
|
|
80
|
-
After understanding the idea, propose 2-3 concrete approaches.
|
|
81
|
-
|
|
82
|
-
**Structure for Each Approach:**
|
|
83
|
-
|
|
84
|
-
```markdown
|
|
85
|
-
### Approach A: [Name]
|
|
86
|
-
|
|
87
|
-
[2-3 sentence description]
|
|
88
|
-
|
|
89
|
-
**Pros:**
|
|
90
|
-
- [Benefit 1]
|
|
91
|
-
- [Benefit 2]
|
|
92
|
-
|
|
93
|
-
**Cons:**
|
|
94
|
-
- [Drawback 1]
|
|
95
|
-
- [Drawback 2]
|
|
96
|
-
|
|
97
|
-
**Best when:** [Circumstances where this approach shines]
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**Guidelines:**
|
|
101
|
-
- Lead with a recommendation and explain why
|
|
102
|
-
- Be honest about trade-offs
|
|
103
|
-
- Consider YAGNI—simpler is usually better
|
|
104
|
-
- Reference codebase patterns when relevant
|
|
105
|
-
|
|
106
|
-
### Phase 3: Capture the Design
|
|
107
|
-
|
|
108
|
-
Summarize key decisions in a structured format.
|
|
109
|
-
|
|
110
|
-
**Design Doc Structure:**
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
---
|
|
114
|
-
date: YYYY-MM-DD
|
|
115
|
-
topic: <kebab-case-topic>
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
# <Topic Title>
|
|
119
|
-
|
|
120
|
-
## What We're Building
|
|
121
|
-
[Concise description—1-2 paragraphs max]
|
|
122
|
-
|
|
123
|
-
## Why This Approach
|
|
124
|
-
[Brief explanation of approaches considered and why this one was chosen]
|
|
125
|
-
|
|
126
|
-
## Key Decisions
|
|
127
|
-
- [Decision 1]: [Rationale]
|
|
128
|
-
- [Decision 2]: [Rationale]
|
|
129
|
-
|
|
130
|
-
## Open Questions
|
|
131
|
-
- [Any unresolved questions for the planning phase]
|
|
132
|
-
|
|
133
|
-
## Next Steps
|
|
134
|
-
→ `/ce:plan` for implementation details
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**Output Location:** `docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md`
|
|
138
|
-
|
|
139
|
-
### Phase 4: Handoff
|
|
140
|
-
|
|
141
|
-
Present clear options for what to do next:
|
|
142
|
-
|
|
143
|
-
1. **Proceed to planning** → Run `/ce:plan`
|
|
144
|
-
2. **Refine further** → Continue exploring the design
|
|
145
|
-
3. **Done for now** → User will return later
|
|
146
|
-
|
|
147
|
-
## YAGNI Principles
|
|
148
|
-
|
|
149
|
-
During brainstorming, actively resist complexity:
|
|
150
|
-
|
|
151
|
-
- **Don't design for hypothetical future requirements**
|
|
152
|
-
- **Choose the simplest approach that solves the stated problem**
|
|
153
|
-
- **Prefer boring, proven patterns over clever solutions**
|
|
154
|
-
- **Ask "Do we really need this?" when complexity emerges**
|
|
155
|
-
- **Defer decisions that don't need to be made now**
|
|
156
|
-
|
|
157
|
-
## Incremental Validation
|
|
158
|
-
|
|
159
|
-
Keep sections short—200-300 words maximum. After each section of output, pause to validate understanding:
|
|
160
|
-
|
|
161
|
-
- "Does this match what you had in mind?"
|
|
162
|
-
- "Any adjustments before we continue?"
|
|
163
|
-
- "Is this the direction you want to go?"
|
|
164
|
-
|
|
165
|
-
This prevents wasted effort on misaligned designs.
|
|
166
|
-
|
|
167
|
-
## Anti-Patterns to Avoid
|
|
168
|
-
|
|
169
|
-
| Anti-Pattern | Better Approach |
|
|
170
|
-
|--------------|-----------------|
|
|
171
|
-
| Asking 5 questions at once | Ask one at a time |
|
|
172
|
-
| Jumping to implementation details | Stay focused on WHAT, not HOW |
|
|
173
|
-
| Proposing overly complex solutions | Start simple, add complexity only if needed |
|
|
174
|
-
| Ignoring existing codebase patterns | Research what exists first |
|
|
175
|
-
| Making assumptions without validating | State assumptions explicitly and confirm |
|
|
176
|
-
| Creating lengthy design documents | Keep it concise—details go in the plan |
|
|
177
|
-
|
|
178
|
-
## Integration with Planning
|
|
179
|
-
|
|
180
|
-
Brainstorming answers **WHAT** to build:
|
|
181
|
-
- Requirements and acceptance criteria
|
|
182
|
-
- Chosen approach and rationale
|
|
183
|
-
- Key decisions and trade-offs
|
|
184
|
-
|
|
185
|
-
Planning answers **HOW** to build it:
|
|
186
|
-
- Implementation steps and file changes
|
|
187
|
-
- Technical details and code patterns
|
|
188
|
-
- Testing strategy and verification
|
|
189
|
-
|
|
190
|
-
When brainstorm output exists, `/ce:plan` should detect it and use it as input, skipping its own idea refinement phase.
|