@juancr11/sibu 0.9.3 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/AGENTS.md +1 -1
- package/templates/manifest.json +15 -18
- package/templates/skills/ai-implementation-plan-executor/SKILL.md +9 -13
- package/templates/skills/ai-implementation-planner/SKILL.md +11 -10
- package/templates/skills/architecture/ddd-hexagonal/SKILL.md +73 -2
- package/templates/skills/deep-module-map-writer/SKILL.md +6 -1
- package/templates/skills/feature-brief-writer/SKILL.md +9 -7
- package/templates/skills/product-vision-writer/SKILL.md +9 -5
package/package.json
CHANGED
package/templates/AGENTS.md
CHANGED
|
@@ -45,7 +45,7 @@ For planned product/feature work, use this pipeline: product vision -> deep modu
|
|
|
45
45
|
- For requests to create, revise, or clarify a technical design, implementation-oriented design doc, architecture approach, technical tradeoffs, technical risks, or implementation plan for an approved feature, use `technical-design-writer`.
|
|
46
46
|
- For requests to create Epics, User Stories, Scrum planning artifacts, backlog slices, or delivery plans from an approved feature brief and technical design, use `scrum-master-planner`.
|
|
47
47
|
- For requests to turn a specific User Story into an implementation checklist, coding plan, step-by-step execution plan, or baby-step plan, use `ai-implementation-planner`.
|
|
48
|
-
- For requests to implement, execute, continue, or work through a specific User Story under `docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.md` or an existing story implementation plan under `docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.impl_plan/`, use `ai-implementation-plan-executor`; the
|
|
48
|
+
- For requests to implement, execute, continue, or work through a specific User Story under `docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.md` or an existing story implementation plan under `docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.impl_plan/`, use `ai-implementation-plan-executor`; when the story plan is missing, the executor should create it with `ai-implementation-planner` and immediately continue into implementation without a separate plan approval gate.
|
|
49
49
|
{{OPTIONAL_SKILL_ROUTING}}
|
|
50
50
|
|
|
51
51
|
## Sibu maintenance
|
package/templates/manifest.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"templateVersion": "
|
|
2
|
+
"templateVersion": "82",
|
|
3
3
|
"templates": {
|
|
4
4
|
"AGENTS.md": {
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "26",
|
|
6
6
|
"description": "Project-level agent instructions and Sibu maintenance guidance.",
|
|
7
7
|
"changes": [
|
|
8
|
-
"
|
|
8
|
+
"Updates implementation routing so missing story plans are generated and executed immediately without a separate plan approval gate."
|
|
9
9
|
]
|
|
10
10
|
},
|
|
11
11
|
".codex/config.toml": {
|
|
@@ -52,25 +52,24 @@
|
|
|
52
52
|
]
|
|
53
53
|
},
|
|
54
54
|
"skills/product-vision-writer/SKILL.md": {
|
|
55
|
-
"version": "
|
|
55
|
+
"version": "8",
|
|
56
56
|
"description": "Mandatory product vision writer skill installed once at the shared .agents/skills workspace path.",
|
|
57
57
|
"changes": [
|
|
58
|
-
"
|
|
58
|
+
"Strengthens product vision interviews to resolve material strategy questions before drafting instead of leaving uncertainty in the artifact."
|
|
59
59
|
]
|
|
60
60
|
},
|
|
61
61
|
"skills/deep-module-map-writer/SKILL.md": {
|
|
62
|
-
"version": "
|
|
62
|
+
"version": "3",
|
|
63
63
|
"description": "Mandatory Deep Module Map writer skill installed once at the shared .agents/skills workspace path.",
|
|
64
64
|
"changes": [
|
|
65
|
-
"
|
|
66
|
-
"Strengthens the interview flow so agents ask focused one-at-a-time questions until module interfaces, hidden complexity, and boundaries are defensible."
|
|
65
|
+
"Strengthens Deep Module Map interviews to ask as many one-at-a-time questions as needed and resolve material boundary questions before drafting."
|
|
67
66
|
]
|
|
68
67
|
},
|
|
69
68
|
"skills/feature-brief-writer/SKILL.md": {
|
|
70
|
-
"version": "
|
|
69
|
+
"version": "9",
|
|
71
70
|
"description": "Mandatory feature brief writer skill installed once at the shared .agents/skills workspace path.",
|
|
72
71
|
"changes": [
|
|
73
|
-
"
|
|
72
|
+
"Removes Open Questions from the feature brief template and requires the interview to resolve material feature questions before drafting."
|
|
74
73
|
]
|
|
75
74
|
},
|
|
76
75
|
"skills/technical-design-writer/SKILL.md": {
|
|
@@ -102,10 +101,10 @@
|
|
|
102
101
|
]
|
|
103
102
|
},
|
|
104
103
|
"skills/architecture/ddd-hexagonal/SKILL.md": {
|
|
105
|
-
"version": "
|
|
104
|
+
"version": "7",
|
|
106
105
|
"description": "Selectable back-end architecture skill for DDD and Hexagonal Architecture.",
|
|
107
106
|
"changes": [
|
|
108
|
-
"
|
|
107
|
+
"Adds anti-corruption adapter guidance for translating external models at infrastructure boundaries."
|
|
109
108
|
]
|
|
110
109
|
},
|
|
111
110
|
"skills/architecture/command-pattern/SKILL.md": {
|
|
@@ -137,19 +136,17 @@
|
|
|
137
136
|
]
|
|
138
137
|
},
|
|
139
138
|
"skills/ai-implementation-planner/SKILL.md": {
|
|
140
|
-
"version": "
|
|
139
|
+
"version": "12",
|
|
141
140
|
"description": "Mandatory AI implementation planner skill for turning one approved User Story into small, story-local implementation step files.",
|
|
142
141
|
"changes": [
|
|
143
|
-
"
|
|
144
|
-
"Clarifies that next-story planning handoffs from the executor must stop after planning and wait for approval."
|
|
142
|
+
"Removes the implementation-plan approval gate and allows execution to continue immediately when implementation is requested."
|
|
145
143
|
]
|
|
146
144
|
},
|
|
147
145
|
"skills/ai-implementation-plan-executor/SKILL.md": {
|
|
148
|
-
"version": "
|
|
146
|
+
"version": "18",
|
|
149
147
|
"description": "Mandatory AI implementation plan executor skill for implementing full story plans before story-level review and commit.",
|
|
150
148
|
"changes": [
|
|
151
|
-
"
|
|
152
|
-
"Clarifies that ignored approval marker changes remain local and commits include only eligible non-ignored story changes."
|
|
149
|
+
"Allows the executor to generate missing story plans and immediately implement them, preserving only the story-level review gate after implementation."
|
|
153
150
|
]
|
|
154
151
|
},
|
|
155
152
|
"skills/ai-prompt-engineer-master/SKILL.md": {
|
|
@@ -24,17 +24,15 @@ Execute one existing story implementation plan completely, one ordered step file
|
|
|
24
24
|
- Code, docs, tests, or other repo changes required by all unapproved implementation steps in the story plan.
|
|
25
25
|
- Step approval metadata in every completed step file only after explicit story-level user approval.
|
|
26
26
|
- One focused commit for the approved story implementation, excluding any paths ignored by Git.
|
|
27
|
-
- When
|
|
27
|
+
- When starting or continuing a story that has no plan, story-local implementation step files created by applying `ai-implementation-planner`, followed immediately by implementation.
|
|
28
28
|
|
|
29
29
|
### When this skill stops
|
|
30
30
|
|
|
31
31
|
- The user does not provide or clearly identify exactly one User Story file or `.impl_plan/` folder.
|
|
32
|
-
- The starting implementation plan is missing, empty, invalid, or has no ordered step files; direct the user to `ai-implementation-planner`.
|
|
33
32
|
- Any required source artifact is missing, incomplete, or invalid in a way its owning stage should repair.
|
|
34
33
|
- The story, any step, or feature has UI impact and `ux.md` is missing; direct the user to `ux-expert`.
|
|
35
34
|
- Validation fails and the fix is ambiguous, risky, or would exceed the approved plan.
|
|
36
35
|
- A step conflicts with the story, Epic, feature brief, technical design, UX spec, or approved Deep Module boundaries.
|
|
37
|
-
- A newly planned next story is ready for plan review and approval before execution.
|
|
38
36
|
|
|
39
37
|
### What this skill must not do
|
|
40
38
|
|
|
@@ -43,7 +41,6 @@ Execute one existing story implementation plan completely, one ordered step file
|
|
|
43
41
|
- Do not reread `docs/deep-module-map.md` by default; trust `technical_design.md` for Deep Module implementation boundaries.
|
|
44
42
|
- Do not mark any step approved before explicit story-level user approval.
|
|
45
43
|
- Do not commit story implementation changes before explicit story-level user approval.
|
|
46
|
-
- Do not continue past a newly created implementation plan for the next story until the user approves that plan.
|
|
47
44
|
|
|
48
45
|
## Required source context
|
|
49
46
|
|
|
@@ -104,10 +101,10 @@ Reread broad source context only when scope changes, validation fails in a way t
|
|
|
104
101
|
|
|
105
102
|
If the initial User Story has no matching `.impl_plan/`, or the initial `.impl_plan/` folder is missing, empty, or has no ordered `.md` step files:
|
|
106
103
|
|
|
107
|
-
1.
|
|
108
|
-
2.
|
|
109
|
-
3.
|
|
110
|
-
4. Do not
|
|
104
|
+
1. Apply `ai-implementation-planner` to create or repair the story-local implementation plan.
|
|
105
|
+
2. Quality-check that the generated plan has ordered step files for exactly that story.
|
|
106
|
+
3. Immediately begin executing the generated plan with this executor.
|
|
107
|
+
4. Do not ask the user to approve the plan before implementation; the only required approval is the story-level review after implementation finishes.
|
|
111
108
|
|
|
112
109
|
If required source context is missing:
|
|
113
110
|
|
|
@@ -120,7 +117,7 @@ If required source context is missing:
|
|
|
120
117
|
|
|
121
118
|
Work through the full story plan in filename order, one step at a time, without asking for review or approval between steps.
|
|
122
119
|
|
|
123
|
-
When a valid implementation plan exists, begin implementing the first unapproved step immediately. Do not ask for pre-implementation confirmation before changing code. This is an explicit exception to repository-level instructions that normally require confirmation before code changes: selecting this executor skill
|
|
120
|
+
When a valid implementation plan exists, begin implementing the first unapproved step immediately. If a plan was just generated by `ai-implementation-planner`, begin implementing it immediately. Do not ask for pre-implementation confirmation or plan approval before changing code. This is an explicit exception to repository-level instructions that normally require confirmation before code changes: selecting this executor skill, asking to implement or continue a story/Epic, or providing a valid plan is the user's confirmation to implement the full story plan.
|
|
124
121
|
|
|
125
122
|
A step file is considered approved only when it contains this section:
|
|
126
123
|
|
|
@@ -172,9 +169,9 @@ After the approved story implementation is committed:
|
|
|
172
169
|
2. Identify whether there is a next User Story after the completed story.
|
|
173
170
|
3. If there is no next User Story in the Epic, tell the user the Epic appears ready and stop.
|
|
174
171
|
4. If a next User Story exists and its `.impl_plan/` folder exists with ordered step files, immediately begin implementing that next story plan using this same story execution model.
|
|
175
|
-
5. If a next User Story exists but its `.impl_plan/` folder is missing or empty, immediately create the implementation plan for that story by applying `ai-implementation-planner`, then
|
|
172
|
+
5. If a next User Story exists but its `.impl_plan/` folder is missing or empty, immediately create the implementation plan for that story by applying `ai-implementation-planner`, then immediately begin implementing the generated plan.
|
|
176
173
|
|
|
177
|
-
This continuation behavior is an explicit exception to the normal hard-start rule only after a story has been approved and committed. It lets the executor keep an Epic moving while
|
|
174
|
+
This continuation behavior is an explicit exception to the normal hard-start rule only after a story has been approved and committed. It lets the executor keep an Epic moving while preserving only the story-level review gate after implementation.
|
|
178
175
|
|
|
179
176
|
## Implementation rules
|
|
180
177
|
|
|
@@ -201,7 +198,6 @@ Do not:
|
|
|
201
198
|
- continue past a failed validation without reporting it and asking how to proceed
|
|
202
199
|
- leave committable approved story changes uncommitted before moving to the next story
|
|
203
200
|
- attempt to stage or commit story files, approval markers, or other paths that are ignored by Git
|
|
204
|
-
- execute a newly created next-story plan before the user approves that plan
|
|
205
201
|
|
|
206
202
|
## Final response behavior
|
|
207
203
|
|
|
@@ -218,5 +214,5 @@ After approving and committing a story implementation, briefly report the commit
|
|
|
218
214
|
|
|
219
215
|
- commit hash when a commit was created, or a note that only ignored changes existed and no commit was created
|
|
220
216
|
- next story is being implemented immediately because it already has a plan
|
|
221
|
-
- next story was planned and
|
|
217
|
+
- next story was planned and implementation started immediately
|
|
222
218
|
- or the Epic appears ready
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ai-implementation-planner
|
|
3
|
-
description: Turn one approved User Story Markdown file into LLM-sized implementation step files, then
|
|
3
|
+
description: Turn one approved User Story Markdown file into LLM-sized implementation step files, then continue directly into execution when implementation is requested. Use when asked to create an implementation plan, coding checklist, step-by-step execution plan, or baby-step plan for completing a specific User Story from docs/features/<feature-slug>/epics/<epic-slug>/stories/.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# AI Implementation Planner
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
9
9
|
|
|
10
|
-
Turn one approved User Story into concrete Markdown step files an AI coding agent can execute safely and completely. This skill owns implementation planning for one story at a time, not product scope, technical design decisions, Scrum planning, or code implementation. After writing the plan, it
|
|
10
|
+
Turn one approved User Story into concrete Markdown step files an AI coding agent can execute safely and completely. This skill owns implementation planning for one story at a time, not product scope, technical design decisions, Scrum planning, or code implementation. After writing the plan, it does not require a separate plan approval gate; implementation may continue immediately through `ai-implementation-plan-executor` when the user requested execution or Epic continuation.
|
|
11
11
|
|
|
12
12
|
## Pipeline Contract
|
|
13
13
|
|
|
@@ -30,7 +30,6 @@ Turn one approved User Story into concrete Markdown step files an AI coding agen
|
|
|
30
30
|
- Any required source artifact is missing, incomplete, or invalid in a way its owning stage should repair.
|
|
31
31
|
- The story or feature has UI impact and `ux.md` is missing; direct the user to `ux-expert`.
|
|
32
32
|
- The request is to write production code, execute an implementation plan, create stories, or perform another pipeline stage.
|
|
33
|
-
- A newly created implementation plan is ready for user review and approval before execution.
|
|
34
33
|
|
|
35
34
|
### What this skill must not do
|
|
36
35
|
|
|
@@ -38,7 +37,7 @@ Turn one approved User Story into concrete Markdown step files an AI coding agen
|
|
|
38
37
|
- Do not modify prior-stage artifacts.
|
|
39
38
|
- Do not reread `docs/deep-module-map.md` by default; trust `technical_design.md` for Deep Module implementation boundaries.
|
|
40
39
|
- Do not infer implementation scope from an Epic brief, feature brief, or technical design without exactly one User Story.
|
|
41
|
-
- Do not
|
|
40
|
+
- Do not write production code directly from this planner; hand off to `ai-implementation-plan-executor` for implementation.
|
|
42
41
|
|
|
43
42
|
## Required input
|
|
44
43
|
|
|
@@ -241,18 +240,20 @@ Before finishing, verify:
|
|
|
241
240
|
- the step files preserve approved Deep Module boundaries and stop before unrelated module movement
|
|
242
241
|
- architecture and code-quality steps align with the relevant skills
|
|
243
242
|
|
|
244
|
-
### 6.
|
|
243
|
+
### 6. Continue or report
|
|
245
244
|
|
|
246
|
-
After writing and quality-checking the implementation step files,
|
|
245
|
+
After writing and quality-checking the implementation step files, do not ask for plan approval before execution. If the user asked to implement, execute, continue, or work through the story or Epic, immediately hand off to `ai-implementation-plan-executor` for the newly created plan in the same turn. The user's execution request plus a valid generated plan is enough pre-implementation confirmation; the only required user approval is the story-level review after execution finishes.
|
|
247
246
|
|
|
248
|
-
|
|
247
|
+
If the user asked only to create a plan and did not ask for implementation, stop after creating the plan and report where it was written. Make clear that no plan approval is required before a later executor run.
|
|
249
248
|
|
|
250
|
-
|
|
249
|
+
When this skill is invoked as the next-story planning handoff from `ai-implementation-plan-executor`, create the plan and immediately return control to the executor so it can implement the next story without a plan-review gate.
|
|
250
|
+
|
|
251
|
+
The final planning-only response must briefly include:
|
|
251
252
|
|
|
252
253
|
- the source User Story path
|
|
253
254
|
- the implementation plan folder path
|
|
254
255
|
- the ordered step files created
|
|
255
|
-
- any assumptions, risks, or validation commands worth
|
|
256
|
-
- that
|
|
256
|
+
- any assumptions, risks, or validation commands worth noting
|
|
257
|
+
- that no separate plan approval is required before execution
|
|
257
258
|
|
|
258
259
|
Do not paste step-file bodies, excerpts, outlines, task text, done conditions, or section summaries. Only include generated step files when the user explicitly asks for inline review in the current request.
|
|
@@ -138,6 +138,17 @@ Use this default mapping when the project does not already have a clearer conven
|
|
|
138
138
|
/src/modules/<module-slug>/infra/** # Technical implementations and external integrations
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
+
Structure each application use case with files, not nested subfolders:
|
|
142
|
+
|
|
143
|
+
```text
|
|
144
|
+
/src/modules/<module-slug>/application/<usecase-slug>/input.* # Input DTO/schema/command shape
|
|
145
|
+
/src/modules/<module-slug>/application/<usecase-slug>/output.* # Output DTO/result shape
|
|
146
|
+
/src/modules/<module-slug>/application/<usecase-slug>/usecase.* # Use case orchestration
|
|
147
|
+
/src/modules/<module-slug>/application/<usecase-slug>/ports.* # Ports required by this use case
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Use the project language's normal extension, such as `.ts`, `.go`, or `.py`. Keep ports local to the use case by default. Extract shared application ports only when multiple use cases truly need the same abstraction. Do not create `input/`, `output/`, `usecase/`, or `ports/` folders unless an existing project convention already requires it.
|
|
151
|
+
|
|
141
152
|
Entrypoints such as routes, jobs, or handlers should remain thin driving adapters that call application behavior inside the selected Deep Module.
|
|
142
153
|
|
|
143
154
|
## Ports and adapters
|
|
@@ -166,9 +177,40 @@ Typical driven adapters:
|
|
|
166
177
|
|
|
167
178
|
Adapters should hide technical details rather than leak them inward.
|
|
168
179
|
|
|
169
|
-
|
|
180
|
+
### Anti-corruption adapters
|
|
181
|
+
|
|
182
|
+
When integrating with an external API, SDK, database shape, file format, or third-party model, treat the infrastructure adapter as the anti-corruption layer. Translate external language and data shapes into application/domain concepts at the boundary.
|
|
183
|
+
|
|
184
|
+
Place anti-corruption translation in infrastructure adapter files by default:
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
/src/modules/<module-slug>/infra/<adapter-slug>.* # Adapter and translation logic
|
|
188
|
+
/src/modules/<module-slug>/infra/<adapter-slug>.types.* # External DTOs/types when useful
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Do not create a separate `acl/` folder by default. Split translation into extra infrastructure-local files only when the adapter becomes too large.
|
|
192
|
+
|
|
193
|
+
External DTOs, SDK response types, database rows, and third-party vocabulary must not leak into `domain/**` or use case `input.*` / `output.*` unless the product language truly matches the external language. If changing an external API response would force changes in domain entities, value objects, or use case boundaries, the anti-corruption boundary is leaking.
|
|
194
|
+
|
|
195
|
+
## Use cases, application services, and domain services
|
|
196
|
+
|
|
197
|
+
### Use case
|
|
198
|
+
|
|
199
|
+
A use case represents one externally meaningful backend capability triggered by a route, CLI command, job, handler, or other driving adapter.
|
|
200
|
+
|
|
201
|
+
Place each use case at:
|
|
202
|
+
|
|
203
|
+
```text
|
|
204
|
+
/src/modules/<module-slug>/application/<usecase-slug>/usecase.*
|
|
205
|
+
```
|
|
170
206
|
|
|
171
|
-
|
|
207
|
+
Its sibling files should define its boundary:
|
|
208
|
+
|
|
209
|
+
```text
|
|
210
|
+
/src/modules/<module-slug>/application/<usecase-slug>/input.*
|
|
211
|
+
/src/modules/<module-slug>/application/<usecase-slug>/output.*
|
|
212
|
+
/src/modules/<module-slug>/application/<usecase-slug>/ports.*
|
|
213
|
+
```
|
|
172
214
|
|
|
173
215
|
A use case should:
|
|
174
216
|
- orchestrate domain logic and required ports explicitly
|
|
@@ -180,6 +222,35 @@ A use case should not:
|
|
|
180
222
|
- hide infrastructure details inline
|
|
181
223
|
- absorb framework behavior that belongs in adapters
|
|
182
224
|
|
|
225
|
+
### Application service
|
|
226
|
+
|
|
227
|
+
An application service is reusable application-layer orchestration shared by multiple use cases. Use it only when multiple use cases truly need the same orchestration, transaction coordination, or port coordination. Do not create application services just to shorten one use case; prefer private helpers first.
|
|
228
|
+
|
|
229
|
+
Place application services under:
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
/src/modules/<module-slug>/application/services/<service-slug>.*
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Application services may depend on domain concepts and application ports, but must not depend on infrastructure implementations, SDK clients, database clients, or framework request/response objects.
|
|
236
|
+
|
|
237
|
+
### Domain service
|
|
238
|
+
|
|
239
|
+
A domain service contains pure business behavior that does not naturally belong on one entity or value object. Use it when the rule is domain language, needs multiple domain concepts, and has no dependency on ports, databases, SDKs, frameworks, or technical time/randomness unless those are passed in as values.
|
|
240
|
+
|
|
241
|
+
Place domain services under:
|
|
242
|
+
|
|
243
|
+
```text
|
|
244
|
+
/src/modules/<module-slug>/domain/services/<service-slug>.*
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Domain services must stay pure and should not orchestrate use cases or external capabilities.
|
|
248
|
+
|
|
249
|
+
Rule of thumb:
|
|
250
|
+
- Use case: “Do this application action.”
|
|
251
|
+
- Application service: “Reuse this application orchestration.”
|
|
252
|
+
- Domain service: “Evaluate or perform this pure domain rule.”
|
|
253
|
+
|
|
183
254
|
## Simplicity rule
|
|
184
255
|
|
|
185
256
|
- Use the fewest layers that preserve clear boundaries.
|
|
@@ -38,6 +38,7 @@ This skill owns the Deep Module Map only. It does not own feature briefs, techni
|
|
|
38
38
|
- Do not ask for or require a final confirmation summary before writing once enough Deep Module Map information is available.
|
|
39
39
|
- Do not invent Deep Modules without grounding them in the product vision, current system behavior, and user interview.
|
|
40
40
|
- Do not treat a command, screen, helper, folder, data object, or technical layer as a Deep Module merely because it exists.
|
|
41
|
+
- 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.
|
|
41
42
|
|
|
42
43
|
## What a Deep Module is
|
|
43
44
|
|
|
@@ -125,7 +126,10 @@ This file is user-owned product and implementation-boundary content created or u
|
|
|
125
126
|
Be deliberately interrogative before writing.
|
|
126
127
|
|
|
127
128
|
- Ask one focused question at a time.
|
|
128
|
-
- Ask as many one-at-a-time questions as needed to understand the app well enough to defend the map.
|
|
129
|
+
- 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.
|
|
130
|
+
- Walk down each module-boundary decision branch one by one, resolving dependencies between candidate modules before drafting.
|
|
131
|
+
- When useful, provide your recommended answer or a concise default assumption with the question so the user can confirm, correct, or reject it quickly.
|
|
132
|
+
- If a question can be answered by reading repository artifacts, inspect those artifacts instead of asking.
|
|
129
133
|
- Do not rush to draft after a single answer unless the answer already makes interfaces, hidden complexity, boundaries, scenarios, and relationships clear.
|
|
130
134
|
- 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.
|
|
131
135
|
- Do not ask the user to name the Deep Modules up front. Most users do not know what the modules should be yet.
|
|
@@ -133,6 +137,7 @@ Be deliberately interrogative before writing.
|
|
|
133
137
|
- 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.
|
|
134
138
|
- Do not create modules from vague labels without confirming what interface they expose and what complexity they hide.
|
|
135
139
|
- If the conversation stalls, propose one concise assumption for the next unresolved point and ask the user to confirm or correct it.
|
|
140
|
+
- Draft only when there are no material open questions about interfaces, hidden complexity, ownership, exclusions, relationships, or cross-module rules.
|
|
136
141
|
|
|
137
142
|
## Interview method
|
|
138
143
|
|
|
@@ -38,6 +38,7 @@ This skill owns the product/business shape of a feature. It does not own UI inte
|
|
|
38
38
|
- Do not invent Deep Modules or use modules that are absent from `docs/deep-module-map.md`.
|
|
39
39
|
- Do not require a final confirmation summary before writing once enough feature brief context is available.
|
|
40
40
|
- 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.
|
|
41
42
|
|
|
42
43
|
## Required source of truth
|
|
43
44
|
|
|
@@ -99,7 +100,10 @@ Do not write the brief to technical design, UX, user story, implementation plan,
|
|
|
99
100
|
Be deliberately interrogative before drafting. The feature brief should reflect the user's intent, not the assistant's assumptions.
|
|
100
101
|
|
|
101
102
|
- Ask one focused question at a time.
|
|
102
|
-
- Keep asking until you have complete practical understanding and explicit user alignment.
|
|
103
|
+
- Keep asking until you have complete practical understanding and explicit user alignment; do not optimize for a short interview.
|
|
104
|
+
- Walk down each feature decision branch one by one, resolving dependencies between product, scope, success, constraint, and module-fit decisions before drafting.
|
|
105
|
+
- When useful, provide your recommended answer or a concise default assumption with the question so the user can confirm, correct, or reject it quickly.
|
|
106
|
+
- If a question can be answered by reading repository artifacts, inspect those artifacts instead of asking.
|
|
103
107
|
- Prefer follow-up questions over filling gaps with plausible invention.
|
|
104
108
|
- 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.
|
|
105
109
|
- 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.
|
|
@@ -165,9 +169,9 @@ Ask every question needed to remove material ambiguity, but only one at a time.
|
|
|
165
169
|
- what outcome should improve
|
|
166
170
|
- what must be included in the first version
|
|
167
171
|
- what should stay out of scope
|
|
168
|
-
- known constraints
|
|
172
|
+
- known constraints and risks
|
|
169
173
|
|
|
170
|
-
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.
|
|
174
|
+
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.
|
|
171
175
|
|
|
172
176
|
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.
|
|
173
177
|
|
|
@@ -215,9 +219,6 @@ Recommended structure:
|
|
|
215
219
|
|
|
216
220
|
## Risks / Tradeoffs
|
|
217
221
|
- <Important product, user, trust, operational, or positioning risks.>
|
|
218
|
-
|
|
219
|
-
## Open Questions
|
|
220
|
-
- <Decisions that still need user/product input.>
|
|
221
222
|
```
|
|
222
223
|
|
|
223
224
|
Adapt the structure to the feature. Add, rename, merge, or omit sections when useful, but keep the result business-level and product-vision-aligned.
|
|
@@ -234,7 +235,7 @@ Do not include:
|
|
|
234
235
|
- engineering task lists
|
|
235
236
|
- UI wireframes or detailed interaction specs
|
|
236
237
|
|
|
237
|
-
If technical or UX decisions come up, capture
|
|
238
|
+
If technical or UX decisions come up, either capture the resolved product-level implication as a constraint or ask follow-up questions before drafting. Do not add unresolved technical or UX decisions as open questions in the brief.
|
|
238
239
|
|
|
239
240
|
### 6. Save the document
|
|
240
241
|
|
|
@@ -267,6 +268,7 @@ Avoid:
|
|
|
267
268
|
- drafting from vague feature labels without discovery
|
|
268
269
|
- inventing new Deep Modules instead of stopping for a map update
|
|
269
270
|
- inventing certainty where the product vision or user input is unresolved
|
|
271
|
+
- including an Open Questions section instead of resolving the questions during the interview
|
|
270
272
|
|
|
271
273
|
## Decision rule
|
|
272
274
|
|
|
@@ -34,13 +34,17 @@ Default output path: `docs/product-vision.md`.
|
|
|
34
34
|
|
|
35
35
|
- Do not create Deep Module Maps, feature briefs, technical designs, UX specs, Epics, User Stories, implementation plans, or production code.
|
|
36
36
|
- Do not require a final confirmation summary before writing once enough product vision context is available.
|
|
37
|
-
- Do not
|
|
37
|
+
- Do not leave material strategy questions unresolved in the final document; keep interviewing until the user answers, confirms an assumption, or explicitly excludes the topic.
|
|
38
38
|
|
|
39
39
|
## Workflow
|
|
40
40
|
|
|
41
41
|
### 1. Start with discovery, not drafting
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Interview before writing unless the user already provided complete source material. Be deliberately interrogative: ask as many focused questions as needed to extract all material product vision decisions before drafting.
|
|
44
|
+
|
|
45
|
+
Ask one question at a time. Walk down the product decision tree branch by branch, resolving dependencies between decisions before moving on. When useful, include a recommended answer or concise assumption so the user can confirm, correct, or reject it quickly. If a question can be answered from existing repository artifacts, inspect those artifacts instead of asking.
|
|
46
|
+
|
|
47
|
+
Do not optimize for the fewest questions. Optimize for ending the interview with no material open product vision questions. Cover these areas over the interview:
|
|
44
48
|
|
|
45
49
|
- **Product essence:** What is the product? What should it help people do, feel, or become?
|
|
46
50
|
- **Current context:** Is this a new concept, an active project, or an existing product?
|
|
@@ -67,7 +71,7 @@ Before drafting, infer the product's through-line:
|
|
|
67
71
|
- the product's opinion about the world
|
|
68
72
|
- the decision-making principles that should survive future feature debates
|
|
69
73
|
|
|
70
|
-
If the user's answers conflict,
|
|
74
|
+
If the user's answers conflict, ask follow-up questions until the conflict is resolved or the user confirms which direction should win. Do not preserve every idea equally.
|
|
71
75
|
|
|
72
76
|
### 3. Draft the product vision document
|
|
73
77
|
|
|
@@ -118,13 +122,13 @@ Avoid:
|
|
|
118
122
|
- overexplaining
|
|
119
123
|
- feature lists masquerading as vision
|
|
120
124
|
- excessive frameworks
|
|
121
|
-
-
|
|
125
|
+
- leaving unresolved strategy questions in the document
|
|
122
126
|
|
|
123
127
|
Use the user's own language when it is vivid or revealing. Improve clarity without sanding off personality.
|
|
124
128
|
|
|
125
129
|
### 5. Handle incomplete inputs
|
|
126
130
|
|
|
127
|
-
For rough ideas,
|
|
131
|
+
For rough ideas, keep interviewing until the user has confirmed enough assumptions to support a sharper first-pass vision. For existing products, reflect what the product is today and what it must protect or change. If context is still insufficient, ask the next most important follow-up instead of inventing details.
|
|
128
132
|
|
|
129
133
|
### 6. Save the document
|
|
130
134
|
|