@juancr11/sibu 0.16.0 → 0.17.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 (28) hide show
  1. package/bin/modules/sync-review/action-prompt.js +14 -1
  2. package/bin/modules/sync-review/handler.js +54 -7
  3. package/bin/modules/sync-review/index.js +1 -0
  4. package/bin/modules/sync-review/unsupported-agent-cleanup.js +57 -0
  5. package/bin/modules/template-catalog-rendering/index.js +1 -1
  6. package/bin/modules/template-catalog-rendering/templates.js +65 -1
  7. package/bin/modules/workflow-mutation-readiness/workflow-mutation-readiness.js +9 -0
  8. package/bin/modules/workflow-target-planning/catalog.js +83 -26
  9. package/bin/modules/workflow-target-planning/workflow-targets.js +2 -1
  10. package/package.json +1 -1
  11. package/templates/.claude/agents/sibu-implementation-executor.md +30 -0
  12. package/templates/.claude/agents/sibu-implementation-planner.md +30 -0
  13. package/templates/.codex/agents/sibu-implementation-executor.toml +30 -0
  14. package/templates/.codex/agents/sibu-implementation-planner.toml +30 -0
  15. package/templates/.gemini/agents/sibu-implementation-executor.md +30 -0
  16. package/templates/.gemini/agents/sibu-implementation-planner.md +30 -0
  17. package/templates/AGENTS.md +4 -2
  18. package/templates/manifest.json +94 -17
  19. package/templates/skills/ai-implementation-executor-toolbox/SKILL.md +78 -0
  20. package/templates/skills/ai-implementation-plan-executor/SKILL.md +64 -108
  21. package/templates/skills/ai-implementation-planner/SKILL.md +55 -138
  22. package/templates/skills/ai-implementation-planner-toolbox/SKILL.md +78 -0
  23. package/templates/skills/business-domain-model-writer/SKILL.md +313 -0
  24. package/templates/skills/capabilities-map-writer/SKILL.md +271 -0
  25. package/templates/skills/deep-module-map-writer/SKILL.md +50 -14
  26. package/templates/skills/feature-brief-writer/SKILL.md +72 -32
  27. package/templates/skills/technical-design-writer/SKILL.md +10 -10
  28. package/templates/skills/ux-expert/SKILL.md +62 -17
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  name: deep-module-map-writer
3
- description: Create or update docs/deep-module-map.md as a map of deep, complexity-hiding implementation modules before feature brief work.
3
+ description: Create or update docs/deep-module-map.md as a map of deep, complexity-hiding implementation modules after Product Vision, Business Domain Model, and Capabilities Map work.
4
4
  ---
5
5
 
6
6
  # Deep Module Map Writer
7
7
 
8
8
  ## Purpose
9
9
 
10
- Create or update `docs/deep-module-map.md`, a technical design map of deep implementation modules that downstream technical designs, feature briefs, and implementation plans use to decide where code work belongs.
10
+ Create or update `docs/deep-module-map.md`, a technical design map of deep implementation modules that downstream technical designs and implementation plans use to decide where code work belongs.
11
11
 
12
- A Deep Module is primarily a technical design concept from software architecture: a module with a small, simple interface and a larger, more complex implementation hidden behind it. In this artifact, Deep Modules may align with product responsibilities, but their depth comes from technical abstraction and complexity hiding, not from being a product category, command, folder, service, or team boundary.
12
+ A Deep Module is primarily a technical design concept from software architecture: a module with a small, simple interface and a larger, more complex implementation hidden behind it. In this artifact, Deep Modules are derived from product purpose, reviewed domain understanding, and capability coverage: domain concepts, relationships, lifecycles, business rules, workflows, domain events, boundaries, hard parts, and business/product abilities that need durable implementation boundaries. Their depth comes from technical abstraction and complexity hiding, not from being a product category, command, folder, service, or team boundary.
13
13
 
14
14
  This skill owns the Deep Module Map only. It does not own feature briefs, technical designs, user stories, implementation plans, production code, or the internal architecture used inside each module.
15
15
 
@@ -18,8 +18,10 @@ This skill owns the Deep Module Map only. It does not own feature briefs, techni
18
18
  ### What this skill needs
19
19
 
20
20
  - `docs/product-vision.md`.
21
+ - `docs/business-domain-model.md`.
22
+ - `docs/capabilities-map.md`.
21
23
  - Existing `docs/deep-module-map.md` when revising the map.
22
- - Enough user interview context to identify candidate technical modules, the simple interface each module should expose to the rest of the app, the complexity each module should hide, boundaries, scenarios, relationships, and cross-module rules.
24
+ - Enough user interview context to identify candidate technical modules, the simple interface each module should expose to the rest of the app, the complexity each module should hide, boundaries, scenarios, relationships, and cross-module rules from the Product Vision, Business Domain Model, and Capabilities Map.
23
25
 
24
26
  ### What this skill writes
25
27
 
@@ -28,6 +30,8 @@ This skill owns the Deep Module Map only. It does not own feature briefs, techni
28
30
  ### When this skill stops
29
31
 
30
32
  - `docs/product-vision.md` is missing; tell the user to create it first with `product-vision-writer`.
