cfsa-antigravity 2.0.0 → 2.2.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.
Files changed (116) hide show
  1. package/README.md +14 -0
  2. package/package.json +1 -1
  3. package/template/.agent/instructions/commands.md +8 -32
  4. package/template/.agent/instructions/example.md +21 -0
  5. package/template/.agent/instructions/patterns.md +3 -3
  6. package/template/.agent/instructions/tech-stack.md +71 -23
  7. package/template/.agent/instructions/workflow.md +12 -1
  8. package/template/.agent/rules/completion-checklist.md +6 -0
  9. package/template/.agent/rules/security-first.md +3 -3
  10. package/template/.agent/rules/vertical-slices.md +1 -1
  11. package/template/.agent/skill-library/MANIFEST.md +6 -0
  12. package/template/.agent/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
  13. package/template/.agent/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
  14. package/template/.agent/skills/api-versioning/SKILL.md +44 -298
  15. package/template/.agent/skills/api-versioning/references/typescript.md +157 -0
  16. package/template/.agent/skills/architecture-mapping/SKILL.md +13 -13
  17. package/template/.agent/skills/bootstrap-agents/SKILL.md +151 -152
  18. package/template/.agent/skills/clean-code/SKILL.md +64 -118
  19. package/template/.agent/skills/clean-code/references/typescript.md +126 -0
  20. package/template/.agent/skills/database-schema-design/SKILL.md +93 -317
  21. package/template/.agent/skills/database-schema-design/references/relational.md +228 -0
  22. package/template/.agent/skills/error-handling-patterns/SKILL.md +62 -557
  23. package/template/.agent/skills/error-handling-patterns/references/go.md +162 -0
  24. package/template/.agent/skills/error-handling-patterns/references/python.md +262 -0
  25. package/template/.agent/skills/error-handling-patterns/references/rust.md +112 -0
  26. package/template/.agent/skills/error-handling-patterns/references/typescript.md +178 -0
  27. package/template/.agent/skills/idea-extraction/SKILL.md +322 -224
  28. package/template/.agent/skills/logging-best-practices/SKILL.md +108 -767
  29. package/template/.agent/skills/logging-best-practices/references/go.md +49 -0
  30. package/template/.agent/skills/logging-best-practices/references/python.md +52 -0
  31. package/template/.agent/skills/logging-best-practices/references/typescript.md +215 -0
  32. package/template/.agent/skills/migration-management/SKILL.md +127 -311
  33. package/template/.agent/skills/migration-management/references/relational.md +214 -0
  34. package/template/.agent/skills/parallel-feature-development/SKILL.md +34 -43
  35. package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +1 -1
  36. package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +2 -2
  37. package/template/.agent/skills/pipeline-rubrics/references/scoring.md +1 -1
  38. package/template/.agent/skills/pipeline-rubrics/references/vision-rubric.md +2 -1
  39. package/template/.agent/skills/prd-templates/SKILL.md +23 -6
  40. package/template/.agent/skills/prd-templates/references/be-spec-template.md +2 -2
  41. package/template/.agent/skills/prd-templates/references/decomposition-templates.md +2 -2
  42. package/template/.agent/skills/prd-templates/references/engineering-standards-template.md +2 -0
  43. package/template/.agent/skills/prd-templates/references/fe-spec-template.md +1 -1
  44. package/template/.agent/skills/prd-templates/references/fractal-cx-template.md +58 -0
  45. package/template/.agent/skills/prd-templates/references/fractal-feature-template.md +93 -0
  46. package/template/.agent/skills/prd-templates/references/fractal-node-index-template.md +55 -0
  47. package/template/.agent/skills/prd-templates/references/ideation-crosscut-template.md +26 -47
  48. package/template/.agent/skills/prd-templates/references/ideation-index-template.md +47 -31
  49. package/template/.agent/skills/prd-templates/references/operational-templates.md +1 -1
  50. package/template/.agent/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -21
  51. package/template/.agent/skills/prd-templates/references/skill-loading-protocol.md +32 -0
  52. package/template/.agent/skills/prd-templates/references/slice-completion-gates.md +29 -0
  53. package/template/.agent/skills/prd-templates/references/spec-coverage-sweep.md +3 -3
  54. package/template/.agent/skills/prd-templates/references/tdd-testing-policy.md +39 -0
  55. package/template/.agent/skills/prd-templates/references/vision-template.md +8 -8
  56. package/template/.agent/skills/regex-patterns/SKILL.md +122 -540
  57. package/template/.agent/skills/regex-patterns/references/go.md +44 -0
  58. package/template/.agent/skills/regex-patterns/references/javascript.md +63 -0
  59. package/template/.agent/skills/regex-patterns/references/python.md +77 -0
  60. package/template/.agent/skills/regex-patterns/references/rust.md +43 -0
  61. package/template/.agent/skills/resolve-ambiguity/SKILL.md +1 -1
  62. package/template/.agent/skills/session-continuity/SKILL.md +11 -9
  63. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +2 -2
  64. package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +1 -1
  65. package/template/.agent/skills/session-continuity/protocols/05-session-close.md +1 -1
  66. package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +1 -1
  67. package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +57 -78
  68. package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
  69. package/template/.agent/skills/spec-writing/SKILL.md +1 -1
  70. package/template/.agent/skills/tdd-workflow/SKILL.md +94 -317
  71. package/template/.agent/skills/tdd-workflow/references/typescript.md +231 -0
  72. package/template/.agent/skills/testing-strategist/SKILL.md +74 -687
  73. package/template/.agent/skills/testing-strategist/references/typescript.md +328 -0
  74. package/template/.agent/skills/workflow-automation/SKILL.md +62 -154
  75. package/template/.agent/skills/workflow-automation/references/inngest.md +88 -0
  76. package/template/.agent/skills/workflow-automation/references/temporal.md +64 -0
  77. package/template/.agent/workflows/bootstrap-agents-fill.md +85 -143
  78. package/template/.agent/workflows/bootstrap-agents-provision.md +90 -107
  79. package/template/.agent/workflows/create-prd-architecture.md +23 -16
  80. package/template/.agent/workflows/create-prd-compile.md +11 -12
  81. package/template/.agent/workflows/create-prd-design-system.md +1 -1
  82. package/template/.agent/workflows/create-prd-security.md +9 -11
  83. package/template/.agent/workflows/create-prd-stack.md +10 -4
  84. package/template/.agent/workflows/create-prd.md +9 -9
  85. package/template/.agent/workflows/decompose-architecture-structure.md +4 -6
  86. package/template/.agent/workflows/decompose-architecture-validate.md +18 -1
  87. package/template/.agent/workflows/decompose-architecture.md +18 -3
  88. package/template/.agent/workflows/evolve-contract.md +11 -11
  89. package/template/.agent/workflows/evolve-feature-classify.md +14 -6
  90. package/template/.agent/workflows/ideate-discover.md +72 -107
  91. package/template/.agent/workflows/ideate-extract.md +84 -63
  92. package/template/.agent/workflows/ideate-validate.md +26 -22
  93. package/template/.agent/workflows/ideate.md +9 -9
  94. package/template/.agent/workflows/implement-slice-setup.md +25 -23
  95. package/template/.agent/workflows/implement-slice-tdd.md +73 -89
  96. package/template/.agent/workflows/implement-slice.md +4 -4
  97. package/template/.agent/workflows/plan-phase-preflight.md +6 -2
  98. package/template/.agent/workflows/plan-phase-write.md +6 -8
  99. package/template/.agent/workflows/remediate-pipeline-assess.md +2 -1
  100. package/template/.agent/workflows/resolve-ambiguity.md +2 -2
  101. package/template/.agent/workflows/update-architecture-map.md +22 -5
  102. package/template/.agent/workflows/validate-phase-quality.md +155 -0
  103. package/template/.agent/workflows/validate-phase-readiness.md +167 -0
  104. package/template/.agent/workflows/validate-phase.md +19 -157
  105. package/template/.agent/workflows/verify-infrastructure.md +10 -10
  106. package/template/.agent/workflows/write-architecture-spec-design.md +23 -14
  107. package/template/.agent/workflows/write-be-spec-classify.md +25 -21
  108. package/template/.agent/workflows/write-be-spec.md +1 -1
  109. package/template/.agent/workflows/write-fe-spec-classify.md +6 -12
  110. package/template/.agent/workflows/write-fe-spec-write.md +1 -1
  111. package/template/AGENTS.md +6 -2
  112. package/template/GEMINI.md +5 -3
  113. package/template/docs/README.md +10 -10
  114. package/template/docs/kit-architecture.md +126 -33
  115. package/template/docs/plans/ideation/README.md +8 -3
  116. package/template/.agent/skills/prd-templates/references/ideation-domain-template.md +0 -55
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Skill library provisioning, workflow placeholder filling, and result reporting for the bootstrap-agents workflow
2
+ description: Skill library provisioning using 4-tier resolution chain and map cell filling for the bootstrap-agents workflow
3
3
  parent: bootstrap-agents
