feat: refactor brainstorm skill into requirements-first workflow

This commit is contained in:
Trevin Chow
2026-03-12 20:50:17 -07:00
parent 3d0f190097
commit 4d80a59e51
9 changed files with 276 additions and 285 deletions

View File

@@ -22,38 +22,39 @@ Do not proceed until you have a clear feature description from the user.
### 0. Idea Refinement
**Check for brainstorm output first:**
**Check for requirements document first:**
Before asking questions, look for recent brainstorm documents in `docs/brainstorms/` that match this feature:
Before asking questions, look for recent requirements documents in `docs/brainstorms/` that match this feature:
```bash
ls -la docs/brainstorms/*.md 2>/dev/null | head -10
ls -la docs/brainstorms/*-requirements.md 2>/dev/null | head -10
```
**Relevance criteria:** A brainstorm is relevant if:
**Relevance criteria:** A requirements document is relevant if:
- The topic (from filename or YAML frontmatter) semantically matches the feature description
- Created within the last 14 days
- If multiple candidates match, use the most recent one
**If a relevant brainstorm exists:**
1. Read the brainstorm document **thoroughly** — every section matters
2. Announce: "Found brainstorm from [date]: [topic]. Using as foundation for planning."
**If a relevant requirements document exists:**
1. Read the source document **thoroughly** — every section matters
2. Announce: "Found source document from [date]: [topic]. Using as foundation for planning."
3. Extract and carry forward **ALL** of the following into the plan:
- Key decisions and their rationale
- Chosen approach and why alternatives were rejected
- Constraints and requirements discovered during brainstorming
- Open questions (flag these for resolution during planning)
- Problem framing, constraints, and requirements captured during brainstorming
- Outstanding questions, preserving whether they block planning or are intentionally deferred
- Success criteria and scope boundaries
- Any specific technical choices or patterns discussed
4. **Skip the idea refinement questions below** — the brainstorm already answered WHAT to build
5. Use brainstorm content as the **primary input** to research and planning phases
6. **Critical: The brainstorm is the origin document.** Throughout the plan, reference specific decisions with `(see brainstorm: docs/brainstorms/<filename>)` when carrying forward conclusions. Do not paraphrase decisions in a way that loses their original context — link back to the source.
7. **Do not omit brainstorm content** — if the brainstorm discussed it, the plan must address it (even if briefly). Scan each brainstorm section before finalizing the plan to verify nothing was dropped.
- Dependencies and assumptions, plus any high-level technical direction only when the origin document is inherently technical
4. **Skip the idea refinement questions below** — the source document already answered WHAT to build
5. Use source document content as the **primary input** to research and planning phases
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.
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.
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.
**If multiple brainstorms could match:**
Use **AskUserQuestion tool** to ask which brainstorm to use, or whether to proceed without one.
**If multiple source documents could match:**
Use **AskUserQuestion tool** to ask which source document to use, or whether to proceed without one.
**If no brainstorm found (or not relevant), run idea refinement:**
**If no requirements document is found (or not relevant), run idea refinement:**
Refine the idea through collaborative dialogue using the **AskUserQuestion tool**:
@@ -191,7 +192,7 @@ title: [Issue Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
origin: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if originated from a requirements doc, otherwise omit
---
# [Issue Title]
@@ -221,7 +222,7 @@ end
## Sources
- **Origin brainstorm:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm
- **Origin document:** [docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md](path) — include if plan originated from an upstream requirements doc
- Related issue: #[issue_number]
- Documentation: [relevant_docs_url]
````
@@ -246,7 +247,7 @@ title: [Issue Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
origin: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if originated from a requirements doc, otherwise omit
---
# [Issue Title]
@@ -293,7 +294,7 @@ origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from
## Sources & References
- **Origin brainstorm:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm
- **Origin document:** [docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md](path) — include if plan originated from an upstream requirements doc
- Similar implementations: [file_path:line_number]
- Best practices: [documentation_url]
- Related PRs: #[pr_number]
@@ -321,7 +322,7 @@ title: [Issue Title]
type: [feat|fix|refactor]
status: active
date: YYYY-MM-DD
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
origin: docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md # if originated from a requirements doc, otherwise omit
---
# [Issue Title]
@@ -436,7 +437,7 @@ origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from
### Origin
- **Brainstorm document:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm. Key decisions carried forward: [list 2-3 major decisions from brainstorm]
- **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]
### Internal References
@@ -515,15 +516,15 @@ end
### 6. Final Review & Submission
**Brainstorm cross-check (if plan originated from a brainstorm):**
**Origin document cross-check (if plan originated from a requirements doc):**
Before finalizing, re-read the brainstorm document and verify:
- [ ] Every key decision from the brainstorm is reflected in the plan
- [ ] The chosen approach matches what was decided in the brainstorm
- [ ] Constraints and requirements from the brainstorm are captured in acceptance criteria
- [ ] Open questions from the brainstorm are either resolved or flagged
- [ ] The `origin:` frontmatter field points to the brainstorm file
- [ ] The Sources section includes the brainstorm with a summary of carried-forward decisions
Before finalizing, re-read the origin document and verify:
- [ ] Every key decision from the origin document is reflected in the plan
- [ ] The chosen approach matches what was decided in the origin document
- [ ] Constraints and requirements from the origin document are captured in acceptance criteria
- [ ] Open questions from the origin document are either resolved or flagged
- [ ] The `origin:` frontmatter field points to the correct source file
- [ ] The Sources section includes the origin document with a summary of carried-forward decisions
**Pre-submission Checklist:**