33
+ - `docs/business-domain-model.md` is missing; tell the user to create it first with `business-domain-model-writer`.
34
+ - `docs/capabilities-map.md` is missing; tell the user to create it first with `capabilities-map-writer`.
31
35
  - The request belongs to another pipeline stage, such as feature brief, technical design, UX design, Scrum planning, implementation planning, or implementation execution.
32
36
  - User answers are still too vague to defend module depth, interfaces, hidden complexity, or boundaries; ask one focused question instead of drafting.
33
37
 
@@ -36,7 +40,9 @@ This skill owns the Deep Module Map only. It does not own feature briefs, techni
36
40
  - Do not create feature briefs, technical designs, UX specs, Epics, User Stories, implementation plans, or production code.
37
41
  - Do not choose a specific internal architecture, service split, database model, framework, or team ownership structure.
38
42
  - Do not skip the interview or the final “I am clear; are you good?” check-in before writing. Once the user confirms there is nothing else to cover, write without requiring a recap, artifact approval, or separate summary confirmation.
39
- - Do not invent Deep Modules without grounding them in the product vision, current system behavior, and user interview.
43
+ - Do not invent Deep Modules without grounding them in the product vision, Business Domain Model, Capabilities Map, and user interview.
44
+ - Do not inspect implementation code by default when creating or substantially revising the map.
45
+ - Do not use existing code, folders, commands, screens, services, data objects, or technical layers as the source of truth for module boundaries.
40
46
  - Do not treat a command, screen, helper, folder, data object, or technical layer as a Deep Module merely because it exists.
41
47
  - Do not leave material module-boundary questions unresolved in the final map; keep interviewing until the user answers, confirms an assumption, or explicitly excludes the boundary.
42
48
 
@@ -96,13 +102,23 @@ Before doing any Deep Module Map work, read:
96
102
 
97
103
  ```txt
98
104
  docs/product-vision.md
105
+ docs/business-domain-model.md
106
+ docs/capabilities-map.md
99
107
  ```
100
108
 
101
109
  Use the product vision as the source of truth for purpose, audience, positioning, principles, boundaries, trust expectations, and success signals.
102
110
 
111
+ Use the Business Domain Model as the source of truth for business language, domain concepts, relationships, lifecycles, business rules, workflows, domain events, boundaries, and hard parts.
112
+
113
+ Use the Capabilities Map as the source of truth for business/product abilities by subdomain. Capabilities inform which abilities need deep, complexity-hiding implementation boundaries; they are not modules, commands, services, files, APIs, database tables, or classes.
114
+
115
+ Read existing `docs/deep-module-map.md` only when revising the map. An existing map can provide continuity and change context, but it never replaces the required Product Vision and Business Domain Model.
116
+
117
+ Do not inspect implementation code by default. Existing code, folders, commands, screens, services, data objects, and technical layers are not the default source of truth for module boundaries. If the user explicitly asks for a code-alignment check, inspect code only after domain-driven module boundaries are drafted, and use that inspection only to identify alignment gaps, migration implications, and places where current code may not match the domain-driven map. Code alignment must not replace or override the Product Vision and Business Domain Model source requirements.
118
+
103
119
  ## Hard start rule
104
120
 
105
- Do not create or update a Deep Module Map if `docs/product-vision.md` is missing.
121
+ Do not create or update a Deep Module Map if `docs/product-vision.md`, `docs/business-domain-model.md`, or `docs/capabilities-map.md` is missing.
106
122
 
107
123
  If the product vision is missing:
108
124
 
@@ -111,6 +127,20 @@ If the product vision is missing:
111
127
  3. Instruct the user to create the product vision first with `product-vision-writer`.
112
128
  4. Do not draft, infer, or save a module map until the product vision exists.
113
129
 
130
+ If the Business Domain Model is missing:
131
+
132
+ 1. Stop.
133
+ 2. Tell the user that a Deep Module Map requires `docs/business-domain-model.md`.
134
+ 3. Instruct the user to create the Business Domain Model first with `business-domain-model-writer`.
135
+ 4. Do not draft, infer, or save a module map until the Business Domain Model exists.
136
+
137
+ If the Capabilities Map is missing:
138
+
139
+ 1. Stop.
140
+ 2. Tell the user that a Deep Module Map requires `docs/capabilities-map.md`.
141
+ 3. Instruct the user to create the Capabilities Map first with `capabilities-map-writer`.
142
+ 4. Do not draft, infer, or save a module map until the Capabilities Map exists.
143
+
114
144
  ## Output location
115
145
 
116
146
  Write the map to:
@@ -125,17 +155,17 @@ This file is user-owned product and implementation-boundary content created or u
125
155
 
126
156
  Be deliberately interrogative before writing.
127
157
 