4
4
  shard: provision
5
5
  standalone: true
@@ -9,7 +9,7 @@ pipeline:
9
9
  stage: provisioning
10
10
  predecessors: [bootstrap-agents-fill]
11
11
  successors: []
12
- skills: [prd-templates]
12
+ skills: [prd-templates, find-skills]
13
13
  calls-bootstrap: false
14
14
  ---
15
15
 
@@ -17,9 +17,9 @@ pipeline:
17
17
 
18
18
  # Bootstrap Agents — Provision Skills
19
19
 
20
- Read the skill library manifest, provision matching skills, fill workflow placeholders, and report results.
20
+ Read the surface stack map, resolve each skill using the 4-tier chain, provision from the library, and report results.
21
21
 
22
- **Prerequisite**: If invoked standalone, the caller must have template values available (from a previous `/bootstrap-agents-fill` run or direct invocation with stack/surface keys).
22
+ **Prerequisite**: The surface stack map in `.agent/instructions/tech-stack.md` must have at least one row with filled cells (from a previous `/bootstrap-agents-fill` run).
23
23
 
24
24
  ---
25
25
 
@@ -27,112 +27,111 @@ Read the skill library manifest, provision matching skills, fill workflow placeh
27
27
 
28
28
  Read `.agent/skill-library/MANIFEST.md` to load the trigger tables.
29
29
 
30
- If `.agent/skill-library/MANIFEST.md` does not exist (e.g., user deleted it or is using a minimal kit), skip steps 7-8 and go to step 9.
30
+ If `.agent/skill-library/MANIFEST.md` does not exist (e.g., user deleted it or is using a minimal kit), use only Tier 2-4 resolution (no manifest matching).
31
31
 
32
32
  ---
33
33
 
34
- ## 7. Provision skills from library
34
+ ## 7. Provision skills 4-Tier Resolution Chain
35
35
 
36
- For each stack key provided in the template values, check the **Stack Triggers** table in the manifest:
36
+ Read the surface stack map from `.agent/instructions/tech-stack.md`. For **every skill name** referenced in any cell of both the Per-Surface Skills table and Cross-Cutting Skills table, resolve it:
37
37
 
38
- 1. Match the provided value against the manifest's `Value Pattern` (case-insensitive)
39
- 2. If a match is found AND the skill is NOT already in `.agent/skills/[installed-as]/`:
40
- - Copy the entire directory from `.agent/skill-library/[library-path]/` → `.agent/skills/[installed-as]/`
41
- - Fill any `{{PLACEHOLDER}}`s in the newly-copied `SKILL.md` with current template values
42
- 3. If the skill already exists in `.agent/skills/`, skip it (idempotent)
38
+ ### Tier 1: Exact Match
43
39
 
44
- For each surface type provided in `SURFACES`, check the **Surface Triggers** table:
40
+ Check `.agent/skills/{name}/` (already installed) and `.agent/skill-library/{name}/`:
45
41
 
46
- 1. Match the surface type against the manifest's `Surface Type` column
47
- 2. Copy matching skills that don't already exist, same as above
42
+ - **Already installed** skip (idempotent)
43
+ - **Found in library** → copy directory to `.agent/skills/{name}/`, fill any `{{PLACEHOLDER}}`s in the copied SKILL.md ✅
44
+ - **Not found** → check manifest `Value Pattern` matches (glob-style, case-insensitive) → if matched, install the mapped skill → update the map cell to use the installed directory name ✅
45
+ - **Still not found** → proceed to Tier 2
48
46
 
49
- ### Matching rules
47
+ ### Tier 2: Partial Match + Adequacy Check
50
48
 
51
- | Manifest Pattern | Matches |
52
- |-----------------|---------|
53
- | `*surrealdb*` | "SurrealDB", "surrealdb (self-hosted)", "SurrealDB Cloud" |
54
- | `*cloudflare*` | "Cloudflare Workers", "Cloudflare Pages + Workers" |
55
- | `*tailwind*` | "Tailwind CSS v4", "Tailwind CSS" |
56
- | `*vercel*` OR `*ai-sdk*` | "Vercel AI SDK", "AI SDK" |
57
- | `*three*` OR `*r3f*` | "Three.js", "React Three Fiber", "R3F" |
49
+ Search `.agent/skills/` and `.agent/skill-library/` for skills whose name contains the base term (e.g., for `surrealdb-embedded`, check `surrealdb`):
58
50
 
