@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.
- package/bin/modules/sync-review/action-prompt.js +14 -1
- package/bin/modules/sync-review/handler.js +54 -7
- package/bin/modules/sync-review/index.js +1 -0
- package/bin/modules/sync-review/unsupported-agent-cleanup.js +57 -0
- package/bin/modules/template-catalog-rendering/index.js +1 -1
- package/bin/modules/template-catalog-rendering/templates.js +65 -1
- package/bin/modules/workflow-mutation-readiness/workflow-mutation-readiness.js +9 -0
- package/bin/modules/workflow-target-planning/catalog.js +83 -26
- package/bin/modules/workflow-target-planning/workflow-targets.js +2 -1
- package/package.json +1 -1
- package/templates/.claude/agents/sibu-implementation-executor.md +30 -0
- package/templates/.claude/agents/sibu-implementation-planner.md +30 -0
- package/templates/.codex/agents/sibu-implementation-executor.toml +30 -0
- package/templates/.codex/agents/sibu-implementation-planner.toml +30 -0
- package/templates/.gemini/agents/sibu-implementation-executor.md +30 -0
- package/templates/.gemini/agents/sibu-implementation-planner.md +30 -0
- package/templates/AGENTS.md +4 -2
- package/templates/manifest.json +94 -17
- package/templates/skills/ai-implementation-executor-toolbox/SKILL.md +78 -0
- package/templates/skills/ai-implementation-plan-executor/SKILL.md +64 -108
- package/templates/skills/ai-implementation-planner/SKILL.md +55 -138
- package/templates/skills/ai-implementation-planner-toolbox/SKILL.md +78 -0
- package/templates/skills/business-domain-model-writer/SKILL.md +313 -0
- package/templates/skills/capabilities-map-writer/SKILL.md +271 -0
- package/templates/skills/deep-module-map-writer/SKILL.md +50 -14
- package/templates/skills/feature-brief-writer/SKILL.md +72 -32
- package/templates/skills/technical-design-writer/SKILL.md +10 -10
- 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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
246
|
-
3.
|
|
247
|
-
4.
|
|
248
|
-
5.
|
|
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/
|
|
20
|
-
-
|
|
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/
|
|
31
|
-
-
|
|
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
|
|
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
|
|
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/
|
|
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
|
|
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/
|
|
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
|
|
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/
|
|
73
|
-
3. Instruct the user to create the
|
|
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,
|
|
105
|
-
- Preserve the hard-start requirements for `docs/product-vision.md` and `docs/
|
|
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
|
|
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,
|
|
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
|
|
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/
|
|
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
|
|
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
|
|
148
|
-
3. Provide this
|
|
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
|
|
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
|
-
|
|
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,
|
|
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
|
-
##
|
|
207
|
-
<
|
|
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
|
|
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
|
|
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
|
|
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
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|