128
- This interview is mandatory and non-skippable. Even when the repository has substantial code, existing docs, an existing map, or extensive initial context, ask at least one explicit user-facing discovery question before drafting or writing the Deep Module Map. Treat code, repository artifacts, prior conversation, and initial context as useful but provisional: they can shape better questions, but they must not replace the interview or become the full source of truth for module boundaries, interfaces, hidden complexity, or ownership. Keep asking focused follow-up questions until the module decisions are clear enough to defend. Before drafting, always perform one final check-in in the spirit of: “I am clear on my end. Are you good, or is there anything else you want to cover before I proceed?” If the user adds context, incorporate or clarify it before writing.
158
+ This interview is mandatory and non-skippable. Even when the repository has substantial code, existing docs, an existing map, or extensive initial context, ask at least one explicit user-facing discovery question before drafting or writing the Deep Module Map. Treat the Product Vision, Business Domain Model, and Capabilities Map as the primary source context; prior conversation and initial context can shape better questions, but they must not replace the interview. Implementation code is not inspected by default and must not become the source of truth for module boundaries, interfaces, hidden complexity, or ownership. Keep asking focused follow-up questions until the module decisions are clear enough to defend. Before drafting, always perform one final check-in in the spirit of: “I am clear on my end. Are you good, or is there anything else you want to cover before I proceed?” If the user adds context, incorporate or clarify it before writing.
129
159
 
130
160
  - Ask one focused question at a time.
131
161
  - Ask as many one-at-a-time questions as needed to understand the app well enough to defend the map; do not optimize for a short interview.
132
162
  - Walk down each module-boundary decision branch one by one, resolving dependencies between candidate modules before drafting.
133
163
  - When useful, provide your recommended answer or a concise default assumption with the question so the user can confirm, correct, or reject it quickly.
134
- - If a question can be answered by reading repository artifacts, inspect those artifacts instead of asking.
164
+ - If a question can be answered by reading the Product Vision, Business Domain Model, Capabilities Map, or existing Deep Module Map during revision, inspect those artifacts instead of asking. Do not inspect implementation code unless the user explicitly requested a later code-alignment check after domain-driven boundaries are drafted.
135
165
  - Do not rush to draft after a single answer unless the answer already makes interfaces, hidden complexity, boundaries, scenarios, and relationships clear.
136
166
  - Treat "enough context" as: candidate modules, suggested slugs, simple external interfaces, hidden implementation complexity, responsibilities, exclusions, scenarios, relationships, and cross-module rules are clear enough to defend.
137
167
  - Do not ask the user to name the Deep Modules up front. Most users do not know what the modules should be yet.
138
- - Extract modules by asking about caller intent, complexity that should be hidden, product jobs, decisions, promises, lifecycle moments, confusing boundaries, and where code should stay coherent over time.
168
+ - Extract modules by asking about caller intent, complexity that should be hidden, product jobs, domain concepts, relationships, lifecycles, business rules, workflows, domain events, boundaries, hard parts, decisions, promises, lifecycle moments, confusing boundaries, and where code should stay coherent over time.
139
169
  - Teach briefly as needed. If the user seems unsure, explain that a Deep Module hides a lot of implementation behind a simple interface, then ask the next question.
140
170
  - Do not create modules from vague labels without confirming what interface they expose and what complexity they hide.
141
171
  - If the conversation stalls, propose one concise assumption for the next unresolved point and ask the user to confirm or correct it.
@@ -163,6 +193,8 @@ Do not ask the user to answer a large questionnaire all at once. Keep the interv
163
193
  Ask every question needed to remove material ambiguity, but only one at a time. Clarify:
164
194
 
165
195
  - what product or system capabilities the map must support
196
+ - which Business Domain Model concepts, relationships, lifecycles, business rules, workflows, domain events, boundaries, or hard parts should drive module discovery
197
+ - which Capabilities Map business/product abilities need deep implementation boundaries
166
198
  - what the rest of the app should be able to ask each area to do
167
199
  - what messy details callers should not need to know
168
200
  - which decisions or policies should change together
@@ -185,6 +217,7 @@ Prefer questions like:
185
217
 
186
218
  - "What should the rest of the app be able to ask this area to do in one simple phrase?"
187
219
  - "What messy details should callers not need to know?"
220
+ - "Which domain concept, rule, lifecycle, workflow, event, boundary, or hard part makes this candidate module important?"
188
221
  - "If this were a good abstraction, what would its small public interface look like conceptually?"
189
222
  - "What steps, checks, edge cases, or policies would be hidden behind that interface?"
190
223
  - "Where are callers currently forced to know too much?"
@@ -232,7 +265,7 @@ Deep Modules should be:
232
265
 
233
266
  - complexity-hiding abstractions with simple external interfaces
234
267
  - deep enough that callers do not need to understand internal orchestration, edge cases, or policies
235
- - technical design boundaries first, with product alignment used only where it helps explain why code changes together
268
+ - technical design boundaries first, derived from product purpose and reviewed domain understanding rather than accidental implementation structure
236
269
  - durable enough to absorb related technical and product changes over time
237
270
  - named in language useful across technical design, implementation planning, feature briefs, and code organization
238
271
  - flexible internally so different projects can use layered, DDD, Hexagonal, command-oriented, MVC, functional, or other architectures inside them
@@ -242,10 +275,13 @@ Avoid shallow modules based on one feature, screen, command, workflow step, data
242
275
  ## Workflow
243
276
 
244
277
  1. Read `docs/product-vision.md`.
