cfsa-antigravity 2.7.0 → 2.9.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/package.json +1 -1
- package/template/.agent/kit-sync.md +3 -3
- package/template/.agent/skills/idea-extraction/SKILL.md +61 -18
- package/template/.agent/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
- package/template/.agent/skills/prd-templates/references/be-spec-classification.md +41 -0
- package/template/.agent/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
- package/template/.agent/skills/prd-templates/references/constraint-exploration.md +41 -0
- package/template/.agent/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
- package/template/.agent/skills/prd-templates/references/decision-propagation.md +121 -0
- package/template/.agent/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
- package/template/.agent/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
- package/template/.agent/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
- package/template/.agent/skills/prd-templates/references/expansion-modes.md +27 -0
- package/template/.agent/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
- package/template/.agent/skills/prd-templates/references/input-classification.md +23 -0
- package/template/.agent/skills/prd-templates/references/map-guard-protocol.md +44 -0
- package/template/.agent/skills/prd-templates/references/persona-completeness-gate.md +20 -0
- package/template/.agent/skills/prd-templates/references/shard-boundary-analysis.md +76 -0
- package/template/.agent/skills/prd-templates/references/write-verification-protocol.md +57 -0
- package/template/.agent/workflows/create-prd-architecture.md +17 -23
- package/template/.agent/workflows/create-prd-compile.md +31 -22
- package/template/.agent/workflows/create-prd-design-system.md +18 -14
- package/template/.agent/workflows/create-prd-security.md +22 -24
- package/template/.agent/workflows/create-prd-stack.md +20 -11
- package/template/.agent/workflows/create-prd.md +27 -99
- package/template/.agent/workflows/decompose-architecture-structure.md +14 -4
- package/template/.agent/workflows/decompose-architecture-validate.md +29 -80
- package/template/.agent/workflows/decompose-architecture.md +27 -60
- package/template/.agent/workflows/evolve-contract.md +7 -2
- package/template/.agent/workflows/evolve-feature-cascade.md +34 -78
- package/template/.agent/workflows/evolve-feature-classify.md +22 -56
- package/template/.agent/workflows/ideate-discover.md +89 -100
- package/template/.agent/workflows/ideate-extract.md +42 -138
- package/template/.agent/workflows/ideate-validate.md +57 -133
- package/template/.agent/workflows/ideate.md +32 -19
- package/template/.agent/workflows/implement-slice-setup.md +15 -5
- package/template/.agent/workflows/implement-slice-tdd.md +21 -5
- package/template/.agent/workflows/plan-phase-write.md +30 -1
- package/template/.agent/workflows/propagate-decision-apply.md +23 -90
- package/template/.agent/workflows/propagate-decision-scan.md +20 -91
- package/template/.agent/workflows/remediate-pipeline-execute.md +6 -1
- package/template/.agent/workflows/validate-phase-quality.md +14 -3
- package/template/.agent/workflows/validate-phase-readiness.md +1 -1
- package/template/.agent/workflows/verify-infrastructure.md +2 -0
- package/template/.agent/workflows/write-architecture-spec-deepen.md +8 -2
- package/template/.agent/workflows/write-architecture-spec-design.md +11 -14
- package/template/.agent/workflows/write-be-spec-classify.md +26 -104
- package/template/.agent/workflows/write-be-spec-write.md +49 -3
- package/template/.agent/workflows/write-be-spec.md +1 -1
- package/template/.agent/workflows/write-fe-spec-write.md +62 -3
- package/template/.agent/workflows/write-fe-spec.md +1 -1
|
@@ -17,102 +17,48 @@ pipeline:
|
|
|
17
17
|
|
|
18
18
|
# Ideate — Discover
|
|
19
19
|
|
|
20
|
-
Explore domains through recursive breadth-before-depth with the Deep Think protocol. Write to the fractal folder structure
|
|
20
|
+
Explore domains through recursive breadth-before-depth with the Deep Think protocol. Write to the fractal folder structure.
|
|
21
21
|
|
|
22
|
-
**Prerequisite**: If invoked standalone, verify `docs/plans/ideation/ideation-index.md` exists with the fractal folder structure seeded. If
|
|
22
|
+
**Prerequisite**: If invoked standalone, verify `docs/plans/ideation/ideation-index.md` exists with the fractal folder structure seeded. If missing → **STOP**: "Run `/ideate-extract` first."
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## 2.4. Mid-shard resumption check
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
Scan `docs/plans/ideation/` for existing domain folders and feature files.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
- **If 0 domain folders exist** → fresh exploration. Proceed to Step 2.5.
|
|
31
|
+
- **If domain folders exist but ideation-index.md `## Domain Map` is incomplete** (some domains listed but not all have `[DEEP]`/`[EXHAUSTED]`) → this is a resumed session. Log: "Resuming exploration. [N] of [M] domains already explored." Skip already-completed domains and continue from the first incomplete one.
|
|
32
|
+
- **If all domains are marked `[DEEP]` or `[EXHAUSTED]`** → exploration is complete. Skip to Step 4 (problem exploration) if not yet done, otherwise skip to `/ideate-validate`.
|
|
31
33
|
|
|
32
34
|
## 2.5. Read Engagement Tier
|
|
33
35
|
|
|
34
|
-
Read `## Engagement Tier` from `docs/plans/ideation/ideation-index.md`.
|
|
35
|
-
|
|
36
|
-
| Tier | Structural gates (domain maps, classification, sub-domain structure) | Product gates (personas, MoSCoW, feature scope, competitive positioning) |
|
|
37
|
-
|------|----------------------------------------------------------------------|-------------------------------------------------------------------------|
|
|
38
|
-
| 🤖 **Auto** | Auto-confirm: apply Deep Think, write reasoning to feature files, proceed | Auto-confirm: apply Deep Think, write reasoning to feature files, proceed |
|
|
39
|
-
| 🤝 **Hybrid** | Auto-confirm: apply Deep Think, write reasoning to feature files, proceed | **Pause for user**: present findings, wait for explicit confirmation |
|
|
40
|
-
| 💬 **Interactive** | **Pause for user**: present findings, wait for explicit confirmation | **Pause for user**: present findings, wait for explicit confirmation |
|
|
41
|
-
|
|
42
|
-
> [!IMPORTANT]
|
|
43
|
-
> **Auto-confirmed gates must still write.** When a gate is auto-confirmed, the agent writes the Deep Think reasoning and decision to the relevant file immediately — just as if the user had confirmed it. The file trail must be identical regardless of tier. This ensures the Auto tier review checkpoint in `ideate-validate` has full traceability.
|
|
44
|
-
|
|
45
|
-
### Full Mode (recommended for 3+ domains)
|
|
46
|
-
|
|
47
|
-
#### Level 0 — Global Domain Map
|
|
48
|
-
|
|
49
|
-
1. Read `ideation-index.md` for currently identified domains and structural classification
|
|
50
|
-
2. Apply Deep Think: "What domains would I expect for this product type?"
|
|
51
|
-
3. For each confirmed domain, run the **Node Classification Gate** (from skill):
|
|
52
|
-
- Determine placement (surface folder, hub, shared, or top-level)
|
|
53
|
-
- Create domain folder: `{NN}-{slug}/` + `{slug}-index.md` + `{slug}-cx.md`
|
|
54
|
-
4. Note preliminary cross-cuts:
|
|
55
|
-
- In the relevant parent's CX file (surface CX or global CX)
|
|
56
|
-
- In `ideation-cx.md` if cross-surface
|
|
57
|
-
5. Update `ideation-index.md` structure map with paths
|
|
58
|
-
6. **Gate** *(structural)*: Present domain map. **Interactive/Hybrid**: User confirms before Level 1. **Auto**: Auto-confirm with Deep Think reasoning written to `ideation-index.md`.
|
|
59
|
-
|
|
60
|
-
#### Level 1 — Domain Breadth Sweep
|
|
36
|
+
Read `## Engagement Tier` from `docs/plans/ideation/ideation-index.md`.
|
|
61
37
|
|
|
62
|
-
|
|
38
|
+
- **If the section exists** → apply the specified tier.
|
|
39
|
+
- **If the section is missing** → default to **Hybrid** tier. Warn: "Engagement tier not found in ideation-index.md. Defaulting to Hybrid. Override now or continue?"
|
|
40
|
+
- **If the value is not one of Auto/Hybrid/Interactive** → **STOP**: "Invalid engagement tier '[value]' in ideation-index.md. Expected: Auto, Hybrid, or Interactive."
|
|
63
41
|
|
|
64
|
-
|
|
65
|
-
2. **Deep Think**: "What sub-areas would an expert expect?"
|
|
66
|
-
3. Run **Node Classification Gate** for each:
|
|
67
|
-
- 2+ interacting capabilities → **sub-domain** (create folder + index + CX)
|
|
68
|
-
- Single capability → **feature** (create `.md` file from `fractal-feature-template.md`)
|
|
69
|
-
4. Update domain index (Children table + **Role Matrix**)
|
|
70
|
-
5. Note cross-cuts in the domain's CX file
|
|
71
|
-
6. **NEW DOMAINS DISCOVERED?** → Classify, create, update index, loop to Level 0
|
|
72
|
-
7. Mark domain status as `[BREADTH]`
|
|
73
|
-
8. **Gate** *(structural)*: Pause after EACH domain. **Interactive/Hybrid**: "Here's what I mapped for [Domain]. Missing anything?" After ALL: "All domains at BREADTH. Ready to drill?" **Auto**: Auto-confirm with Deep Think reasoning written to domain index.
|
|
42
|
+
Read `.agent/skills/prd-templates/references/engagement-tier-protocol.md` — apply the tier's gate behavior for structural gates and product gates throughout this shard.
|
|
74
43
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
For each domain (dependency order), for each child:
|
|
78
|
-
|
|
79
|
-
1. Apply Exhaustion Questions (entity, feature, user, integration)
|
|
80
|
-
2. **Deep Think** per child — edge cases, interactions, failure modes
|
|
81
|
-
3. For **feature files**: fill all sections (Behavior, Edge Cases, States, **Role Lens**)
|
|
82
|
-
4. For **sub-domains**: drill their child features recursively
|
|
83
|
-
5. Record Deep Think outcomes in each feature file's Deep Think Annotations table
|
|
84
|
-
6. Cross-cuts with evidence → add to parent's CX file with synthesis questions
|
|
85
|
-
7. **Feature reveals 2+ interacting capabilities?** → Run **Promotion Protocol** (convert .md to folder)
|
|
86
|
-
8. **NEW DOMAINS DISCOVERED?** → Loop to Level 0
|
|
87
|
-
9. When Deep Think yields zero hypotheses AND user confirms (or auto-confirms for Auto tier) → mark `[EXHAUSTED]`
|
|
88
|
-
10. Status propagation: all children `[EXHAUSTED]` → node is `[EXHAUSTED]`
|
|
89
|
-
11. **Gate** *(product)*: Pause after each domain is drilled. **Interactive**: Full review. **Hybrid**: Pause for review. **Auto**: Auto-confirm with Deep Think reasoning written to domain index.
|
|
90
|
-
|
|
91
|
-
#### Cross-Cut Synthesis (Continuous)
|
|
92
|
-
|
|
93
|
-
Cross-cuts are identified continuously, but after all domains reach `[DEEP]`, do a final review:
|
|
94
|
-
|
|
95
|
-
1. Read ALL CX files at every level (global, surface, domain, sub-domain)
|
|
96
|
-
2. For any entries at Medium/Low confidence, ask the five synthesis questions (per `fractal-cx-template.md`)
|
|
97
|
-
3. Document confirmed interactions with role scoping
|
|
98
|
-
4. Record rejected pairs with reasoning
|
|
99
|
-
5. Check second-order cross-cuts: "Do any CONFIRMED pairs cross-cut each other?"
|
|
100
|
-
|
|
101
|
-
### Vertical Mode
|
|
102
|
-
|
|
103
|
-
Identify shallowest leaf nodes. Drive to `[DEEP]`/`[EXHAUSTED]` with Deep Think. Fill Role Lens in all feature files. Cross-cut watch active — log to appropriate CX files. Do not introduce new domains unless user requests.
|
|
104
|
-
|
|
105
|
-
### Horizontal Mode
|
|
44
|
+
> [!IMPORTANT]
|
|
45
|
+
> **Auto-confirmed gates must still write.** When a gate is auto-confirmed, the agent writes the Deep Think reasoning and decision to the relevant file immediately. The file trail must be identical regardless of tier.
|
|
106
46
|
|
|
107
|
-
|
|
47
|
+
## 3. Domain Exploration — Recursive Model
|
|
108
48
|
|
|
109
|
-
|
|
49
|
+
Read `.agent/skills/idea-extraction/SKILL.md` — follow the **Recursive Domain Exhaustion Protocol**, **Deep Think Protocol**, **Node Classification Gate**, and **Reactive Depth Protocol**.
|
|
110
50
|
|
|
111
|
-
Read
|
|
51
|
+
Read `## Expansion Mode` and `## Structural Classification` from `docs/plans/ideation/ideation-index.md`.
|
|
112
52
|
|
|
113
|
-
|
|
53
|
+
Route to the correct exploration mode based on what was selected in `ideate-extract` Step 1.6.5:
|
|
114
54
|
|
|
115
|
-
|
|
55
|
+
- **Full exploration** → Run Level 0 → Level 1 → Level 2+ as defined in `idea-extraction/SKILL.md` → `## Recursive Domain Exhaustion Protocol`. Apply tier-appropriate gate behavior at each level.
|
|
56
|
+
- **Vertical** → Identify shallowest leaf nodes. Drive to `[DEEP]`/`[EXHAUSTED]` with Deep Think. Do not introduce new domains unless user requests.
|
|
57
|
+
- **Horizontal** → Audit for missing domains with Deep Think. Create domain folders (with Classification Gate). Level 1 breadth sweep on each. Offer vertical drilling after.
|
|
58
|
+
- **Cross-cutting** → Read all CX files + feature files. Identify interaction points. Run synthesis questions on unresolved pairs.
|
|
59
|
+
- **Combination** → User specifies sequence.
|
|
60
|
+
- **As-is** → Skip expansion, run exhaustion check, but still scan for obvious CX candidates.
|
|
61
|
+
- **Audit ambiguity first** → Run inline ambiguity check, then select expansion mode based on results.
|
|
116
62
|
|
|
117
63
|
---
|
|
118
64
|
|
|
@@ -125,15 +71,7 @@ Read `.agent/skills/brainstorming/SKILL.md` and follow its methodology.
|
|
|
125
71
|
3. **How are they solving it today?** → Write to `meta/competitive-landscape.md`
|
|
126
72
|
4. **Why now?** → Write to `meta/problem-statement.md` under "Why Now"
|
|
127
73
|
|
|
128
|
-
**Persona completeness gate
|
|
129
|
-
1. Name + specific role
|
|
130
|
-
2. Specific pain point
|
|
131
|
-
3. Current workaround
|
|
132
|
-
4. Success criteria
|
|
133
|
-
5. Switching trigger
|
|
134
|
-
6. At least one edge case or constraint unique to this persona
|
|
135
|
-
|
|
136
|
-
If any field absent → probe before proceeding. Reference: `.agent/skills/pipeline-rubrics/references/ideation-rubric.md` Dimension 2.
|
|
74
|
+
**Persona completeness gate**: Read `.agent/skills/prd-templates/references/persona-completeness-gate.md`. Verify all 6 fields for every persona. If any field absent → probe before proceeding.
|
|
137
75
|
|
|
138
76
|
---
|
|
139
77
|
|
|
@@ -141,30 +79,81 @@ If any field absent → probe before proceeding. Reference: `.agent/skills/pipel
|
|
|
141
79
|
|
|
142
80
|
### 5a. Feature collection (MoSCoW)
|
|
143
81
|
|
|
144
|
-
Read `.agent/skills/brainstorming/SKILL.md`.
|
|
82
|
+
Read `.agent/skills/brainstorming/SKILL.md`. For each persona, brainstorm features across all 4 MoSCoW tiers. **Deep Think** for missing Must Haves.
|
|
145
83
|
|
|
146
|
-
|
|
84
|
+
Write MoSCoW matrix to `ideation-index.md`. Each feature references its fractal path and links to its feature file.
|
|
147
85
|
|
|
148
|
-
|
|
86
|
+
**0 Must Haves guard**: If the MoSCoW matrix contains 0 Must Have features → **STOP**: "No Must Have features identified. This indicates the problem statement or personas need refinement. Return to Step 4 and re-examine 'What problem are we solving?' with deeper probing before continuing."
|
|
149
87
|
|
|
150
|
-
###
|
|
88
|
+
### 5a.5. Adjacent Feature Analysis (gap surfacing)
|
|
89
|
+
|
|
90
|
+
After the MoSCoW matrix is populated, reason about what's **conspicuously absent** given everything known about the product:
|
|
151
91
|
|
|
152
|
-
|
|
92
|
+
1. **Domain reasoning**: Given the product type (e.g., e-commerce, SaaS, marketplace), enumerate the standard feature categories expected in this space. Compare against the MoSCoW matrix. List any standard categories with zero features.
|
|
93
|
+
2. **Persona reasoning**: For each persona, ask: "What does this persona need to accomplish their goal that isn't covered by any feature?" List unmet persona needs.
|
|
94
|
+
3. **Workflow reasoning**: Trace each persona's end-to-end workflow. Identify any step where the user would need to leave the product to accomplish something — each gap is a potential missing feature.
|
|
95
|
+
4. **Competitive reasoning**: Read `meta/competitive-landscape.md`. For each competitor capability listed, verify a corresponding feature exists. List competitive gaps.
|
|
153
96
|
|
|
154
|
-
|
|
155
|
-
2. **Level 2: Edge cases and failure modes.** Fill feature file sections: Behavior (happy path, edge cases, states), **Role Lens**.
|
|
156
|
-
3. **Level 3 (complex features): Interactions.** Cross-cuts with evidence → parent CX file.
|
|
97
|
+
**Present findings as suggestions, not mandates**:
|
|
157
98
|
|
|
158
|
-
|
|
99
|
+
> 🔍 **Features you might not have thought of:**
|
|
100
|
+
>
|
|
101
|
+
> Based on [product type] and your personas:
|
|
102
|
+
> - [Feature A] — [why it fits: persona X needs this for workflow step Y]
|
|
103
|
+
> - [Feature B] — [why it fits: standard in this space, competitors X and Y have it]
|
|
104
|
+
> - [Feature C] — [why it fits: gap in persona Z's end-to-end workflow]
|
|
105
|
+
>
|
|
106
|
+
> Want to add any of these? They'd enter the MoSCoW matrix for prioritization.
|
|
107
|
+
|
|
108
|
+
**STOP** — wait for user response. For each accepted feature:
|
|
109
|
+
1. Add to the MoSCoW matrix at the user's chosen priority
|
|
110
|
+
2. Create a feature file in the appropriate domain folder
|
|
111
|
+
3. Continue to Step 5b with the expanded feature set
|
|
112
|
+
|
|
113
|
+
For rejected features: note in `ideation-index.md` under a `## Considered & Rejected` section with the reason, so future sessions don't re-suggest them.
|
|
114
|
+
|
|
115
|
+
### 5b. Feature deepening — Must Haves
|
|
116
|
+
|
|
117
|
+
For each Must Have feature, use the recursive model from `idea-extraction/SKILL.md`:
|
|
118
|
+
1. **Level 1**: Sub-features. Run Classification Gate — sub-domain or feature?
|
|
119
|
+
2. **Level 2**: Edge cases and failure modes. Fill feature file sections per `fractal-feature-template.md`.
|
|
120
|
+
3. **Level 3** (complex features): Cross-cuts with evidence → parent CX file.
|
|
121
|
+
|
|
122
|
+
**Deep Think at each level.** Write results to feature files.
|
|
159
123
|
|
|
160
124
|
### 5c. Feature deepening — Should Haves (lighter touch)
|
|
161
125
|
|
|
162
126
|
Level 1 (sub-features) only with Deep Think. Full treatment deferred to `/create-prd`.
|
|
163
127
|
|
|
128
|
+
### 5d. Cross-Cut Synthesis Sweep (mandatory)
|
|
129
|
+
|
|
130
|
+
After all features are deepened, systematically identify emergent capabilities that arise when features **combine**:
|
|
131
|
+
|
|
132
|
+
1. **Build a feature interaction matrix**: List all Must Have and Should Have features on both axes. For each pair, ask: "When a user has both of these, does something new become possible that neither feature provides alone?"
|
|
133
|
+
2. **Identify emergent capabilities**: For each interesting pair (or triplet), describe the emergent capability.
|
|
134
|
+
- Example: Feature "AI diagnostics" + Feature "Supplier catalog" → emergent: "AI-recommended parts ordering" — the diagnostic identifies the failed part AND the catalog knows who sells it, enabling one-click ordering.
|
|
135
|
+
3. **Classify each emergent capability**:
|
|
136
|
+
- **Already captured** → a feature or sub-feature already covers this. Note the link.
|
|
137
|
+
- **New cross-cut** → write to the parent domain's CX file. Flag for user review.
|
|
138
|
+
- **New feature entirely** → present to user for MoSCoW placement.
|
|
139
|
+
4. **Present all findings**:
|
|
140
|
+
|
|
141
|
+
> 🔗 **Cross-cutting opportunities discovered:**
|
|
142
|
+
>
|
|
143
|
+
> | Features Combined | Emergent Capability | Status |
|
|
144
|
+
> |---|---|---|
|
|
145
|
+
> | [A] + [B] | [What becomes possible] | New cross-cut / New feature / Already captured |
|
|
146
|
+
>
|
|
147
|
+
> These emerged from how your features interact — they're capabilities you get "for free" if you build them with this interaction in mind.
|
|
148
|
+
|
|
149
|
+
**STOP** — wait for user response. Write accepted cross-cuts to CX files immediately. Add accepted new features to MoSCoW matrix.
|
|
150
|
+
|
|
151
|
+
> **Minimum coverage**: The sweep must evaluate at least every Must Have × Must Have pair and every Must Have × Should Have pair. Should Have × Should Have pairs are optional but recommended for complex products.
|
|
152
|
+
|
|
164
153
|
---
|
|
165
154
|
|
|
166
|
-
###
|
|
155
|
+
### Next step
|
|
167
156
|
|
|
168
|
-
|
|
157
|
+
**STOP** — do NOT proceed to any other workflow. The only valid next step is `/ideate-validate`.
|
|
169
158
|
|
|
170
|
-
> If standalone, surface via `notify_user
|
|
159
|
+
> If invoked standalone, surface this via `notify_user` and wait for user confirmation before running `/ideate-validate`.
|
|
@@ -19,181 +19,85 @@ pipeline:
|
|
|
19
19
|
|
|
20
20
|
Classify the user's input, create the fractal `ideation/` folder structure, and load skills.
|
|
21
21
|
|
|
22
|
-
**Prerequisite**: If standalone, verify user provided input via `@file` or verbal. If none, prompt:
|
|
22
|
+
**Prerequisite**: If standalone, verify user provided input via `@file` or verbal. If none, prompt: "What would you like to build? Provide a file or describe your idea."
|
|
23
|
+
|
|
24
|
+
If `@file` was provided:
|
|
25
|
+
- **If file does not exist or is not readable** → **STOP**: "File not found at `[path]`. Provide a valid file path or describe your idea verbally."
|
|
26
|
+
- **If file is empty** (0 bytes) → **STOP**: "File at `[path]` is empty. Provide a file with content or describe your idea verbally."
|
|
27
|
+
- **If file is readable** → proceed to Step 1.
|
|
23
28
|
|
|
24
29
|
---
|
|
25
30
|
|
|
26
31
|
## 1. Input assessment
|
|
27
32
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
| Input Type | Detection | Extraction Mode |
|
|
31
|
-
|---|---|---|
|
|
32
|
-
| **Rich document** | >5KB, detailed docs, design conversations, prior specs | Extraction |
|
|
33
|
-
| **Thin document** | <5KB, structured but shallow (bullet list, rough PRD) | Expansion |
|
|
34
|
-
| **Conversational dump** | Chat logs, unstructured conversation transcripts | Extraction (with noise filtering) |
|
|
35
|
-
| **Verbal / one-liner** | User describes idea in chat, no files | Interview |
|
|
36
|
-
| **Nothing** | "I want to build an app" or similar | Interview (deep) |
|
|
37
|
-
|
|
38
|
-
**For rich inputs (Extraction mode):**
|
|
39
|
-
1. Read/ingest all provided documents
|
|
40
|
-
2. **Proportionality check**: If source >50KB, total ideation output must be ≥30% of source line count
|
|
41
|
-
3. **Interview the document**: Run the interview question framework from `idea-extraction/SKILL.md` Extraction Mode Phase 1. Extract concepts (not headings) with citations. Classify every concept through the Node Classification Gate. Build the classification table and proposed domain map.
|
|
42
|
-
4. **BLOCKING GATE — Do NOT proceed to Step 1.5 until the classification table is built.** The classification table is a required artifact. No domain folders can be created without it.
|
|
43
|
-
5. Identify gaps — questions the document doesn't answer → these become Phase 2 user interview questions
|
|
44
|
-
6. Use idea-extraction skill to refine, not re-derive
|
|
45
|
-
|
|
46
|
-
**For thin inputs (Expansion mode):**
|
|
47
|
-
1. Read input and identify domain boundaries
|
|
48
|
-
2. Identify depth level per domain (surface → detailed → implementation-ready)
|
|
49
|
-
3. Note shallowest domains for priority treatment in `/ideate-discover`
|
|
50
|
-
|
|
51
|
-
**For verbal / no input (Interview mode):**
|
|
52
|
-
1. Read `.agent/skills/idea-extraction/SKILL.md` and enter Interview mode
|
|
53
|
-
2. Start with: "In one sentence, what problem does this solve and for whom?"
|
|
54
|
-
3. **Immediately after**: Run Structural Classification (Step 1.3)
|
|
55
|
-
4. From that sentence + classification, identify initial domains
|
|
56
|
-
5. Proceed to folder seeding (Step 1.5)
|
|
33
|
+
Read `.agent/skills/prd-templates/references/input-classification.md` — classify the input into one of the five types.
|
|
57
34
|
|
|
58
|
-
|
|
35
|
+
Read `.agent/skills/idea-extraction/SKILL.md` → `## Input-Adaptive Modes` — follow the process for the classified input type.
|
|
59
36
|
|
|
60
|
-
|
|
37
|
+
**BLOCKING GATE**: Classification must produce a single input type. If ambiguous between Rich and Thin, use the 5KB threshold. If ambiguous between Thin and Verbal, check whether a file was provided.
|
|
61
38
|
|
|
62
|
-
|
|
39
|
+
**For Extraction mode (rich input)**: Follow `idea-extraction/SKILL.md` → Extraction Mode Phase 1 steps 1-6.
|
|
63
40
|
|
|
64
|
-
**
|
|
65
|
-
1. Scan for surface signals (see detection table in skill)
|
|
66
|
-
2. If multi-product signals detected, scan for hub-and-spoke vs peer signals:
|
|
67
|
-
- One surface described as "the platform" or "the API" → **hub-and-spoke**
|
|
68
|
-
- All surfaces access central database through one API → **hub-and-spoke**
|
|
69
|
-
- Surfaces described as equally independent → **peer**
|
|
70
|
-
3. If no multi-product signals → **single-surface**
|
|
71
|
-
4. If ambiguous → ask the user the classification questions
|
|
41
|
+
**BLOCKING GATE — Do NOT proceed to Step 1.3 until the classification table is built.** The classification table (from skill Phase 1 step 4) is a required artifact. No domain folders can be created without it.
|
|
72
42
|
|
|
73
|
-
**For
|
|
74
|
-
1. After the opening problem statement, ask:
|
|
75
|
-
- "Who are the distinct user types or audiences?"
|
|
76
|
-
- "What platforms does this need to live on?" (web, mobile, desktop, API, CLI)
|
|
77
|
-
2. If multi-product → ask: "Is there a primary platform that others depend on, or are all surfaces independent peers?"
|
|
78
|
-
3. Classify the project shape
|
|
43
|
+
**For Expansion mode (thin input)**: Follow `idea-extraction/SKILL.md` → Expansion Mode steps 1-3. Note shallowest domains for priority treatment in `/ideate-discover`.
|
|
79
44
|
|
|
80
|
-
**
|
|
45
|
+
**For Interview mode (verbal / no input)**: Follow `idea-extraction/SKILL.md` → Interview Mode steps 1-2. Proceed to Step 1.3 immediately after opening question.
|
|
46
|
+
|
|
47
|
+
## 1.3. Structural Classification
|
|
81
48
|
|
|
82
|
-
|
|
49
|
+
Read `.agent/skills/idea-extraction/SKILL.md` → `## Structural Classification Protocol`. Follow the protocol for the current input type (document vs interview).
|
|
50
|
+
|
|
51
|
+
**BLOCKING GATE**: Classification must run BEFORE any domain folders are created (Step 1.5). Record the result (`single-surface`, `multi-surface-shared`, `multi-product-hub`, `multi-product-peer`) in `ideation-index.md` under `## Structural Classification`.
|
|
83
52
|
|
|
84
53
|
## 1.4. Re-run check
|
|
85
54
|
|
|
86
|
-
|
|
55
|
+
Check whether `docs/plans/ideation/ideation-index.md` already exists.
|
|
87
56
|
|
|
88
|
-
-
|
|
57
|
+
- **Exists** → Present summary (expansion mode, domain count, depth markers). Ask: "An ideation folder already exists. **Continue** or **start fresh**?"
|
|
89
58
|
- **Continue** → skip seeding, jump to Step 1.6
|
|
90
59
|
- **Start fresh** → archive to `docs/plans/ideation-archive-[timestamp]/`, then seed
|
|
91
|
-
-
|
|
60
|
+
- **Does not exist** → proceed with seeding.
|
|
92
61
|
|
|
93
62
|
## 1.4.5. Classification Confirmation (Extraction mode only)
|
|
94
63
|
|
|
95
64
|
> **BLOCKING GATE**: Before creating ANY domain folder, you MUST complete this step.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- Every concept with its source location, gate result, and reasoning
|
|
103
|
-
- The proposed domain hierarchy (what folders would be created and where)
|
|
104
|
-
- The gap list (questions the document didn't answer)
|
|
105
|
-
3. **Ask**: "Here's how I classified your content. Does this look right?"
|
|
106
|
-
4. **Wait for user confirmation or corrections.** Do NOT proceed until the user responds.
|
|
107
|
-
5. **Apply any corrections** the user provides — update the classification table and domain map.
|
|
108
|
-
|
|
109
|
-
**The classification table must show for each concept:**
|
|
110
|
-
- Concept name and source location (line numbers or section reference)
|
|
111
|
-
- Gate result: domain / sub-domain / feature / cross-cut / not-a-product-domain
|
|
112
|
-
- Gate reasoning: which gate questions were asked and how they were answered
|
|
113
|
-
|
|
114
|
-
**Do NOT mirror source document headings as domains.** Source headings are hints for finding concepts. The Node Classification Gate determines what each concept is.
|
|
65
|
+
|
|
66
|
+
1. **Verify the classification table exists.** If it doesn't exist → STOP — go back and run Extraction Mode Phase 1 from `idea-extraction/SKILL.md`.
|
|
67
|
+
2. **Present the classification table and proposed domain map to the user.** Follow `idea-extraction/SKILL.md` → Extraction Mode Phase 2 step 7 for what to show.
|
|
68
|
+
3. **Wait for user confirmation or corrections.** Do NOT proceed until the user responds.
|
|
69
|
+
4. **Apply any corrections** the user provides.
|
|
70
|
+
5. **If user rejects the classification entirely** (e.g., "these domains are completely wrong") → return to Step 1 and re-classify from scratch, incorporating the user's feedback as explicit constraints. Do NOT attempt to patch the existing classification — start the classification protocol over.
|
|
115
71
|
|
|
116
72
|
## 1.5. Seed fractal `ideation/` folder
|
|
117
73
|
|
|
118
|
-
Read
|
|
119
|
-
- `.agent/skills/prd-templates/references/ideation-index-template.md` (super-index)
|
|
120
|
-
- `.agent/skills/prd-templates/references/ideation-crosscut-template.md` (global CX)
|
|
121
|
-
- `.agent/skills/prd-templates/references/fractal-node-index-template.md` (node index)
|
|
122
|
-
- `.agent/skills/prd-templates/references/fractal-cx-template.md` (node CX)
|
|
123
|
-
- `.agent/skills/prd-templates/references/fractal-feature-template.md` (feature file)
|
|
74
|
+
Read `.agent/skills/prd-templates/references/folder-seeding-protocol.md` and follow it.
|
|
124
75
|
|
|
125
76
|
Read `.agent/skills/technical-writer/SKILL.md` and follow its methodology.
|
|
126
77
|
|
|
127
|
-
**
|
|
128
|
-
|
|
129
|
-
**Create the base structure** (all project shapes). This is what the folder should contain AFTER seeding — kit-shipped files plus new pipeline files:
|
|
78
|
+
**BLOCKING GATE**: If Step 1.4.5 was not completed (Extraction mode), STOP — you cannot seed without a confirmed classification.
|
|
130
79
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
├── ideation-cx.md ← NEW: global cross-cuts (from ideation-crosscut-template)
|
|
137
|
-
└── meta/ ← NEW: created by this step
|
|
138
|
-
├── problem-statement.md
|
|
139
|
-
├── personas.md
|
|
140
|
-
├── competitive-landscape.md
|
|
141
|
-
└── constraints.md
|
|
142
|
-
```
|
|
80
|
+
**Partial failure recovery**: If folder seeding fails mid-way (some domain folders created, others not):
|
|
81
|
+
1. List what was successfully created vs. what failed
|
|
82
|
+
2. Present to user: "Folder seeding partially failed. [N] of [M] domains created. Retry the remaining [M-N] domains?"
|
|
83
|
+
3. If user says retry → seed only the missing domains
|
|
84
|
+
4. If user says abort → delete all newly created folders and STOP
|
|
143
85
|
|
|
144
|
-
**
|
|
145
|
-
|
|
146
|
-
**Post-seeding verification gate**: After creating all files, verify that `docs/plans/ideation/.gitkeep` and `docs/plans/ideation/README.md` still exist. If EITHER file is missing → **STOP**: "Kit-shipped files were destroyed during seeding. Restore `.gitkeep` and/or `README.md` to `docs/plans/ideation/` before continuing."
|
|
147
|
-
|
|
148
|
-
**Seed domains from CONFIRMED classification table** (not from source headings):
|
|
149
|
-
|
|
150
|
-
> **CRITICAL**: The domain list comes from the classification table confirmed in Step 1.4.5.
|
|
151
|
-
> Do NOT re-derive domains from the source document. Do NOT fall back to source headings.
|
|
152
|
-
> If Step 1.4.5 was not completed, STOP — you cannot seed without a confirmed classification.
|
|
153
|
-
|
|
154
|
-
For each concept classified as **domain** in the confirmed table:
|
|
155
|
-
1. Determine placement from the structural classification:
|
|
156
|
-
- Single-surface → create `docs/plans/ideation/{NN}-{slug}/`
|
|
157
|
-
- Hub-and-spoke → surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in hub surface
|
|
158
|
-
- Peer → surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in `shared/{NN}-{slug}/`
|
|
159
|
-
2. Create the domain folder with: `{slug}-index.md` + `{slug}-cx.md`
|
|
160
|
-
3. For concepts classified as **sub-domain**, create sub-domain folders nested inside their parent domain
|
|
161
|
-
4. For concepts classified as **feature**, create feature files inside their parent domain or sub-domain
|
|
162
|
-
5. For concepts classified as **cross-cut**, add entries to the appropriate CX files (domain-level or global)
|
|
163
|
-
6. For concepts classified as **not-a-product-domain**, add notes to `meta/constraints.md` for `/create-prd`
|
|
164
|
-
7. Update `ideation-index.md` structure map with paths
|
|
165
|
-
|
|
166
|
-
**Seeding content by input type:**
|
|
167
|
-
|
|
168
|
-
- **Rich document**: Seed each domain/sub-domain/feature with content from the source document using the source citations in the classification table. Run fidelity check: every major concept in the source must map to SOMETHING in the output (domain, sub-domain, feature, CX entry, or `/create-prd` note). Add `> Source: path/to/original.md` to index.
|
|
169
|
-
- **Chat transcript**: Noise filter → extract signal → seed domain folders with structured output.
|
|
170
|
-
- **Thin document**: Create domain folders with depth markers on feature files.
|
|
171
|
-
- **Verbal / one-liner**: Create domain folders with scaffolding. Feature files are `[SURFACE]`.
|
|
86
|
+
**Post-seeding verification gate**: Verify `docs/plans/ideation/.gitkeep` and `docs/plans/ideation/README.md` still exist. If EITHER is missing → **STOP**: "Kit-shipped files were destroyed during seeding. Restore them before continuing."
|
|
172
87
|
|
|
173
88
|
## 1.6. Engagement Tier Selection (ALL input types)
|
|
174
89
|
|
|
175
|
-
|
|
90
|
+
Read `.agent/skills/prd-templates/references/engagement-tier-protocol.md` for tier definitions and behavior.
|
|
176
91
|
|
|
177
|
-
|
|
178
|
-
> 1. 🤖 **Auto** — I explore independently via Deep Think. You review at the end.
|
|
179
|
-
> 2. 🤝 **Hybrid** *(recommended)* — Structural stuff auto, product decisions pause for you.
|
|
180
|
-
> 3. 💬 **Interactive** — I pause at every gate. Full interview mode.
|
|
92
|
+
Present with the recommended default for this input type (Rich/Thin/Chat → Hybrid, Verbal → Interactive).
|
|
181
93
|
|
|
182
94
|
**Wait for user answer.** Write the engagement tier to `ideation-index.md` under `## Engagement Tier` immediately.
|
|
183
95
|
|
|
184
96
|
## 1.6.5. Expansion Mode Selection (ALL input types)
|
|
185
97
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
1. **Full exploration** *(recommended for 3+ domains)* — Breadth-before-depth with Deep Think
|
|
189
|
-
2. **Process as-is** — Proceed with what's captured
|
|
190
|
-
3. **Expand vertically** — Drill deeper into existing features
|
|
191
|
-
4. **Expand horizontally** — Add new domains
|
|
192
|
-
5. **Cross-cutting concerns** — Map feature interactions
|
|
193
|
-
6. **Combination** — User specifies dimensions and order
|
|
194
|
-
7. **Audit ambiguity first** — Inline check before deciding
|
|
98
|
+
Read `.agent/skills/prd-templates/references/expansion-modes.md` for mode options and default recommendations.
|
|
195
99
|
|
|
196
|
-
**Wait for user answer.** Write expansion mode to `ideation-index.md` under `## Expansion Mode` immediately.
|
|
100
|
+
Present the options. **Wait for user answer.** Write expansion mode to `ideation-index.md` under `## Expansion Mode` immediately.
|
|
197
101
|
|
|
198
102
|
## 2. Load skills
|
|
199
103
|
|
|
@@ -201,8 +105,8 @@ Read `.agent/skills/idea-extraction/SKILL.md` and follow its methodology through
|
|
|
201
105
|
|
|
202
106
|
Also read `.agent/skills/resolve-ambiguity/SKILL.md` — use reactively when encountering ambiguity that can be resolved without user input.
|
|
203
107
|
|
|
204
|
-
###
|
|
108
|
+
### Next step
|
|
205
109
|
|
|
206
|
-
|
|
110
|
+
**STOP** — do NOT proceed to any other workflow. The only valid next step is `/ideate-discover`.
|
|
207
111
|
|
|
208
|
-
> If invoked standalone, surface this via `notify_user
|
|
112
|
+
> If invoked standalone, surface this via `notify_user` and wait for user confirmation before running `/ideate-discover`.
|