59
- Pattern matching is glob-style with `*` as wildcard, case-insensitive.
51
+ 1. **Partial match found** read its `SKILL.md`
52
+ 2. **Assess adequacy**: Does the skill cover the needed variant? Check for:
53
+ - Keywords matching the variant (e.g., "embedded", "WASM", "Rust-native")
54
+ - Sections addressing the use case
55
+ - Examples relevant to the variant
56
+ 3. **Adequate** → use the existing skill. Report: `"{name}" resolved by existing "{partial}" skill (covers {variant})` ✅
57
+ 4. **Falls short** → the skill doesn't address the variant. Proceed to Tier 3.
60
58
 
61
- ---
62
-
63
- ## 8. Update installed skills list
64
-
65
- After provisioning, build a markdown list of all installed skills (both defaults and library-provisioned) and update `{{INSTALLED_SKILLS}}` in the tech stack instruction.
66
-
67
- Also update `{{INSTALLED_SKILLS}}` in `AGENTS.md` and `GEMINI.md` with the same installed skills list. These root agent config files must reflect the full skill inventory so agents reading them have complete context.
68
-
69
- Read `.agent/skills/prd-templates/references/operational-templates.md` for the **Installed Skills List** template. Use the template structure, filling in actual installed skill names and descriptions.
59
+ ### Tier 3: External Discovery
70
60
 
71
- ### 8.5. Compose and fill FRAMEWORK_PATTERNS
61
+ Read `.agent/skills/find-skills/SKILL.md` and invoke its methodology:
72
62
 
73
- Identify any frontend-capable framework skill provisioned or matched during this invocation by checking across all relevant stack axes:
63
+ 1. Search for the skill externally
64
+ 2. **Found** → install → fill map cell with resolved name ✅
65
+ 3. **Not found** → proceed to Tier 4
74
66
 
75
- | Stack Axis | Example Skills |
76
- |------------|---------------|
77
- | `FRONTEND_FRAMEWORK` | `nextjs`, `astro-framework`, `sveltekit`, `nuxt`, `react-best-practices` |
78
- | `MOBILE_FRAMEWORK` | `expo-react-native` |
67
+ ### Tier 4: Human Escalation
79
68
 
80
- If any of these axes resolved to a provisioned skill in Step 7, use that skill for composition.
69
+ Mark the map cell with `⚠️ {name} [not found]`. Add to the report:
81
70
 
82
- **If a frontend-capable framework skill is present:**
83
- 1. Read the installed skill's `SKILL.md` from `.agent/skills/[installed-as]/SKILL.md`
84
- 2. Extract the component patterns section (file structure, naming conventions, composition patterns, what to avoid)
85
- 3. Compose a `FRAMEWORK_PATTERNS` markdown block summarising these component conventions
86
- 4. Fire `bootstrap-agents-fill` with `FRAMEWORK_PATTERNS=[composed value]` to fill the `## Components` section of `.agent/instructions/patterns.md`
87
- 5. If multiple frontend-capable skills are present (e.g., `FRONTEND_FRAMEWORK` + `MOBILE_FRAMEWORK`), merge their patterns into a single `FRAMEWORK_PATTERNS` block with clearly labelled sections per surface
71
+ > Skill `{name}` was not found in the skill library, via partial match, or externally.
72
+ > Options:
73
+ > 1. Create it with `/skill-creator`
74
+ > 2. Provide an alternative skill name
75
+ > 3. Mark as not needed (change cell to `—`)
88
76
 
89
- This step is idempotent — it can be re-run on existing projects to fill `patterns.md` without re-provisioning the skill. For remediation flows, provide the relevant stack axis value(s) so this step resolves the correct skill(s).
77
+ ---
90
78
 
91
- **If no frontend-capable framework skill is present:** Skip — `patterns.md` already has a sensible fallback for non-visual projects.
79
+ ## 8. Update installed skills list
92
80
 
93
- ---
81
+ After provisioning, build a markdown list of all installed skills and update `{{INSTALLED_SKILLS}}` in:
82
+ - `.agent/instructions/tech-stack.md`
83
+ - `AGENTS.md`
84
+ - `GEMINI.md`
94
85
 
95
- ## 9. Fill workflow skill placeholders
86
+ Read `.agent/skills/prd-templates/references/operational-templates.md` for the **Installed Skills List** template. Organize skills by:
96
87
 
97
- In the generic workflows, replace the following placeholders with the **directory name** of the installed skill (e.g., `surrealdb-expert`, `typescript-advanced-patterns`). The surrounding path `.agent/skills/.../SKILL.md` is hardcoded in each workflow. If no skill was installed for a given category, instruct the agent to skip it or provide a reasonable default.
88
+ ```markdown
89
+ ### Default Skills
90
+ - fix-bug — TDD bug fix workflow
91
+ - refactor — Safe refactoring with test verification
92
+ - ...
98
93
 
99
- ### DATABASE_SKILLS accumulation logic
94
+ ### Stack Skills (Per-Surface)
95
+ - [skill-name] — [description] (surface: [surface], column: [column])
96
+ - ...
100
97
 
101
- `{{DATABASE_SKILLS}}` is a comma-separated list of installed skill directory names (one per confirmed database store, e.g., `postgresql,qdrant,redis`). Bootstrap appends the new skill name to the existing list value rather than overwriting it. If the list is empty, set it to the single name. If the name is already present, skip (idempotent).
98
+ ### Stack Skills (Cross-Cutting)
99
+ - [skill-name] — [description] (category: [category])
100
+ - ...
102
101
 
103
- The following sub-keys all trigger the `{{DATABASE_SKILLS}}` accumulation logic:
104
- - `DATABASE_PRIMARY`Main relational/document/multi-model store
105
- - `DATABASE_VECTOR` — Semantic search, embeddings, similarity
106
- - `DATABASE_GRAPH` — Graph traversal, relationship queries
107
- - `DATABASE_CACHE` — Caching layer
108
- - `DATABASE_TIMESERIES` — Time-ordered data, metrics, IoT
102
+ ### Surface Skills
103
+ - [skill-name][description] (installed for [surface] surface)
104
+ - ...
105
+ ```
109
106
 
110
- > **Backward compatibility**: If the incoming key is `DATABASE`, treat it as `DATABASE_PRIMARY` and proceed identically.
107
+ ---
111
108
 
112
- ### SECURITY_SKILLS accumulation logic
109
+ ## 8.5. Compose and fill FRAMEWORK_PATTERNS
113
110
 
114
- `{{SECURITY_SKILLS}}` is a comma-separated list of all security skill directory names provisioned for this project. Bootstrap appends the new skill name to the existing list value rather than overwriting it. If the list is empty, set it to the single name. If the name is already present, skip (idempotent).
111
+ Identify any frontend-capable framework skill provisioned during this invocation:
115
112
 