245
- 2. Read existing `docs/deep-module-map.md` if it exists.
246
- 3. Ask one focused question at a time until the module direction is clear.
247
- 4. Keep asking focused follow-up questions until the simple interface and hidden complexity of each candidate module are defensible.
248
- 5. Write or update `docs/deep-module-map.md` once enough context is available.
278
+ 2. Read `docs/business-domain-model.md`.
279
+ 3. Read existing `docs/deep-module-map.md` only if revising the map.
280
+ 4. Draft domain-driven module boundaries from product purpose plus domain concepts, relationships, lifecycles, business rules, workflows, domain events, boundaries, and hard parts.
281
+ 5. Ask one focused question at a time until the module direction is clear.
282
+ 6. Keep asking focused follow-up questions until the simple interface and hidden complexity of each candidate module are defensible.
283
+ 7. If the user explicitly requested code alignment, inspect implementation code only after domain-driven boundaries are drafted and only to identify alignment gaps or migration implications.
284
+ 8. Write or update `docs/deep-module-map.md` once enough context is available.
249
285
 
250
286
  ## Recommended map structure
251
287
 
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: feature-brief-writer
3
- description: Use this skill to define business-level feature briefs that stay loyal to docs/product-vision.md before UX, technical design, or implementation work.
3
+ description: Use this skill to define business-level feature briefs that stay loyal to docs/product-vision.md, docs/business-domain-model.md, and docs/capabilities-map.md before UX, technical design, or implementation work.
4
4
  ---
5
5
 
6
6
  # Feature Brief Writer
7
7
 
8
8
  ## Purpose
9
9
 
10
- Create concise feature briefs that explain what a feature is, why it matters, who it serves, and how it follows `docs/product-vision.md`: purpose, audience, boundaries, and success signals.
10
+ Create concise feature briefs that explain what a feature is, why it matters, who it serves, and how it follows `docs/product-vision.md`, `docs/business-domain-model.md`, and `docs/capabilities-map.md`: purpose, audience, business language, domain concepts, rules, workflows, boundaries, capability coverage, and success signals.
11
11
 
12
12
  This skill owns the product/business shape of a feature. It does not own UI interaction design, technical architecture, implementation plans, data models, APIs, or task breakdowns.
13
13
 
@@ -16,8 +16,9 @@ This skill owns the product/business shape of a feature. It does not own UI inte
16
16
  ### What this skill needs
17
17
 
18
18
  - `docs/product-vision.md`.
19
- - `docs/deep-module-map.md`.
20
- - Enough user-provided feature intent to define the feature problem, target user/scenario, business goal, MVP boundary, out-of-scope boundary, success signals, constraints, and Deep Module fit.
19
+ - `docs/business-domain-model.md`.
20
+ - `docs/capabilities-map.md`.
21
+ - Enough user-provided feature intent to define the feature problem, target user/scenario, business goal, MVP boundary, out-of-scope boundary, success signals, constraints, Product Vision fit, Business Domain Model fit, and Capability Coverage.
21
22
 
22
23
  ### What this skill writes
23
24
 
@@ -27,18 +28,21 @@ This skill owns the product/business shape of a feature. It does not own UI inte
27
28
  ### When this skill stops
28
29
 
29
30
  - `docs/product-vision.md` is missing; tell the user to create it first with `product-vision-writer`.
30
- - `docs/deep-module-map.md` is missing; tell the user to create it first with `deep-module-map-writer`.
31
- - The feature appears to require a new or changed Deep Module; direct the user back to `deep-module-map-writer`.
31
+ - `docs/business-domain-model.md` is missing; tell the user to create it first with `business-domain-model-writer`.
32
+ - `docs/capabilities-map.md` is missing; tell the user to create it first with `capabilities-map-writer`.
33
+ - The feature appears to stretch or change the Product Vision; hard-stop with a ready prompt for `product-vision-writer`.
34
+ - The feature introduces missing or changed domain concepts, rules, workflows, lifecycles, events, boundaries, or core/supporting subdomains; hard-stop with a ready prompt for `business-domain-model-writer`.
35
+ - The feature fits an existing subdomain but needs missing capability coverage; hard-stop with a ready prompt for `capabilities-map-writer`.
32
36
  - The request belongs to another pipeline stage, such as technical design, UX design, Scrum planning, implementation planning, or implementation execution.
33
37
  - Current-stage feature intent is unclear; ask one focused question at a time until enough information is available.
34
38
 
35
39
  ### What this skill must not do
36
40
 
37
- - Do not create or update Deep Module Maps, technical designs, UX specs, Epics, User Stories, implementation plans, or production code.
38
- - Do not invent Deep Modules or use modules that are absent from `docs/deep-module-map.md`.
41
+ - Do not create or update Product Vision, Business Domain Model, Capabilities Map, Deep Module Maps, technical designs, UX specs, Epics, User Stories, implementation plans, or production code.
42
+ - Do not invent missing product direction, domain model coverage, subdomains, or capabilities in the final brief.
39
43
  - Do not skip the interview or the final “I am clear; are you good?” check-in before writing. Once the user confirms there is nothing else to cover, write without requiring a recap, artifact approval, or separate summary confirmation.
40
44
  - Do not duplicate or rewrite the product vision; apply only the relevant implications to the feature.
