@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juancr11/sibu",
3
- "version": "0.9.3",
3
+ "version": "0.9.5",
4
4
  "description": "CLI for setting up a local AI-augmented development workflow.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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 executor must stop and direct the user to `ai-implementation-planner` when the story plan is missing.
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
@@ -1,11 +1,11 @@
1
1
  {
2
- "templateVersion": "77",
2
+ "templateVersion": "82",
3
3
  "templates": {
4
4
  "AGENTS.md": {
5
- "version": "25",
5
+ "version": "26",
6
6
  "description": "Project-level agent instructions and Sibu maintenance guidance.",
7
7
  "changes": [
8
- "Clarifies Deep Module routing as complexity-hiding implementation module planning."
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": "7",
55
+ "version": "8",
56
56
  "description": "Mandatory product vision writer skill installed once at the shared .agents/skills workspace path.",
57
57
  "changes": [
58
- "Updates downstream artifact wording to use Deep Module Map."
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": "2",
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
- "Clarifies that Deep Modules are primarily technical design boundaries that hide substantial implementation complexity behind simple interfaces.",
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": "8",
69
+ "version": "9",
71
70
  "description": "Mandatory feature brief writer skill installed once at the shared .agents/skills workspace path.",
72
71
  "changes": [
73
- "Updates feature brief guidance to require Deep Modules from docs/deep-module-map.md."
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": "4",
104
+ "version": "7",
106
105
  "description": "Selectable back-end architecture skill for DDD and Hexagonal Architecture.",
107
106
  "changes": [
108
- "Clarifies that Deep Modules hide implementation complexity behind small interfaces and are not product categories by themselves."
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": "11",
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
- "Adds a plan review gate so newly created implementation plans wait for user approval before execution.",
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": "17",
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
- "Prevents the executor from staging or committing Git-ignored story artifacts, including docs/features paths when ignored.",
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 continuing an Epic and the next story has no plan, story-local implementation step files created by applying `ai-implementation-planner`.
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. Stop.
108
- 2. Tell the user the implementation plan is missing or invalid.
109
- 3. Instruct the user to use `templates/skills/ai-implementation-planner/SKILL.md` to create or repair it first.
110
- 4. Do not infer steps from the story or technical design.
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 and providing a valid plan is the user's confirmation to implement the full story plan.
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 stop and ask the user to review and approve the new plan before executing it.
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 still preserving the required review gate before executing a newly created plan.
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 is waiting for plan review and approval
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 request plan review before execution. 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/.
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 asks for plan review and approval before any executor begins implementation.
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 execute the plan after creating it, even when invoked as the next-story planning handoff from `ai-implementation-plan-executor`.
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. Request plan review
243
+ ### 6. Continue or report
245
244
 
246
- After writing and quality-checking the implementation step files, stop and ask the user to review and approve the plan before execution. Do not start implementation in the same turn.
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
- When this skill is invoked as the next-story planning handoff from `ai-implementation-plan-executor`, the same gate applies: create the plan, summarize it, and wait for explicit approval before the executor starts changing code for that story.
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
- The final planning response must briefly include:
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 reviewing
256
- - that execution should wait until the user approves the plan
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
- ## Use cases
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
- A use case should represent one meaningful backend capability.
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, risks, or open decisions
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 them as brief product-level constraints or open questions.
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 pretend unresolved strategy questions are settled; ask a focused question or document a clear assumption.
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
- Ask focused questions before writing unless the user already provided enough source material. Ask one question at a time and use the fewest questions that can produce a useful document. Cover these areas over the interview:
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, resolve the conflict explicitly in the draft by choosing the clearest product direction. Do not preserve every idea equally.
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
- - pretending unresolved strategy questions are settled
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, produce a sharper first-pass vision with clear assumptions. For existing products, reflect what the product is today and what it must protect or change. If context is still insufficient, ask the smallest useful follow-up instead of inventing details.
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