116
- The following keys all contribute to `{{SECURITY_SKILLS}}` accumulation:
117
- - `SECURITY` — Explicit user-named security skill (e.g., `SECURITY=owasp-web-security`)
118
- - Surface trigger: web appends `owasp-web-security`, `csp-cors-headers`, `input-sanitization`
119
- - Surface trigger: api appends `input-sanitization` (if not already present)
120
- - Surface trigger: desktop → appends `desktop-security-sandboxing`
121
- - Surface trigger: any → appends `dependency-auditing`
113
+ | Stack Axis | Example Skills |
114
+ |------------|---------------|
115
+ | FE Frameworks | `nextjs`, `astro-framework`, `sveltekit`, `nuxt`, `react-best-practices` |
116
+ | BE Frameworks (with desktop UI) | `tauri` |
122
117
 
123
- `{{SECURITY_SKILLS}}` is used in `create-prd-security.md` Step 6 to load all relevant security skills before designing the security model.
118
+ Check the map's FE Frameworks and BE Frameworks columns across ALL surfaces. If any resolved to a skill with component patterns:
124
119
 
125
- ### Placeholder Workflow mapping
120
+ 1. Read the installed skill's `SKILL.md`
121
+ 2. Extract component patterns (file structure, naming, composition, what to avoid)
122
+ 3. Compose a `FRAMEWORK_PATTERNS` markdown block
123
+ 4. Fire `bootstrap-agents-fill` with `FRAMEWORK_PATTERNS=[composed value]`
124
+ 5. If multiple frontend-capable skills across surfaces → merge with labelled sections per surface
126
125
 
127
- Read `.agent/skills/prd-templates/references/placeholder-workflow-mapping.md` for the full mapping table of placeholders → source keys → consuming workflows.
126
+ ---
128
127
 
129
- ### 9.1. CONTRACT_LIBRARY resolution
128
+ ## 9. CONTRACT_LIBRARY resolution
130
129
 
131
- This step fires when the `LANGUAGE` key is confirmed (either from the current invocation or from an already-filled `tech-stack.md`).
130
+ This step fires when ANY Languages cell is confirmed.
132
131
 
133
- Derive `CONTRACT_LIBRARY` using the following mapping table:
132
+ For each unique language across all surfaces, derive `CONTRACT_LIBRARY`:
134
133
 
135
- | `LANGUAGE` value | `CONTRACT_LIBRARY` value |
134
+ | Language | Contract Library |
136
135
  |---|---|
137
136
  | TypeScript / JavaScript | Zod |
138
137
  | Python | Pydantic |
@@ -140,43 +139,27 @@ Derive `CONTRACT_LIBRARY` using the following mapping table:
140
139
  | Rust | Serde |
141
140
  | Java | Jakarta Bean Validation |
142
141
  | Kotlin | kotlinx.serialization |
143
- | C / C++ | (prompt user — no dominant standard) |
144
- | Bash / Shell | (none — validate inline with functions) |
142
+ | C / C++ | (prompt user) |
143
+ | Bash / Shell | (none) |
145
144
 