41
- - Do not leave material product, scope, success, constraint, or Deep Module fit questions unresolved in the final brief; keep interviewing until the user answers, confirms an assumption, or explicitly excludes the topic.
45
+ - Do not leave material product, scope, success, constraint, domain fit, or capability coverage questions unresolved in the final brief; keep interviewing until the user answers, confirms an assumption, or explicitly excludes the topic.
42
46
 
43
47
  ## Required source of truth
44
48
 
@@ -46,18 +50,21 @@ Before doing any feature-brief work, read:
46
50
 
47
51
  ```txt
48
52
  docs/product-vision.md
49
- docs/deep-module-map.md
53
+ docs/business-domain-model.md
54
+ docs/capabilities-map.md
50
55
  ```
51
56
 
52
57
  Use the product vision as the source of truth for the product's purpose, audience, positioning, principles, voice, boundaries, trust expectations, and success signals.
53
58
 
54
- Use the Deep Module Map as the source of truth for where feature work belongs. Deep Modules answer “where does this work belong?” Do not invent Deep Modules in a feature brief.
59
+ Use the Business Domain Model as the source of truth for business language, domain concepts, relationships, rules, states, workflows, events, and boundaries that shape business-level feature scope.
60
+
61
+ Use the Capabilities Map as the source of truth for business/product capability coverage by subdomain. Capabilities answer “what existing business/product ability supports this feature?” Do not invent capabilities in a feature brief.
55
62
 
56
63
  Do not duplicate or rewrite the product vision inside the feature brief. Apply it to the specific feature being defined.
57
64
 
58
65
  ## Hard start rule
59
66
 
60
- Do not start a feature brief if `docs/product-vision.md` or `docs/deep-module-map.md` is missing.
67
+ Do not start a feature brief if `docs/product-vision.md`, `docs/business-domain-model.md`, or `docs/capabilities-map.md` is missing.
61
68
 
62
69
  If the product vision is missing:
63
70
 
@@ -66,11 +73,18 @@ If the product vision is missing:
66
73
  3. Instruct the user to create the product vision first with the `product-vision-writer` skill.
67
74
  4. Do not draft, infer, or save a feature brief until the product vision exists.
68
75
 
69
- If the Deep Module Map is missing:
76
+ If the Business Domain Model is missing:
70
77
 
71
78
  1. Stop.
72
- 2. Tell the user that a feature brief requires `docs/deep-module-map.md`.
73
- 3. Instruct the user to create the map first with the `deep-module-map-writer` skill.
79
+ 2. Tell the user that a feature brief requires `docs/business-domain-model.md`.
80
+ 3. Instruct the user to create the domain model first with the `business-domain-model-writer` skill.
81
+ 4. Do not draft, infer, or save a feature brief until the domain model exists.
82
+
83
+ If the Capabilities Map is missing:
84
+
85
+ 1. Stop.
86
+ 2. Tell the user that a feature brief requires `docs/capabilities-map.md`.
87
+ 3. Instruct the user to create the map first with the `capabilities-map-writer` skill.
74
88
  4. Do not draft, infer, or save a feature brief until the map exists.
75
89
 
76
90
  ## Use this skill for
@@ -101,8 +115,8 @@ If the user asks for a feature brief from an idea in `docs/feature-ideas.md`, re
101
115
 
102
116
  - Do not skip the normal interview flow because the idea exists in a file.
103
117
  - Use the idea as a seed for the first discovery question, not as complete feature intent.
104
- - Keep asking one focused question at a time until the usual required context is resolved: problem, target user/scenario, business goal, MVP boundary, out-of-scope boundary, success signals, constraints, and Deep Module fit.
105
- - Preserve the hard-start requirements for `docs/product-vision.md` and `docs/deep-module-map.md`.
118
+ - Keep asking one focused question at a time until the usual required context is resolved: problem, target user/scenario, business goal, MVP boundary, out-of-scope boundary, success signals, constraints, Business Domain Model fit, and Capability Coverage.
119
+ - Preserve the hard-start requirements for `docs/product-vision.md`, `docs/business-domain-model.md`, and `docs/capabilities-map.md`.
106
120
  - After the local `docs/features/<feature-slug>/feature_brief.md` file is successfully written, remove the promoted idea from `docs/feature-ideas.md` while preserving the rest of the file.
107
121
  - Do not delete the idea before the feature brief file exists, and do not remove unrelated ideas or headings.
108
122
 
@@ -114,18 +128,18 @@ This interview is mandatory and non-skippable. Even when the user provides exten
114
128
 
115
129
  - Ask one focused question at a time.
116
130
  - Keep asking until you have complete practical understanding and explicit user alignment; do not optimize for a short interview.
117
- - Walk down each feature decision branch one by one, resolving dependencies between product, scope, success, constraint, and module-fit decisions before drafting.
131
+ - Walk down each feature decision branch one by one, resolving dependencies between product, scope, success, constraint, domain-fit, and capability-coverage decisions before drafting.
118
132
  - When useful, provide your recommended answer or a concise default assumption with the question so the user can confirm, correct, or reject it quickly.
119
133
  - If a question can be answered by reading repository artifacts, inspect those artifacts instead of asking.
120
134
  - Prefer follow-up questions over filling gaps with plausible invention.
121
135
  - Treat "100% understanding" as: feature intent, target user, scenario, user problem, business goal, MVP boundary, out-of-scope boundary, success signals, and known constraints are all clear enough to defend in the brief.
