cfsa-antigravity 2.7.0 → 2.8.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/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
|
@@ -61,6 +61,11 @@ Document all consumers:
|
|
|
61
61
|
- Test files
|
|
62
62
|
- Other contracts that reference this one
|
|
63
63
|
|
|
64
|
+
**Zero-consumer path**: If no consumers are found (only the schema definition itself):
|
|
65
|
+
- Confirm with user: "Contract [name] has zero consumers. It can be modified directly without migration safeguards. Proceed with simple edit?"
|
|
66
|
+
- If confirmed → skip Steps 3-5, apply the schema change directly, run validation (Step 6), then proceed to Step 6.5.
|
|
67
|
+
- If user declines → proceed normally (the contract may have planned but not-yet-implemented consumers).
|
|
68
|
+
|
|
64
69
|
### 2.5. API versioning check (conditional)
|
|
65
70
|
|
|
66
71
|
If any consumer is a **public-facing API endpoint** (i.e., called by external clients, not just internal frontend):
|
|
@@ -96,9 +101,9 @@ Modify the {{CONTRACT_LIBRARY}} schema. For breaking changes:
|
|
|
96
101
|
|
|
97
102
|
## 4.5. New dependency check
|
|
98
103
|
|
|
99
|
-
If the contract change introduces a dependency not currently in the skill set — for example, a new validation library plugin, a schema extension, a binary serialization library, or a new validation pattern — read `.agent/workflows/bootstrap-agents.md` and invoke `/bootstrap-agents NEW_DEPENDENCY=[package]` before updating consumers in Step 5.
|
|
104
|
+
If the contract change introduces a dependency not currently in the skill set — for example, a new validation library plugin, a schema extension, a binary serialization library, or a new validation pattern — read `.agent/workflows/bootstrap-agents.md` and invoke `/bootstrap-agents NEW_DEPENDENCY=[package]` before updating consumers in Step 5. **HARD GATE**: Follow the bootstrap verification protocol (`.agent/skills/prd-templates/references/bootstrap-verification-protocol.md`).
|
|
100
105
|
|
|
101
|
-
|
|
106
|
+
If no new dependency was introduced, proceed directly to Step 5.
|
|
102
107
|
|
|
103
108
|
## 5. Update all consumers
|
|
104
109
|
|
|
@@ -17,32 +17,32 @@ pipeline:
|
|
|
17
17
|
|
|
18
18
|
Cascade the new content from the entry point through all downstream layers with existing content, assess implementation impact, run a consistency check, and write the evolution record.
|
|
19
19
|
|
|
20
|
-
> **Prerequisite**:
|
|
20
|
+
> **Prerequisite**: Entry point document must contain the new content (from `/evolve-feature-classify` Step 4). Cascade scope must be determined (Step 5 output).
|
|
21
|
+
|
|
22
|
+
**Locked decision conflict check**: Before cascading, scan the new content against locked decisions in upstream layers:
|
|
23
|
+
1. Read the architecture design document (`docs/plans/*-architecture-design.md`) for locked constraints
|
|
24
|
+
2. Compare each element of the new feature against: tech stack decisions, data placement strategy, security model, performance budgets
|
|
25
|
+
3. **If conflict detected** → **STOP**: "New feature '[name]' conflicts with locked decision: [decision]. Options: (1) Modify the feature to work within the constraint, (2) Use `/propagate-decision` to change the locked decision first, then re-run `/evolve-feature`."
|
|
26
|
+
4. **If no conflicts** → proceed to Step 1.
|
|
21
27
|
|
|
22
28
|
---
|
|
23
29
|
|
|
24
30
|
## 1. Cascade through each downstream layer
|
|
25
31
|
|
|
26
|
-
Read
|
|
27
|
-
|
|
28
|
-
For each downstream layer with existing content (in order: architecture → IA → BE → FE → phase plan):
|
|
32
|
+
Read `.agent/skills/technical-writer/SKILL.md` for writing standards.
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
2. **Determine what the new feature means for this layer** — what sections need additions, what contracts change, what new components are needed
|
|
32
|
-
3. **Write the additions** — new sections, new entries in existing tables, new acceptance criteria, new contracts. Write at the same depth and quality as the existing content in the layer.
|
|
33
|
-
4. **Present additions to user** — show exactly what was added and where
|
|
34
|
+
Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` → **Cascade Layer Guidance** table.
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
For each downstream layer with existing content (in order: architecture → IA → BE → FE → phase plan):
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
1. Read existing documents in the layer
|
|
39
|
+
2. Determine what the new feature means for this layer — consult the guidance table for what to add
|
|
40
|
+
3. Write the additions at the same depth and quality as existing content
|
|
41
|
+
4. Present additions to user
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
- **IA layer**: Add new domain interactions, update contracts, add data model changes, update access control
|
|
41
|
-
- **BE layer**: Add new API endpoints, update schemas, add middleware requirements, update validation rules
|
|
42
|
-
- **FE layer**: Add new components, update state management, add new routes, update accessibility requirements
|
|
43
|
-
- **Phase plan**: Add new slices or update existing slice acceptance criteria (see Step 2)
|
|
43
|
+
**STOP at each layer** — do not cascade to next until user approves.
|
|
44
44
|
|
|
45
|
-
> After writing
|
|
45
|
+
> After writing to any spec document, append a `## Changelog` row: date, `'Evolution: [description]'`, workflow, updated sections. If no `## Changelog` exists, add one from the template in `.agent/skills/prd-templates/references/be-spec-template.md`.
|
|
46
46
|
|
|
47
47
|
---
|
|
48
48
|
|
|
@@ -50,91 +50,47 @@ Layer-specific guidance:
|
|
|
50
50
|
|
|
51
51
|
If `docs/plans/phases/` exists and contains phase plans:
|
|
52
52
|
|
|
53
|
-
1.
|
|
54
|
-
2.
|
|
55
|
-
3.
|
|
56
|
-
4.
|
|
57
|
-
|
|
58
|
-
Present the impact assessment:
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
62
|
-
Implementation Impact
|
|
63
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
64
|
-
In-progress slices affected: [list or "none"]
|
|
65
|
-
Completed slices that may need revisiting: [list or "none"]
|
|
66
|
-
New slices needed: [list or "none"]
|
|
67
|
-
Phase plan update required: [yes/no]
|
|
53
|
+
1. Check in-progress slices for affected acceptance criteria
|
|
54
|
+
2. Check completed slices that may need revisiting (flag regression risk)
|
|
55
|
+
3. Determine if new slices are needed
|
|
56
|
+
4. Determine if phase plan update is required
|
|
68
57
|
|
|
69
|
-
|
|
70
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
71
|
-
```
|
|
58
|
+
Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` → **Impact Assessment Format** and use it to present.
|
|
72
59
|
|
|
73
|
-
If no phase plans exist
|
|
60
|
+
If no phase plans exist: "No phase plans yet — impact assessed during `/plan-phase`."
|
|
74
61
|
|
|
75
62
|
---
|
|
76
63
|
|
|
77
64
|
## 3. Run consistency check
|
|
78
65
|
|
|
79
|
-
Read
|
|
66
|
+
Read `.agent/skills/resolve-ambiguity/SKILL.md` and follow its methodology.
|
|
80
67
|
|
|
81
|
-
For every document that received additions
|
|
68
|
+
For every document that received additions:
|
|
69
|
+
1. Re-read full document — verify additions integrate correctly
|
|
70
|
+
2. Check for internal contradictions
|
|
71
|
+
3. Check cross-references between changed documents
|
|
72
|
+
4. Check against locked decisions
|
|
82
73
|
|
|
83
|
-
|
|
84
|
-
2. **Check for internal contradictions** — do the additions conflict with anything else in the same document?
|
|
85
|
-
3. **Check cross-references between changed documents** — if multiple documents were updated, verify they are consistent with each other
|
|
86
|
-
4. **Check against locked decisions** — do the additions contradict any locked architectural decisions?
|
|
87
|
-
|
|
88
|
-
Report any issues found. **Do not auto-fix** — present them to the user for review.
|
|
74
|
+
Report issues. **Do not auto-fix** — present to user.
|
|
89
75
|
|
|
90
76
|
---
|
|
91
77
|
|
|
92
78
|
## 4. Write evolution record
|
|
93
79
|
|
|
94
|
-
Write `docs/audits/evolve-feature-[name]-[date].md` recording:
|
|
95
|
-
|
|
96
|
-
- **Feature name** — short identifier for the evolution
|
|
97
|
-
- **Change type** — classification from Step 2 of `/evolve-feature-classify`
|
|
98
|
-
- **Entry point** — which document received the initial content
|
|
99
|
-
- **New content written** — summary of what was added at the entry point
|
|
100
|
-
- **Layers updated** — list of downstream layers that received additions
|
|
101
|
-
- **Per-layer additions** — what was added at each layer (summary, not full content)
|
|
102
|
-
- **Implementation impact** — assessment from Step 2 (if applicable)
|
|
103
|
-
- **Consistency check results** — pass/fail with details
|
|
104
|
-
- **Timestamp** of the evolution run
|
|
80
|
+
Write `docs/audits/evolve-feature-[name]-[date].md` recording: feature name, change type, entry point, new content summary, layers updated, per-layer additions, implementation impact, consistency check results, timestamp.
|
|
105
81
|
|
|
106
82
|
---
|
|
107
83
|
|
|
108
84
|
## 4.5. Bootstrap gate — new dependency check
|
|
109
85
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
For each missing skill:
|
|
113
|
-
1. Identify the technology (e.g., WebSocket, S3 storage, Stripe, Redis)
|
|
114
|
-
2. Read `.agent/workflows/bootstrap-agents.md` and invoke `/bootstrap-agents NEW_DEPENDENCY=[technology]`
|
|
115
|
-
3. Confirm the matching skill is installed before proceeding to Step 5
|
|
86
|
+
Scan updated documents for technologies without corresponding skill directories.
|
|
116
87
|
|
|
117
|
-
|
|
88
|
+
For each missing skill: read `.agent/workflows/bootstrap-agents.md` and invoke. **HARD GATE**: follow bootstrap verification protocol (`.agent/skills/prd-templates/references/bootstrap-verification-protocol.md`).
|
|
118
89
|
|
|
119
90
|
---
|
|
120
91
|
|
|
121
92
|
## 5. Propose next steps
|
|
122
93
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
127
|
-
Feature Evolution Complete
|
|
128
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
129
|
-
Entry point: [document]
|
|
130
|
-
Layers updated: [list]
|
|
131
|
-
New content: [summary]
|
|
132
|
-
Implementation: [impact summary]
|
|
133
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
134
|
-
|
|
135
|
-
❗ **Mandatory next step — do not skip**: The evolution just added or modified content across [N] layers. Evolution bypasses the normal deepening phase — the audit is the quality gate that replaces it.
|
|
136
|
-
|
|
137
|
-
Run `/audit-ambiguity` on the affected layers before any implementation work touches these documents. The affected layers are: [list the layers that were updated during the cascade — populated from Step 1's output].
|
|
94
|
+
Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` → **Completion Summary Format** and present.
|
|
138
95
|
|
|
139
|
-
|
|
140
|
-
```
|
|
96
|
+
❗ **Mandatory next step**: Run `/audit-ambiguity` on affected layers before any implementation work. List the layers updated during Step 1.
|
|
@@ -17,7 +17,7 @@ pipeline:
|
|
|
17
17
|
|
|
18
18
|
Capture the user's new feature, requirement, or constraint. Classify it, identify the correct entry point document, write the new content at proper spec depth, and determine which downstream layers need updating.
|
|
19
19
|
|
|
20
|
-
> **Prerequisite**:
|
|
20
|
+
> **Prerequisite**: `docs/plans/ideation/ideation-index.md` must exist. If not → **STOP**: run `/ideate` first.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -25,100 +25,66 @@ Capture the user's new feature, requirement, or constraint. Classify it, identif
|
|
|
25
25
|
|
|
26
26
|
Ask the user to describe what they want to add. Accept free-form input or `@file`.
|
|
27
27
|
|
|
28
|
-
If
|
|
28
|
+
If `@file` → read and extract key additions. If free-form → brief clarifying questions only (NOT a full `/ideate` interview).
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
32
|
## 2. Classify the change
|
|
33
33
|
|
|
34
|
-
Read
|
|
34
|
+
Read `.agent/skills/brainstorming/SKILL.md` and follow its methodology.
|
|
35
35
|
|
|
36
36
|
Present the classification menu:
|
|
37
37
|
|
|
38
38
|
```
|
|
39
39
|
What type of change is this?
|
|
40
40
|
|
|
41
|
-
[1] New feature —
|
|
42
|
-
[2] New requirement on
|
|
43
|
-
[3] New technical constraint —
|
|
44
|
-
[4] Scope correction —
|
|
41
|
+
[1] New feature — entirely new capability
|
|
42
|
+
[2] New requirement on existing feature — additional constraint/behavior/criteria
|
|
43
|
+
[3] New technical constraint — non-functional requirement affecting architecture
|
|
44
|
+
[4] Scope correction — misunderstanding or underspecification that needs fixing
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
**
|
|
47
|
+
**STOP** — do not proceed until the user selects.
|
|
48
48
|
|
|
49
49
|
---
|
|
50
50
|
|
|
51
51
|
## 3. Identify the entry point document
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
| **[
|
|
58
|
-
| **[
|
|
59
|
-
| **[3] New technical constraint** | `docs/plans/[dated]-architecture-design.md` | Technical constraints affect the architecture and everything below it |
|
|
60
|
-
| **[4] Scope correction** | Ask the user which document contains the misunderstanding | Corrections enter wherever the original misunderstanding lives |
|
|
61
|
-
|
|
62
|
-
For classification [2], identify which IA shard owns the affected domain by reading `docs/plans/ia/index.md` and matching the feature to a domain.
|
|
53
|
+
| Classification | Entry Point Document |
|
|
54
|
+
|---------------|---------------------|
|
|
55
|
+
| **[1] New feature** | `docs/plans/ideation/ideation-index.md` + fractal tree placement (Step 4) |
|
|
56
|
+
| **[2] New requirement** | The IA shard that owns the affected domain (read `docs/plans/ia/index.md` to find it) |
|
|
57
|
+
| **[3] New technical constraint** | `docs/plans/[dated]-architecture-design.md` |
|
|
58
|
+
| **[4] Scope correction** | Ask the user which document contains the misunderstanding |
|
|
63
59
|
|
|
64
60
|
---
|
|
65
61
|
|
|
66
62
|
## 4. Write new content at the entry point
|
|
67
63
|
|
|
68
|
-
Read
|
|
69
|
-
|
|
70
|
-
This is a real spec-writing step — not a placeholder. Write the new content at the appropriate depth for the entry point layer:
|
|
71
|
-
|
|
72
|
-
**If entry point is ideation layer** (`docs/plans/ideation/`):
|
|
64
|
+
Read `.agent/skills/technical-writer/SKILL.md` for clarity standards.
|
|
73
65
|
|
|
74
|
-
|
|
75
|
-
2. **Classification Gate**: Apply the Node Classification Gate from `.agent/skills/idea-extraction/SKILL.md` — determine if the feature is a leaf feature file or complex enough to warrant a sub-domain folder.
|
|
76
|
-
3. **Write the feature**: Use `.agent/skills/prd-templates/references/fractal-feature-template.md` as the template. Include:
|
|
77
|
-
- Feature description (what it does, why it matters)
|
|
78
|
-
- Affected personas (who uses this)
|
|
79
|
-
- Success criteria (how we know it works)
|
|
80
|
-
- Constraints (what limits apply)
|
|
81
|
-
- **Role Lens** — which personas interact with this feature and how
|
|
82
|
-
4. **Update parent index**: Add the new feature to the parent domain's `*-index.md` children table
|
|
83
|
-
5. **Update CX files**: If the feature has cross-domain interactions, update the parent domain's `*-cx.md` and/or `ideation-cx.md` (global)
|
|
84
|
-
6. **Update `ideation-index.md`**: Add the feature to the MoSCoW Summary at the appropriate priority level
|
|
66
|
+
Read `.agent/skills/prd-templates/references/evolution-layer-guidance.md` → **Entry Point Writing Depth** section for the entry point layer. Follow its writing checklist for the identified layer.
|
|
85
67
|
|
|
86
|
-
**
|
|
87
|
-
- Technical constraint description
|
|
88
|
-
- Affected components (which parts of the system this touches)
|
|
89
|
-
- Non-functional requirements (performance, scalability, compliance)
|
|
90
|
-
- Integration points (how this relates to existing architecture decisions)
|
|
91
|
-
|
|
92
|
-
**If entry point is IA layer** (specific IA shard):
|
|
93
|
-
- Domain interactions (new user flows or modifications to existing flows)
|
|
94
|
-
- Contracts (new or modified API contracts)
|
|
95
|
-
- Data models (new entities, fields, or relationships)
|
|
96
|
-
- Access control (RBAC implications)
|
|
97
|
-
|
|
98
|
-
**Inline ambiguity check**: Before presenting this content to the user for approval, apply the Micro Ambiguity Check from `.agent/skills/session-continuity/SKILL.md` (Ambiguity Gates section). Walk each individual element of the new content and ask: "Would an implementer need to guess about this?" For every element where the answer is yes — fix it now. Add the missing detail, type, behavior, or constraint. Only present the content to the user once it passes the micro check.
|
|
68
|
+
**Inline ambiguity check**: Before presenting to user, apply Micro Ambiguity Check from `.agent/skills/session-continuity/SKILL.md` — walk each element, fix any gaps where an implementer would need to guess.
|
|
99
69
|
|
|
100
70
|
Present the written content to the user.
|
|
101
71
|
|
|
102
|
-
**STOP — do not proceed until the user approves
|
|
72
|
+
**STOP** — do not proceed until the user approves.
|
|
103
73
|
|
|
104
74
|
---
|
|
105
75
|
|
|
106
76
|
## 5. Determine cascade scope
|
|
107
77
|
|
|
108
|
-
Based on the entry point, determine which downstream layers have existing content that needs updating:
|
|
109
|
-
|
|
110
78
|
| Entry Point | Cascade Layers (in order) |
|
|
111
79
|
|-------------|---------------------------|
|
|
112
80
|
| Vision | Architecture → IA → BE → FE → Phase plan |
|
|
113
81
|
| Architecture | IA → BE → FE → Phase plan |
|
|
114
|
-
| IA shard | BE spec
|
|
82
|
+
| IA shard | BE spec → FE spec → Phase plan |
|
|
115
83
|
| BE spec | FE → Phase plan |
|
|
116
|
-
| Scope correction |
|
|
117
|
-
|
|
118
|
-
**Important**: When the entry point is an IA shard, the downstream cascade remains scoped to the affected domain shard's corresponding BE and FE specs. Do not cascade into unrelated domain shards unless the user explicitly broadens scope.
|
|
84
|
+
| Scope correction | All layers below the corrected document |
|
|
119
85
|
|
|
120
|
-
|
|
86
|
+
Check each downstream layer for existing content. Only layers with existing content need updating.
|
|
121
87
|
|
|
122
88
|
Report: "These layers have existing content that will need updating: [list]."
|
|
123
89
|
|
|
124
|
-
If no downstream layers have content
|
|
90
|
+
If no downstream layers have content: "No downstream layers have existing content — incorporated when written. Evolution complete."
|
|
@@ -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`.
|