146
- For any language **not in this table**: prompt the user — "What is your preferred schema validation / contract library for [LANGUAGE]?" — and use their confirmed answer as the `CONTRACT_LIBRARY` value.
147
-
148
- Once the value is confirmed, invoke `bootstrap-agents-fill` with `CONTRACT_LIBRARY=[value]` so that `tdd-contract-first.md` is filled at the same time as the language skill is provisioned (the fill workflow's extended Step 3 scan will now reach `.agent/rules/`).
149
-
150
- ---
145
+ For languages **not in this table**: prompt the user.
151
146
 
152
- ## 9.5. Fill workflow command placeholders
153
-
154
- Workflows use `{{COMMAND}}` placeholders for test, lint, build, and validation commands. Replace them with the values gathered during tech stack decisions (step 1).
155
-
156
- In `.agent/workflows/implement-slice-tdd.md`:
157
- - `{{TEST_COMMAND}}` → the project's test runner command
158
- - `{{VALIDATION_COMMAND}}` → the full validation pipeline command
159
-
160
- In `.agent/workflows/validate-phase.md`:
161
- - `{{TEST_COMMAND}}` → the project's test runner command
162
- - `{{TEST_COVERAGE_COMMAND}}` → the test runner with coverage enabled
163
- - `{{LINT_COMMAND}}` → the linter command
164
- - `{{TYPE_CHECK_COMMAND}}` → the type checker command
165
- - `{{BUILD_COMMAND}}` → the production build command
166
-
167
- In `.agent/workflows/evolve-contract.md`:
168
- - `{{TEST_COMMAND}}` → the project's test runner command
169
- - `{{VALIDATION_COMMAND}}` → the full validation pipeline command
147
+ > **Multi-language**: If the project uses multiple languages (e.g., TypeScript + Rust), set `CONTRACT_LIBRARY` to a comma-separated list: `zod, serde`. Update `tdd-contract-first.md` to reference the appropriate library based on the file's language.
170
148
 
149
+ Fire `bootstrap-agents-fill` with `CONTRACT_LIBRARY=[value]` to fill `tdd-contract-first.md`.
171
150
 
172
151
  ---
173
152
 
174
153
  ## 10. Report results
175
154
 
176
- Return to the calling workflow a summary:
177
-
178
- - Which `{{PLACEHOLDER}}`s were filled (and their values)
179
- - Which `{{PLACEHOLDER}}`s remain unfilled
180
- - Which skills were provisioned from the library (if any)
181
- - Which skills were already installed and skipped
182
- - Any errors (missing files, missing library paths)
155
+ Return to the calling workflow:
156
+
157
+ - **Map cells filled** which surface/column combinations were resolved
158
+ - **Skills provisioned** installed from library (Tier 1)
159
+ - **Skills resolved by adequacy** existing skill covers variant (Tier 2), with justification
160
+ - **Skills discovered externally** found via find-skills (Tier 3)
161
+ - **⚠️ Cells requiring attention** skills not found (Tier 4)
162
+ - **Skills skipped** — already installed
163
+ - **Contract library** — resolved value(s)
164
+ - **Framework patterns** — composed and filled (if applicable)
165
+ - **Errors** — missing files, missing library paths
@@ -9,9 +9,9 @@ pipeline:
9
9
  stage: architecture
10
10
  predecessors: [create-prd-stack]
11
11
  successors: [create-prd-security]
12
- skills: [api-design-principles, database-schema-design, error-handling-patterns, prd-templates, technical-writer]
12
+ skills: [api-design-principles, database-schema-design, error-handling-patterns, prd-templates, session-continuity, technical-writer]
13
13
  calls-bootstrap: false
14
- requires_placeholders: [HOSTING_SKILL, ORM_SKILL, DATABASE_SKILLS]
14
+ requires_map_columns: [Databases, ORMs, Hosting]
15
15
  ---
16
16
 
17
17
  // turbo-all
@@ -22,38 +22,43 @@ Design the high-level system architecture and data strategy. Create the data pla
22
22
 
23
23
  ---
24
24
 
25
- ## 0. Placeholder guard
25
+ ## 0. Map guard
26
26
 
27
- Before any skill reads, verify that the following placeholder values have been filled by `/bootstrap-agents`. For each placeholder, check whether the literal characters `{{` still appear in the value. If **any** are unfilled, emit a **HARD STOP** and do not proceed to Step 4.
27
+ Read the surface stack map from `.agent/instructions/tech-stack.md`. Check the following columns/categories for filled values:
28
28
 
29
- | Placeholder | Filled by | Recovery | Why this matters |
29
+ | Map Location | Column/Category | Recovery | Why this matters |
30
30
  |---|---|---|---|
31
- | `{{HOSTING_SKILL}}` | `/create-prd-stack` when hosting provider is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed hosting provider, then run `/bootstrap-agents HOSTING=<confirmed-provider>`. Otherwise run `/create-prd-stack` first. | Data strategy and schema design steps (Steps 4 and 5) cannot run without the hosting skill — deployment topology decisions will lack provider-specific conventions. |
32
- | `{{ORM_SKILL}}` | `/create-prd-stack` when ORM is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed ORM, then run `/bootstrap-agents ORM=<confirmed-orm>`. Otherwise run `/create-prd-stack` first. | Migration strategy (Step 5.4) cannot run without the ORM skill — schema conventions and migration patterns will be generic instead of stack-specific. |
33
- | `{{DATABASE_SKILLS}}` | `/create-prd-stack` when database technology is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed database, then run `/bootstrap-agents DATABASE=<confirmed-db>`. Otherwise run `/create-prd-stack` first. | Data strategy (Step 5) cannot run without the database skill — schema design patterns will be incompatible with the chosen database. |
31
+ | Cross-Cutting | Hosting | Run `/create-prd-stack` to confirm hosting provider, then bootstrap. | Deployment topology (Step 4.3) needs hosting-specific conventions. |
32
+ | Per-Surface (shared) | ORMs | Run `/create-prd-stack` to confirm ORM, then bootstrap. | Migration strategy (Step 5.4) needs ORM-specific schema conventions. |
33
+ | Per-Surface (shared) | Databases | Run `/create-prd-stack` to confirm database(s), then bootstrap. | Data strategy (Step 5) needs database-specific schema design patterns. |
34
34
 
35
- For the hard stop message format and recovery instructions, see `.agent/skills/prd-templates/references/placeholder-guard-template.md`.
35
+ > **Timing fallback**: During `/create-prd`, the map may be partially populated. If a cell is empty but the value was just confirmed in the current conversation (from `/create-prd-stack`), proceed using the conversation-confirmed value. Bootstrap will fill the map after `/create-prd` completes.
36
36
 
37
- Only proceed to Step 4 when all three placeholders report no literal `{{` characters.
37
+ If cells are empty AND the value hasn't been confirmed in conversation → **HARD STOP**: tell the user to run `/create-prd-stack` first.
38
38
 
39
39
  ---
40
40
 
41
41
  ## 4. System architecture
42
42
 
43
- Read .agent/skills/{{API_DESIGN_SKILL}}/SKILL.md and .agent/skills/api-design-principles/SKILL.md for API surface design.
43
+ Read `.agent/skills/api-design-principles/SKILL.md` for API surface design.
44
44
 
45
45
  Design the high-level system. Each sub-item requires full exploration, not a summary sentence:
46
46
 
47
47
  1. **Component diagram** — What services exist? How do they communicate? What protocols? What happens if one is down?
48
48
  2. **Data flow** — Request lifecycle from client to database and back. Every hop, every transformation, every auth check along the way. Draw the full sequence.
49
49
  3. **Deployment topology** — What runs where? Edge? Origin? External? Local machine? App Store? What are the latency implications? What are the cost implications?
50
- Read .agent/skills/{{HOSTING_SKILL}}/SKILL.md and follow its deployment conventions.
50
+ Load the Hosting skill(s) from the cross-cutting section per the skill loading protocol (`.agent/skills/prd-templates/references/skill-loading-protocol.md`).
51
51
  Read .agent/skills/technical-writer/SKILL.md and follow its methodology.
52
52
  4. **API surface** — REST? GraphQL? RPC? Versioning strategy? Error format? Pagination? Rate limit headers?
53
+ 5. **Deployment strategy** — Rolling? Blue-green? Canary? Read `.agent/skills/deployment-procedures/SKILL.md` Section 6 for the strategy options and selection matrix. Ask:
54
+ - "Which zero-downtime deployment strategy fits your risk profile? Rolling (standard), Blue-Green (easy rollback), or Canary (validate with real traffic)?"
55
+ - "Do you want feature flags for controlled rollout of risky features? If yes, which provider (or build your own)?"
56
+ - "What is your rollback trigger? Error rate spike above N%? Latency threshold? Manual decision?"
57
+ Write the confirmed strategy to `docs/plans/architecture-draft.md` under `## Deployment Strategy`.
53
58
 
54
59
  For multi-surface projects, additionally define:
55
- 5. **Surface interconnection** — How do surfaces communicate? What is the source of truth for shared data? What happens when a surface is offline?
56
- 6. **Shared domain boundary** — Which entities/models are shared across surfaces vs surface-specific?
60
+ 6. **Surface interconnection** — How do surfaces communicate? What is the source of truth for shared data? What happens when a surface is offline?
61
+ 7. **Shared domain boundary** — Which entities/models are shared across surfaces vs surface-specific?
57
62
 
58
63
  For each component, also define:
59
64
  - What it owns (data, logic, auth decisions)
@@ -69,6 +74,8 @@ Refine based on discussion before proceeding.
69
74
 
70
75
  Write the completed `## System Architecture` section to `docs/plans/architecture-draft.md` (create the file if it does not exist). Do not wait until the end — write this section as soon as it is completed and confirmed by the user.
71
76
 
77
+ > **Decision recording**: For each non-trivial architecture decision (technology choices, deployment topology, API style, failure handling strategy), read `.agent/skills/session-continuity/protocols/06-decision-analysis.md` and follow the **Decision Effect Analysis Protocol**. Architecture decisions have the highest downstream impact in the pipeline — record them to `memory/decisions.md` with the Philosopher + Devil's Advocate deliberation.
78
+
72
79
  ## 4.5. Error architecture
73
80
 
74
81
  > **Hard gate.** This step is mandatory for every project. All five decisions below must be confirmed by the user before `## 5. Data strategy` begins. Do not proceed to Data Strategy until every decision is explicitly approved.
@@ -81,13 +88,13 @@ Write the completed decisions to `docs/plans/architecture-draft.md` under a new
81
88
 
82
89
  Read .agent/skills/database-schema-design/SKILL.md and follow its schema design methodology.
83
90
 
84
- Read each skill listed in `{{DATABASE_SKILLS}}` (comma-separated). For each skill directory name, read `.agent/skills/[skill]/SKILL.md` before proceeding. Each sub-item must be explored to field-level depth:
91
+ Load the Databases skill(s) from the `shared` surface row per the skill loading protocol. Each sub-item must be explored to field-level depth:
85
92
 
86
93
  1. **Data placement** — What lives in the database vs cache vs object storage vs external service vs local device storage? For each entity: which service owns it and why
87
94
  2. **Schema approach** — Strict schema vs schemaless vs hybrid? Field types, constraints, indexes, relations with cardinality
88
95
  3. **Query patterns** — Read-heavy? Write-heavy? What are the hot paths? What needs caching? What are the N+1 risks?
89
96
  4. **Migration strategy** — How will schema evolve? Backward compatibility approach? Zero-downtime migration plan?
90
- Read .agent/skills/{{ORM_SKILL}}/SKILL.md and follow its migration and schema conventions.
97
+ Load the ORMs skill(s) from the `shared` surface row per the skill loading protocol.
91
98
  5. **PII boundaries** — Which fields contain PII? Where is PII stored vs where is it NOT stored? How is PII isolated from AI/analytics pipelines?
92
99
 
93
100
  For multi-surface projects, additionally define:
@@ -11,7 +11,7 @@ pipeline:
11
11
  successors: [decompose-architecture]
12
12
  skills: [performance-budgeting, pipeline-rubrics, prd-templates, tdd-workflow, technical-writer]
13
13
  calls-bootstrap: true
14
- requires_placeholders: [UNIT_TESTING_SKILL, E2E_TESTING_SKILL, CI_CD_SKILL]
14
+ requires_map_columns: [Unit Tests, E2E Tests, CI/CD]
15
15
  ---
16
16
 
17
17
  // turbo-all
@@ -24,19 +24,19 @@ Document the development methodology and phasing strategy. Compile the architect
24
24
 
25
25
  ---
26
26
 
27
- ## 0. Placeholder guard
27
+ ## 0. Map guard
28
28
 
29
- Before any skill reads, verify that the following placeholder values have been filled by `/bootstrap-agents`. For each placeholder, check whether the literal characters `{{` still appear in the value. If **any** are unfilled, emit a **HARD STOP** and do not proceed to Step 8.
29
+ Read the surface stack map from `.agent/instructions/tech-stack.md`. Check the following columns/categories for filled values:
30
30
 
31
- | Placeholder | Filled by | Recovery | Why this matters |
31
+ | Map Location | Column/Category | Recovery | Why this matters |
32
32
  |---|---|---|---|
33
- | `{{UNIT_TESTING_SKILL}}` | `/create-prd-stack` when the unit testing framework is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed unit testing framework, then run `/bootstrap-agents UNIT_TESTING=<confirmed-framework>`. Otherwise run `/create-prd-stack` first. | Development methodology (Step 8) cannot document correct test conventions without the unit testing skill — TDD patterns will be generic instead of framework-specific. |
34
- | `{{E2E_TESTING_SKILL}}` | `/create-prd-stack` when the E2E testing framework is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed E2E testing framework, then run `/bootstrap-agents E2E_TESTING=<confirmed-framework>`. Otherwise run `/create-prd-stack` first. | Development methodology (Step 8) cannot document correct E2E test conventions without the E2E testing skill — integration test patterns will be generic. |
35
- | `{{CI_CD_SKILL}}` | `/create-prd-stack` when CI/CD platform is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed CI/CD platform, then run `/bootstrap-agents CI_CD=<confirmed-platform>`. Otherwise run `/create-prd-stack` first. | Phasing strategy (Step 9) cannot produce correct pipeline configuration without the CI/CD skill — deployment and quality gate patterns will lack platform-specific conventions. |
33
+ | Per-Surface (any) | Unit Tests | Run `/create-prd-stack` to confirm unit testing framework, then bootstrap. | Development methodology (Step 8) needs framework-specific TDD patterns. |
34
+ | Per-Surface (any) | E2E Tests | Run `/create-prd-stack` to confirm E2E testing framework, then bootstrap. | Development methodology (Step 8) needs E2E-specific test conventions. |
35
+ | Cross-Cutting | CI/CD | Run `/create-prd-stack` to confirm CI/CD platform, then bootstrap. | Phasing strategy (Step 9) needs platform-specific pipeline patterns. |
36
36
 
37
- For the hard stop message format and recovery instructions, see `.agent/skills/prd-templates/references/placeholder-guard-template.md`.
37
+ > **Timing fallback**: During `/create-prd`, the map may be partially populated. If a cell is empty but the value was just confirmed in the current conversation (from `/create-prd-stack`), proceed using the conversation-confirmed value. Bootstrap will fill the map after `/create-prd` completes.
38
38
 
39
- Only proceed to Step 8 when all three placeholders report no literal `{{` characters.
39
+ If cells are empty AND the value hasn't been confirmed in conversation → **HARD STOP**: tell the user to run `/create-prd-stack` first.
40
40
 
41
41
  ---
42
42
 
@@ -48,15 +48,14 @@ Document the agreed approach:
48
48
 
49
49
  1. **Contract-first** — Zod schemas (or equivalent) before implementation
50
50
  2. **TDD** — Failing tests before code
51
- Read .agent/skills/{{UNIT_TESTING_SKILL}}/SKILL.md and follow its test writing conventions.
52
- Read .agent/skills/{{E2E_TESTING_SKILL}}/SKILL.md and follow its E2E test conventions.
51
+ Load the Unit Tests and E2E Tests skill(s) from the surface stack map per the skill loading protocol (`.agent/skills/prd-templates/references/skill-loading-protocol.md`).
53
52
  3. **Vertical slices** — All surfaces per feature
54
53
  4. **Spec layers** — IA → BE → FE pipeline
55
54
  5. **Quality gates** — What must pass before merge
56
55
 
57
56
  ## 9. Phasing strategy
58
57
 
59
- Read .agent/skills/{{CI_CD_SKILL}}/SKILL.md and follow its pipeline configuration conventions.
58
+ Load the CI/CD skill(s) from the cross-cutting section per the skill loading protocol.
60
59
 
61
60
  Break the feature inventory from `docs/plans/ideation/ideation-index.md` (MoSCoW Summary) into dependency-ordered phases.
62
61
 
@@ -9,7 +9,7 @@ pipeline:
9
9
  stage: architecture
10
10
  predecessors: [create-prd-stack]
11
11
  successors: [create-prd-architecture]
12
- skills: [brand-guidelines, design-direction, prd-templates, technical-writer]
12
+ skills: [brand-guidelines, design-anti-cliche, design-direction, prd-templates, technical-writer]
13
13
  calls-bootstrap: false
14
14
  ---
15
15
 
@@ -11,7 +11,7 @@ pipeline:
11
11
  successors: [create-prd-compile]
12
12
  skills: [logging-best-practices, prd-templates, resolve-ambiguity, security-scanning-security-hardening]
13
13
  calls-bootstrap: true
14
- requires_placeholders: [SECURITY_SKILLS, AUTH_SKILL]
14
+ requires_map_columns: [Security, Auth]
15
15
  ---
16
16
 
17
17
  // turbo-all
@@ -24,18 +24,18 @@ Define the security model with full compliance escalation, and document all inte
24
24
 
25
25
  ---
26
26
 
27
- ## 0. Placeholder guard
27
+ ## 0. Map guard
28
28
 
29
- Before any skill reads, verify that the following placeholder values have been filled by `/bootstrap-agents`. For each placeholder, check whether the literal characters `{{` still appear in the value. If **any** are unfilled, emit a **HARD STOP** and do not proceed to Step 6.
29
+ Read the surface stack map from `.agent/instructions/tech-stack.md`. Check the following cross-cutting categories for filled values:
30
30
 
31
- | Placeholder | Filled by | Recovery | Why this matters |
31
+ | Map Location | Category | Recovery | Why this matters |
32
32
  |---|---|---|---|
33
- | `{{SECURITY_SKILLS}}` | `/create-prd-stack` when security tooling is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed security framework, then run `/bootstrap-agents SECURITY=<confirmed-framework>`. Otherwise run `/create-prd-stack` first. | Security model (Step 6) cannot produce stack-specific threat analysis without the security skill — the model will miss framework-specific attack vectors. |
34
- | `{{AUTH_SKILL}}` | `/create-prd-stack` when auth provider is confirmed | If `docs/plans/*-architecture-design.md` exists, read it and extract the confirmed auth provider, then run `/bootstrap-agents AUTH=<confirmed-provider>`. Otherwise run `/create-prd-stack` first. | Authentication design (Step 6.1) cannot produce correct auth flows without the auth skill — identity provider conventions and token handling will be generic. |
33
+ | Cross-Cutting | Security | Run `/create-prd-stack` to confirm security framework, then bootstrap. | Security model (Step 6) needs stack-specific threat analysis patterns. |
34
+ | Cross-Cutting | Auth | Run `/create-prd-stack` to confirm auth provider, then bootstrap. | Authentication design (Step 6.1) needs provider-specific auth flow patterns. |
35
35
 
36
- For the hard stop message format and recovery instructions, see `.agent/skills/prd-templates/references/placeholder-guard-template.md`.
36
+ > **Timing fallback**: During `/create-prd`, the map may be partially populated. If a cell is empty but the value was just confirmed in the current conversation (from `/create-prd-stack`), proceed using the conversation-confirmed value. Bootstrap will fill the map after `/create-prd` completes.
37
37
 
38
- Only proceed to Step 6 when both placeholders report no literal `{{` characters.
38
+ If cells are empty AND the value hasn't been confirmed in conversation → **HARD STOP**: tell the user to run `/create-prd-stack` first.
39
39
 
40
40
  ---
41
41
 
@@ -43,9 +43,7 @@ Only proceed to Step 6 when both placeholders report no literal `{{` characters.
43
43
 
44
44
  Read .agent/skills/security-scanning-security-hardening/SKILL.md and follow its defense-in-depth methodology.
45
45
 
46
- Using `{{AUTH_SKILL}}`:
47
-
48
- Read each skill listed in `{{SECURITY_SKILLS}}` (comma-separated). For each skill directory name, read `.agent/skills/[skill]/SKILL.md` before proceeding.
46
+ Load the Auth and Security skill(s) from the cross-cutting section per the skill loading protocol (`.agent/skills/prd-templates/references/skill-loading-protocol.md`).
49
47
 
50
48
  1. **Authentication** — How do users prove identity?
51
49
  2. **Authorization** — RBAC vs ABAC? Permission model?
@@ -8,8 +8,8 @@ pipeline:
8
8
  position: 2.1
9
9
  stage: architecture
10
10
  predecessors: [ideate]
11
- successors: [create-prd-architecture]
12
- skills: [database-schema-design, design-direction, tech-stack-catalog]
11
+ successors: [create-prd-design-system]
12
+ skills: [database-schema-design, design-direction, session-continuity, tech-stack-catalog]
13
13
  calls-bootstrap: true
14
14
  ---
15
15
 
@@ -25,10 +25,14 @@ Build the decision constraints map from the ideation output, then walk through e
25
25
 
26
26
  ## 2.5. Constraint-first discovery
27
27
 
28
- Before any tech stack decision, read `docs/plans/ideation/meta/constraints.md` to build the **decision constraints map**:
28
+ Before any tech stack decision, read `docs/plans/ideation/meta/constraints.md` to build the **decision constraints map**.
29
+
30
+ Also read `docs/plans/ideation/ideation-index.md` — specifically the `## Structural Classification` section. This is the **authoritative source** for the project's surface list and project shape (`single-surface`, `multi-surface-shared`, `multi-product-hub`, or `multi-product-peer`). Use this to determine which decision axes apply and whether tech stack decisions need to be made per-surface.
31
+
32
+ Build the constraints map:
29
33
 
30
34
  1. **Hard constraints** — decisions already locked by compliance, team, or budget
31
- 2. **Surface constraints** — the project surfaces constrain framework choices
35
+ 2. **Surface constraints** — the project surfaces (from structural classification) constrain framework choices. For multi-product projects, some axes may need separate decisions per surface (e.g., different frontend frameworks for web vs desktop vs mobile).
32
36
  3. **Soft constraints** — preferences that should bias decisions but aren't hard rules
33
37
 
34
38
  Present the constraints map to the user before starting tech decisions. Constraints narrow the option space — some decisions may be obvious. Skip those with a brief rationale.
@@ -62,6 +66,8 @@ Score Fit from 1–5 based on how well the option matches the constraints map. I
62
66
 
63
67
  Get explicit user decisions — no "TBD" allowed. Use the brainstorming skill's approach — one decision at a time.
64
68
 
69
+ > **Decision recording**: For each confirmed tech stack decision, read `.agent/skills/session-continuity/protocols/06-decision-analysis.md` and follow the **Decision Effect Analysis Protocol**. Tech stack choices have high downstream impact (they constrain frameworks, skills, deployment, and testing). Record each decision to `memory/decisions.md` with upstream/downstream effects.
70
+
65
71
  ### Database: Persistence Map Interview
66
72
 
67
73
  Instead of a single DATABASE decision pass, use the following structured persistence map interview to identify all required stores.
@@ -4,8 +4,8 @@ pipeline:
4
4
  position: 2
5
5
  stage: architecture
6
6
  predecessors: [ideate]
7
- successors: [decompose-architecture]
8
- skills: [api-design-principles, brainstorming, brand-guidelines, clean-code, database-schema-design, design-direction, error-handling-patterns, find-skills, logging-best-practices, performance-budgeting, pipeline-rubrics, prd-templates, resolve-ambiguity, security-scanning-security-hardening, tdd-workflow, tech-stack-catalog, technical-writer]
7
+ successors: [audit-ambiguity, decompose-architecture] # audit-ambiguity recommended before decompose
8
+ skills: [api-design-principles, brainstorming, brand-guidelines, clean-code, database-schema-design, design-anti-cliche, design-direction, error-handling-patterns, find-skills, logging-best-practices, performance-budgeting, pipeline-rubrics, prd-templates, resolve-ambiguity, security-scanning-security-hardening, tdd-workflow, tech-stack-catalog, technical-writer]
9
9
  calls-bootstrap: true # tech stack decisions trigger skill provisioning
10
10
  shards: [create-prd-stack, create-prd-design-system, create-prd-architecture, create-prd-security, create-prd-compile]
11
11
  ---
@@ -35,11 +35,12 @@ Read `docs/plans/ideation/ideation-index.md`.
35
35
 
36
36
  If the file doesn't exist, tell the user to run `/ideate` first. Do not proceed without approved ideation output.
37
37
 
38
- Use the **Document Map** in `ideation-index.md` to locate specific files:
38
+ Use the **Structure Map** in `ideation-index.md` to locate specific files:
39
39
  - Constraints + surface classification → `meta/constraints.md`
40
40
  - Personas → `meta/personas.md`
41
- - Domain details → individual domain files in `domains/`
42
- - Cross-cutting concerns → `cross-cuts/cross-cut-ledger.md`
41
+ - Domain details → fractal tree under `domains/` (or `surfaces/` for multi-product). Each domain is a **folder** containing `*-index.md` (children + Role Matrix), `*-cx.md` (cross-cuts), and child feature `.md` files. Walk the tree to the depth needed.
42
+ - Cross-cutting concerns → `ideation-cx.md` (global cross-surface) + per-domain `*-cx.md` files within the fractal tree
43
+ - Role coverage → Role Matrix in each domain index, Role Lens in each feature file (use for RBAC planning in security shard)
43
44
 
44
45
  Pay special attention to the **Project Surfaces** section in `meta/constraints.md` — it determines which tech stack axes apply.
45
46
 
@@ -50,8 +51,7 @@ Pay special attention to the **Project Surfaces** section in `meta/constraints.m
50
51
  ### Bundled skills
51
52
 
52
53
  These skills are included in the kit — read each SKILL.md:
53
- 1. `.agent/skills/{{API_DESIGN_SKILL}}/SKILL.md` — API conventions
54
- 2. `.agent/skills/api-design-principles/SKILL.md` — API design principles
54
+ 1. `.agent/skills/api-design-principles/SKILL.md` — API design principles
55
55
  3. `.agent/skills/security-scanning-security-hardening/SKILL.md` — Security model
56
56
  4. `.agent/skills/clean-code/SKILL.md` — Architecture principles
57
57
  5. `.agent/skills/brainstorming/SKILL.md` — For collaborative decisions
@@ -100,7 +100,7 @@ Documents development methodology and phasing strategy. Compiles `docs/plans/YYY
100
100
 
101
101
  ---
102
102
 
103
- ## 12. Quality gate
103
+ ## Step E — Quality gate
104
104
 
105
105
  ### Self-check against Architecture rubric
106
106
 
@@ -157,7 +157,7 @@ If gaps are found, loop back to the relevant step and resolve with the user.
157
157
  > independent audit with evidence citations, run `/audit-ambiguity architecture` as a
158
158
  > separate step after this workflow completes.
159
159
 
160
- ## 13. Request review and next steps
160
+ ## Step F — Request review and next steps
161
161
 
162
162
  Use `notify_user` to present to the user:
163
163
  - **Both** the architecture design document and the Engineering Standards document
@@ -39,11 +39,9 @@ This shard is **always** created for every project, regardless of what the archi
39
39
 
40
40
  The `00-infrastructure` skeleton must contain these five items:
41
41
 
42
- 1. CI/CD pipeline setup (using the confirmed CI/CD skill from bootstrap)
43
- Read .agent/skills/{{CI_CD_SKILL}}/SKILL.md and follow its pipeline configuration conventions.
42
+ 1. CI/CD pipeline setup load the CI/CD skill(s) from the cross-cutting section per the skill loading protocol (`.agent/skills/prd-templates/references/skill-loading-protocol.md`)
44
43
  2. Environment configuration (`.env.example`, environment variable documentation)
45
- 3. Deployment pipeline (using the confirmed hosting skill)
46
- Read .agent/skills/{{HOSTING_SKILL}}/SKILL.md and follow its deployment conventions.
44
+ 3. Deployment pipeline — load the Hosting skill(s) from the cross-cutting section per the skill loading protocol
47
45
  4. Project scaffolding (directory structure, base configuration files)
48
46
  5. Database initialization (schema creation, migration tooling setup)
49
47
 
@@ -53,9 +51,9 @@ The `00-infrastructure` skeleton must contain these five items:
53
51
 
54
52
  Read `.agent/skills/prd-templates/references/decomposition-templates.md` for the **Shard Skeleton** template. For each shard, create a skeleton file at `docs/plans/ia/[NN-domain-name].md` using the template.
55
53
 
56
- Read .agent/skills/prd-templates/SKILL.md and follow its Shard Seeding Procedure for Level-1 sub-feature extraction from the relevant domain files in `docs/plans/ideation/domains/` into shard ## Features sections.
54
+ Read `.agent/skills/prd-templates/SKILL.md` and follow its Shard Seeding Procedure for Level-1 sub-feature extraction. The procedure reads `ideation-index.md` to find the correct domain path — the ideation folder uses a fractal structure where each domain is a folder (with `{slug}-index.md`, `{slug}-cx.md`, and child features/sub-domains) rather than a flat file. For multi-product projects, domains may be in `surfaces/{name}/` (surface-exclusive or hub-owned) or `shared/` (peer mode).
57
55
 
58
- Fallback for domains not covered in the ideation domain files is defined in the skill's Shard Seeding Procedure.
56
+ Fallback for domains not covered in the ideation domain folders is defined in the skill's Shard Seeding Procedure.
59
57
 
60
58
  ## 6. Create IA index
61
59