122
- - Treat "enough context" as: feature intent, target user/scenario, desired outcome, MVP boundary, out-of-scope boundary, success signals, constraints, and Deep Module fit are clear enough to defend in the brief.
136
+ - Treat "enough context" as: feature intent, target user/scenario, desired outcome, MVP boundary, out-of-scope boundary, success signals, constraints, Business Domain Model fit, and Capability Coverage are clear enough to defend in the brief.
123
137
  - If the user gives a partial answer, acknowledge the useful part and ask the next most important unresolved question.
124
138
  - Do not ask a large questionnaire all at once.
125
139
 
126
140
  ## Workflow
127
141
 
128
- ### 1. Read the product vision and Deep Module Map
142
+ ### 1. Read the product vision, Business Domain Model, and Capabilities Map
129
143
 
130
144
  Read `docs/product-vision.md` first and identify:
131
145
 
@@ -139,19 +153,41 @@ Read `docs/product-vision.md` first and identify:
139
153
 
140
154
  Use these as constraints for the feature brief.
141
155
 
142
- Then read `docs/deep-module-map.md` and identify which existing Deep Modules may own the requested feature. A feature brief must name one or more existing Deep Modules.
156
+ Then read `docs/business-domain-model.md` and identify relevant business language, domain concepts, relationships, rules, states, workflows, events, and boundaries that should shape feature scope and wording.
157
+
158
+ Then read `docs/capabilities-map.md` and identify which existing subdomain capabilities support the requested feature. A feature brief must explain the feature's Capability Coverage using existing Business Domain Model subdomains and existing capabilities.
159
+
160
+ Before drafting, check for upstream gaps. Do not silently invent missing upstream foundations in the final brief.
161
+
162
+ If the feature appears to stretch or change the Product Vision's direction, target users, boundaries, principles, trust expectations, or success signals:
163
+
164
+ 1. Stop before drafting.
165
+ 2. Tell the user the feature needs Product Vision clarification first.
166
+ 3. Provide this prompt, adapted to the user's feature:
167
+
168
+ ```txt
169
+ Use product-vision-writer to revise docs/product-vision.md for this feature request: <feature summary>. Clarify whether the feature fits or changes the product direction, target users, boundaries, principles, trust expectations, and success signals. Include this context: <known user/scenario/problem/outcome/scope notes>. Do not write the feature brief until I confirm the Product Vision update.
170
+ ```
143
171
 
144
- If no existing Deep Module fits:
172
+ If the feature introduces missing or changed domain concepts, rules, workflows, lifecycles, events, boundaries, or core/supporting subdomains:
145
173
 
146
174
  1. Stop before drafting.
147
- 2. Tell the user the feature appears to require a Deep Module Map update.
148
- 3. Provide this suggested prompt, adapted to the user's feature:
175
+ 2. Tell the user the Business Domain Model needs coverage first.
176
+ 3. Provide this prompt, adapted to the user's feature:
149
177
 
150
178
  ```txt
151
- Use deep-module-map-writer to update docs/deep-module-map.md for this feature: <feature summary>. Decide whether it belongs in an existing Deep Module or requires a new/changed module, then update the map only after confirming the responsibility boundary with me.
179
+ Use business-domain-model-writer to revise docs/business-domain-model.md for this feature request: <feature summary>. Check whether it introduces or changes domain concepts, rules, workflows, lifecycles, events, boundaries, or core/supporting subdomains. Include this context: <known user/scenario/problem/outcome/scope notes>. Do not write the feature brief until I confirm the Business Domain Model update.
152
180
  ```
153
181
 
154
- 4. Do not draft, infer, or save a feature brief until the map is updated.
182
+ If the feature fits an existing Business Domain Model subdomain but depends on a missing capability:
183
+
184
+ 1. Stop before drafting.
185
+ 2. Tell the user the Capabilities Map needs coverage first.
186
+ 3. Provide this prompt, adapted to the user's feature:
187
+
188
+ ```txt
189
+ Use capabilities-map-writer to revise docs/capabilities-map.md for this feature request: <feature summary>. Map it to the existing subdomain <subdomain name> and add or adjust only the business/product capability coverage needed to support it. Include this context: <known user/scenario/problem/outcome/scope notes>. Do not write the feature brief until I confirm the Capabilities Map update.
190
+ ```
155
191
 
156
192
  ### 2. Clarify feature intent before drafting
157
193
 
@@ -181,10 +217,11 @@ Ask every question needed to remove material ambiguity, but only one at a time.
181
217
  - when and why the target user would use it
182
218
  - what outcome should improve
183
219
  - what must be included in the first version
220
+ - which Business Domain Model concepts, rules, states, workflows, or boundaries materially shape the scope
184
221
  - what should stay out of scope
185
222
  - known constraints and risks
186
223
 
187
- Draft only once feature intent, target user/scenario, desired outcome, MVP boundary, out-of-scope boundary, success signals, constraints, and Deep Module fit are clear enough to avoid invention. Do not draft a brief with an `Open Questions` section.
224
+ Draft only once feature intent, target user/scenario, desired outcome, MVP boundary, out-of-scope boundary, success signals, constraints, Business Domain Model fit, and Capability Coverage are clear enough to avoid invention. Do not draft a brief with an `Open Questions` section.
188
225
 
189
226
  If the conversation stalls, offer a concise default assumption for the next unresolved point and ask the user to confirm or correct it before proceeding.
190
227
 
@@ -203,8 +240,11 @@ Recommended structure:
203
240
  ## Product Vision Fit
204
241
  <How this feature supports the product vision, principles, audience, or positioning.>
205
242
 
206
- ## Deep Module
207
- <One or more existing Deep Modules from docs/deep-module-map.md that own this feature, with a brief fit rationale.>
243
+ ## Business Domain Model Fit
244
+ <Relevant domain language, concepts, rules, states, workflows, or boundaries from docs/business-domain-model.md that shape this feature.>
245
+
246
+ ## Capability Coverage
247
+ <Existing subdomain capabilities from docs/capabilities-map.md that support this feature, with a business/product fit rationale.>
208
248
 
209
249
  ## User / Customer Problem
210
250
  <The user need, pain, desire, or opportunity this feature addresses.>
@@ -265,7 +305,7 @@ If the file already exists, read it first. Treat the request as a revision when
265
305
  Aim for writing that is:
266
306
 
267
307
  - loyal to the required product vision
268
- - explicit about which existing Deep Modules own the feature
308
+ - explicit about which existing subdomain capabilities support the feature
269
309
  - specific to the user's feature
270
310
  - grounded in the product vision
271
311
  - concise
@@ -279,7 +319,7 @@ Avoid:
279
319
  - vague benefits without user or business grounding
280
320
  - feature lists without rationale
281
321
  - drafting from vague feature labels without discovery
282
- - inventing new Deep Modules instead of stopping for a map update
322
+ - inventing new capabilities or subdomains instead of stopping for the right upstream update
283
323
  - inventing certainty where the product vision or user input is unresolved
284
324
  - including an Open Questions section instead of resolving the questions during the interview
285
325
 
@@ -288,7 +328,7 @@ Avoid:
288
328
  When shaping a feature brief, prefer:
289
329
 
290
330
  1. alignment with `docs/product-vision.md`
291
- 2. fit with existing Deep Modules from `docs/deep-module-map.md`
331
+ 2. fit with existing capabilities from `docs/capabilities-map.md`
292
332
  3. clear user value
293
333
  4. clear business or product outcome
294
334
  5. simple MVP scope
@@ -13,7 +13,7 @@ Write the smallest useful technical design doc for an approved feature: enough f
13
13
 
14
14
  - A Markdown feature brief at `docs/features/<feature-slug>/feature_brief.md`.
15
15
  - `docs/deep-module-map.md`.
16
- - The feature brief's `## Deep Module` section naming one or more existing Deep Modules.
16
+ - Enough feature and module context to map the feature brief to one or more existing Deep Modules during technical design.
17
17
  - Relevant existing repo files and flows needed to make implementation direction concrete.
18
18
  - `docs/features/<feature-slug>/ux.md` only when the feature has UI impact.
19
19
  - Relevant implementation guidance skills such as `clean-code`, selected architecture skills, language skills, or framework skills.
@@ -26,14 +26,14 @@ Write the smallest useful technical design doc for an approved feature: enough f
26
26
 
27
27
  - The feature brief is missing or the user only has a vague feature idea; direct the user to `feature-brief-writer`.
28
28
  - `docs/deep-module-map.md` is missing; direct the user to `deep-module-map-writer`.
29
- - The feature brief does not name existing Deep Modules, or the selected modules are missing, ambiguous, or inconsistent with the map.
29
+ - The feature brief and Deep Module Map cannot be reconciled to existing Deep Modules after focused clarification, or the selected modules are missing, ambiguous, or inconsistent with the map.
30
30
  - The feature has UI impact and `docs/features/<feature-slug>/ux.md` is missing; direct the user to `ux-expert`.
31
31
  - The request belongs to another pipeline stage, such as feature definition, UX design, Scrum planning, implementation planning, or implementation execution.
32
32
 
33
33
  ### What this skill must not do
34
34
 
35
35
  - Do not create or update product visions, Deep Module Maps, feature briefs, UX specs, Epics, User Stories, implementation plans, or production code.
36
- - Do not invent new Deep Modules or move work into unselected modules.
36
+ - Do not invent new Deep Modules or move work into modules that cannot be justified from the Feature Brief and Deep Module Map.
37
37
  - Do not redesign binding UX mockups.
38
38
  - Do not duplicate architecture, language, framework, or clean-code skill guidance.
39
39
  - Do not skip the interview or the final “I am clear; are you good?” check-in before writing. Once the user confirms there is nothing else to cover, write without requiring a recap, artifact approval, or separate summary confirmation.
@@ -44,7 +44,7 @@ Before writing, read:
44
44
 
45
45
  1. `docs/product-vision.md`
46
46
  2. `docs/deep-module-map.md`
47
- 3. the feature brief, including its `## Deep Module` section
47
+ 3. the feature brief
48
48
  4. `docs/features/<feature-slug>/ux.md` when the feature has UI impact
49
49
  5. `clean-code`
50
50
  6. any selected architecture, language, or framework skills that apply
@@ -58,7 +58,7 @@ Require a Markdown feature brief. If the user only has a vague idea, route to `f
58
58
 
59
59
  Require `docs/deep-module-map.md`. If it is missing, stop and ask the user to create it with `deep-module-map-writer` first. Do not infer or invent Deep Modules.
60
60
 
61
- Require the feature brief to name one or more existing Deep Modules. Preserve those selected modules in the technical design; if they appear missing, ambiguous, or inconsistent with the map, stop and ask the user to update the feature brief or Deep Module Map first.
61
+ Treat the Feature Brief and Deep Module Map as sibling upstream inputs. Older feature briefs may name selected Deep Modules directly; newer feature briefs may omit that section. If the brief names modules, preserve them when they match the map. If it does not, use the approved feature scope plus `docs/deep-module-map.md` to identify the existing modules during technical clarification. If the feature cannot be mapped to existing modules, or the selected modules are missing, ambiguous, or inconsistent with the map, stop and ask the user to update the Feature Brief or Deep Module Map first.
62
62
 
63
63
  If the feature has UI impact, require `docs/features/<feature-slug>/ux.md`. If it is missing, stop and ask the user to create the UX spec with `ux-expert` first.
64
64
 
@@ -73,7 +73,7 @@ This interview is mandatory and non-skippable. Even when the approved artifacts,
73
73
  - If a question can be answered by reading repository artifacts, inspect those artifacts instead of asking.
74
74
  - Prefer follow-up questions over filling gaps with plausible invention.
75
75
  - When useful, provide your recommended answer or a concise default assumption with the question so the user can confirm, correct, or reject it quickly.
76
- - Treat "enough context" as: selected Deep Modules, affected code paths, entrypoints, implementation boundaries, important state/data changes, validation approach, and meaningful risks are clear enough to defend in the design.
76
+ - Treat "enough context" as: existing Deep Modules selected or mapped during technical design, affected code paths, entrypoints, implementation boundaries, important state/data changes, validation approach, and meaningful risks are clear enough to defend in the design.
77
77
  - If the user gives a partial answer, acknowledge the useful part and ask the next most important unresolved question.
78
78
  - Do not ask a large questionnaire all at once.
79
79
  - Do not draft a technical design with an `Open Questions` section; resolve material questions during the interview, or record only known risks/tradeoffs after decisions are made.
@@ -86,7 +86,7 @@ For UI-related features, `ux.md` is source context, not inspiration. If `ux.md`
86
86
 
87
87
  Translate product intent into implementation direction.
88
88
 
89
- Deep Modules answer “where does this implementation work belong?” Architecture guidance answers “how is that module structured internally?” Translate the feature brief's selected Deep Modules into implementation boundaries appropriate for the selected architecture. Capture those boundaries in the technical design so downstream Scrum planning, implementation planning, and execution can trust the technical design instead of rereading the Deep Module Map by default.
89
+ Deep Modules answer “where does this implementation work belong?” Architecture guidance answers “how is that module structured internally?” Translate the existing Deep Modules selected or mapped from the Feature Brief plus Deep Module Map into implementation boundaries appropriate for the selected architecture. Capture those boundaries in the technical design so downstream Scrum planning, implementation planning, and execution can trust the technical design instead of rereading the Deep Module Map by default.
90
90
 
91
91
  When a feature crosses a framework or delivery boundary, include the allowed orchestration/application entrypoint and the forbidden lower-level dependencies. Keep this framework-agnostic: name roles like framework adapter, application/orchestration boundary, domain, port, and infrastructure, then add concrete project paths only where useful.
92
92
 
@@ -97,7 +97,7 @@ Prefer:
97
97
  - current codebase patterns over speculative redesigns
98
98
  - asking enough focused follow-up questions to resolve material ambiguity before drafting
99
99
  - delegation to the right skills instead of duplicating their guidance
100
- - preserving the feature brief's selected Deep Modules
100
+ - preserving named Deep Modules when present and otherwise mapping the Feature Brief to existing Deep Modules during technical design
101
101
 
102
102
  Avoid:
103
103
 
@@ -105,7 +105,7 @@ Avoid:
105
105
  - product scope expansion
106
106
  - user stories, tickets, or delivery plans
107
107
  - invented CLI/database/API concepts that the feature brief did not ask for
108
- - inventing new Deep Modules or moving work into unselected modules
108
+ - inventing new Deep Modules or moving work into modules that cannot be justified from the Feature Brief and Deep Module Map
109
109
  - large template sections that say “none” without adding value
110
110
 
111
111
  ## Delegation rule
@@ -160,7 +160,7 @@ Use this structure as a starting point. Delete sections that do not add value.
160
160
  ## Proposed Design
161
161
  <Concrete implementation decisions. Include command flows, file/module impact, state changes, and integration boundaries when relevant.>
162
162
 
163
- <Explain how the selected Deep Modules translate into architecture, module, command, file, or implementation boundaries when that affects downstream work.>
163
+ <Explain how the existing Deep Modules selected or mapped during technical design translate into architecture, module, command, file, or implementation boundaries when that affects downstream work.>
164
164
 
165
165
  <For framework/delivery entrypoints, state the application/orchestration API they may call and the lower-level layers, modules, or paths they must not call directly.>
166
166