@juancr11/sibu 0.6.0 → 0.7.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/admin/changelog.js +155 -0
- package/bin/admin/release.js +217 -0
- package/bin/entrypoints/cli/create-program.js +1 -1
- package/bin/entrypoints/cli/execute-command.js +6 -6
- package/bin/modules/interactive-guidance/index.js +1 -0
- package/bin/{shared → modules/interactive-guidance}/prompts.js +1 -1
- package/bin/modules/maintainer-release-support/generate-changelog/changelog-format.js +213 -0
- package/bin/modules/maintainer-release-support/generate-changelog/changelog-writer.js +91 -0
- package/bin/modules/maintainer-release-support/generate-changelog/git-history.js +93 -0
- package/bin/modules/maintainer-release-support/generate-changelog/handler.js +167 -0
- package/bin/modules/maintainer-release-support/generate-changelog/semver.js +40 -0
- package/bin/modules/maintainer-release-support/index.js +2 -0
- package/bin/modules/maintainer-release-support/release-workflow/git-release.js +114 -0
- package/bin/modules/maintainer-release-support/release-workflow/handler.js +369 -0
- package/bin/modules/maintainer-release-support/release-workflow/package-json.js +181 -0
- package/bin/modules/maintainer-release-support/release-workflow/release-plan.js +87 -0
- package/bin/{features/init-project → modules/project-adoption}/handler.js +3 -3
- package/bin/modules/project-adoption/index.js +1 -0
- package/bin/modules/skill-selection-management/index.js +3 -0
- package/bin/{features → modules/skill-selection-management}/list-skills/handler.js +4 -4
- package/bin/{features → modules/skill-selection-management}/stop-managing-file/handler.js +9 -8
- package/bin/modules/skill-selection-management/use-skill/command.js +1 -0
- package/bin/{features → modules/skill-selection-management}/use-skill/handler.js +7 -6
- package/bin/{features/sync-project → modules/sync-review}/apply-action.js +3 -3
- package/bin/modules/sync-review/command.js +1 -0
- package/bin/{features/sync-project → modules/sync-review}/handler.js +4 -4
- package/bin/modules/sync-review/index.js +5 -0
- package/bin/{shared → modules/sync-review}/sync-preview.js +4 -4
- package/bin/modules/template-catalog-rendering/index.js +1 -0
- package/bin/modules/template-catalog-rendering/templates.js +60 -0
- package/bin/modules/version-advisory/index.js +1 -0
- package/bin/{shared → modules/version-advisory}/npm-version.js +29 -2
- package/bin/modules/workflow-health-diagnosis/command.js +1 -0
- package/bin/{features/doctor-project → modules/workflow-health-diagnosis}/handler.js +7 -6
- package/bin/modules/workflow-health-diagnosis/index.js +1 -0
- package/bin/modules/workflow-mutation-readiness/index.js +1 -0
- package/bin/{shared → modules/workflow-mutation-readiness}/workflow-mutation-readiness.js +3 -3
- package/bin/modules/workflow-state-registry/index.js +1 -0
- package/bin/{shared → modules/workflow-state-registry}/state.js +1 -1
- package/bin/modules/workflow-target-planning/catalog.js +233 -0
- package/bin/modules/workflow-target-planning/index.js +2 -0
- package/bin/modules/workflow-target-planning/workflow-targets.js +125 -0
- package/bin/shared/catalog.js +0 -253
- package/bin/shared/paths.js +1 -12
- package/bin/shared/workflow-targets.js +3 -2
- package/package.json +4 -2
- package/templates/AGENTS.md +3 -3
- package/templates/manifest.json +31 -27
- package/templates/skills/ai-implementation-plan-executor/SKILL.md +74 -70
- package/templates/skills/ai-implementation-planner/SKILL.md +24 -17
- package/templates/skills/architecture/command-pattern/SKILL.md +32 -20
- package/templates/skills/architecture/ddd-hexagonal/SKILL.md +14 -9
- package/templates/skills/deep-module-map-writer/SKILL.md +241 -0
- package/templates/skills/feature-brief-writer/SKILL.md +24 -24
- package/templates/skills/product-vision-writer/SKILL.md +2 -2
- package/templates/skills/scrum-master-planner/SKILL.md +2 -2
- package/templates/skills/technical-design-writer/SKILL.md +15 -15
- package/templates/skills/ux-expert/SKILL.md +1 -1
- package/bin/features/sync-project/preview.js +0 -1
- package/templates/skills/product-context-map-writer/SKILL.md +0 -211
- /package/bin/{features/doctor-project/command.js → modules/cli-command-surface/index.js} +0 -0
- /package/bin/{features/init-project → modules/maintainer-release-support/generate-changelog}/command.js +0 -0
- /package/bin/{features/list-skills → modules/maintainer-release-support/release-workflow}/command.js +0 -0
- /package/bin/{features/stop-managing-file → modules/project-adoption}/command.js +0 -0
- /package/bin/{features/sync-project → modules/skill-selection-management/list-skills}/command.js +0 -0
- /package/bin/{features/use-skill → modules/skill-selection-management/stop-managing-file}/command.js +0 -0
- /package/bin/{features/sync-project → modules/sync-review}/action-prompt.js +0 -0
- /package/bin/{features/sync-project → modules/sync-review}/log-preview.js +0 -0
|
@@ -1,45 +1,49 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ai-implementation-plan-executor
|
|
3
|
-
description: Execute an existing ai-implementation-planner story implementation plan
|
|
3
|
+
description: Execute an existing ai-implementation-planner story implementation plan from start to finish, then request story-level review before marking steps approved and committing.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# AI Implementation Plan Executor
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
9
9
|
|
|
10
|
-
Execute one existing story implementation plan, one ordered step file at a time, with human review
|
|
10
|
+
Execute one existing story implementation plan completely, one ordered step file at a time, with a single human review gate after the full story plan has been implemented. This skill owns execution from an existing `.impl_plan/` folder; it does not change story scope or skip the final story approval gate.
|
|
11
11
|
|
|
12
12
|
## Pipeline Contract
|
|
13
13
|
|
|
14
14
|
### What this skill needs
|
|
15
15
|
|
|
16
|
-
- Exactly one User Story file or one story-local `.impl_plan/` folder.
|
|
16
|
+
- Exactly one User Story file or one story-local `.impl_plan/` folder to start.
|
|
17
17
|
- Ordered implementation step files in that `.impl_plan/` folder.
|
|
18
18
|
- The story, Epic brief, feature brief, and technical design for the selected plan.
|
|
19
|
-
- `docs/features/<feature-slug>/ux.md` only when the story, step, or feature has UI impact.
|
|
20
|
-
- Relevant repo files, validation output, and implementation skills needed for the
|
|
19
|
+
- `docs/features/<feature-slug>/ux.md` only when the story, any step, or feature has UI impact.
|
|
20
|
+
- Relevant repo files, validation output, and implementation skills needed for the story plan.
|
|
21
21
|
|
|
22
22
|
### What this skill writes
|
|
23
23
|
|
|
24
|
-
- Code, docs, tests, or other repo changes required by
|
|
25
|
-
- Step approval metadata in
|
|
26
|
-
-
|
|
24
|
+
- Code, docs, tests, or other repo changes required by all unapproved implementation steps in the story plan.
|
|
25
|
+
- Step approval metadata in every completed step file only after explicit story-level user approval.
|
|
26
|
+
- One focused commit for the approved story implementation.
|
|
27
|
+
- When continuing an Epic and the next story has no plan, story-local implementation step files created by applying `ai-implementation-planner`.
|
|
27
28
|
|
|
28
29
|
### When this skill stops
|
|
29
30
|
|
|
30
31
|
- The user does not provide or clearly identify exactly one User Story file or `.impl_plan/` folder.
|
|
31
|
-
- The implementation plan is missing, empty, invalid, or has no ordered step files; direct the user to `ai-implementation-planner`.
|
|
32
|
+
- The starting implementation plan is missing, empty, invalid, or has no ordered step files; direct the user to `ai-implementation-planner`.
|
|
32
33
|
- Any required source artifact is missing, incomplete, or invalid in a way its owning stage should repair.
|
|
33
|
-
- The story, step, or feature has UI impact and `ux.md` is missing; direct the user to `ux-expert`.
|
|
34
|
-
-
|
|
34
|
+
- The story, any step, or feature has UI impact and `ux.md` is missing; direct the user to `ux-expert`.
|
|
35
|
+
- Validation fails and the fix is ambiguous, risky, or would exceed the approved plan.
|
|
36
|
+
- 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.
|
|
35
38
|
|
|
36
39
|
### What this skill must not do
|
|
37
40
|
|
|
38
|
-
- Do not create product visions,
|
|
39
|
-
- Do not modify prior-stage artifacts except for approval metadata in
|
|
40
|
-
- Do not reread `docs/
|
|
41
|
-
- Do not
|
|
42
|
-
- Do not
|
|
41
|
+
- Do not create product visions, Deep Module Maps, feature briefs, technical designs, UX specs, Epics, or User Stories.
|
|
42
|
+
- Do not modify prior-stage artifacts except for approval metadata in implementation step files.
|
|
43
|
+
- Do not reread `docs/deep-module-map.md` by default; trust `technical_design.md` for Deep Module implementation boundaries.
|
|
44
|
+
- Do not mark any step approved before explicit story-level user approval.
|
|
45
|
+
- 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.
|
|
43
47
|
|
|
44
48
|
## Required source context
|
|
45
49
|
|
|
@@ -63,12 +67,12 @@ docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.impl
|
|
|
63
67
|
docs/features/<feature-slug>/epics/<epic-slug>/epic_brief.md
|
|
64
68
|
docs/features/<feature-slug>/feature_brief.md
|
|
65
69
|
docs/features/<feature-slug>/technical_design.md
|
|
66
|
-
docs/features/<feature-slug>/ux.md # when the story, step, or feature has UI impact
|
|
70
|
+
docs/features/<feature-slug>/ux.md # when the story, any step, or feature has UI impact
|
|
67
71
|
```
|
|
68
72
|
|
|
69
73
|
Also read `docs/product-vision.md` when product fit, target user, scope boundaries, or success signals are ambiguous.
|
|
70
74
|
|
|
71
|
-
When the story, implementation plan, feature brief, or technical design includes
|
|
75
|
+
When the story, implementation plan, feature brief, or technical design includes Deep Module guidance, treat it as part of the execution contract. Deep Modules answer “where does this implementation work belong?” Approved modules define where implementation work should stay.
|
|
72
76
|
|
|
73
77
|
If the story, any step, or feature has UI impact and `docs/features/<feature-slug>/ux.md` is missing, stop and ask the user to create the UX spec with `ux-expert` before implementation.
|
|
74
78
|
|
|
@@ -81,13 +85,13 @@ Before the first implementation step that changes code, read and apply the imple
|
|
|
81
85
|
- read and apply language skills when relevant, such as `typescript`
|
|
82
86
|
- read and apply framework skills when relevant, such as `react` or `nextjs`
|
|
83
87
|
|
|
84
|
-
Inspect existing code, tests, scripts, and docs only as needed for the current step.
|
|
88
|
+
Inspect existing code, tests, scripts, and docs only as needed for the story plan and current step.
|
|
85
89
|
|
|
86
90
|
## Context reuse rule
|
|
87
91
|
|
|
88
92
|
At the start of a story implementation plan, read all required source context, relevant implementation skills, and all ordered step files once. Build a concise execution context summary and rely on it for the rest of the story.
|
|
89
93
|
|
|
90
|
-
After each
|
|
94
|
+
After each completed step, do not reread unchanged broad context before continuing. For the next step, inspect only:
|
|
91
95
|
|
|
92
96
|
- the next step file if it was not already read
|
|
93
97
|
- files changed by previous steps when needed
|
|
@@ -98,7 +102,7 @@ Reread broad source context only when scope changes, validation fails in a way t
|
|
|
98
102
|
|
|
99
103
|
## Hard start rule
|
|
100
104
|
|
|
101
|
-
If the
|
|
105
|
+
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:
|
|
102
106
|
|
|
103
107
|
1. Stop.
|
|
104
108
|
2. Tell the user the implementation plan is missing or invalid.
|
|
@@ -112,11 +116,11 @@ If required source context is missing:
|
|
|
112
116
|
3. Ask the user to create or restore the missing artifact first.
|
|
113
117
|
4. Do not invent implementation scope from partial context.
|
|
114
118
|
|
|
115
|
-
##
|
|
119
|
+
## Story execution model
|
|
116
120
|
|
|
117
|
-
Work
|
|
121
|
+
Work through the full story plan in filename order, one step at a time, without asking for review or approval between steps.
|
|
118
122
|
|
|
119
|
-
When a valid implementation plan exists, begin implementing the first unapproved step immediately. Do not ask for pre-implementation confirmation before changing code
|
|
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
124
|
|
|
121
125
|
A step file is considered approved only when it contains this section:
|
|
122
126
|
|
|
@@ -129,21 +133,22 @@ A step file is considered approved only when it contains this section:
|
|
|
129
133
|
When starting or resuming a plan:
|
|
130
134
|
|
|
131
135
|
1. Read all step files in filename order.
|
|
132
|
-
2. Identify
|
|
133
|
-
3. Implement
|
|
134
|
-
4. Run the validation named in
|
|
135
|
-
5.
|
|
136
|
-
6. Stop
|
|
136
|
+
2. Identify all step files that are not approved.
|
|
137
|
+
3. Implement the unapproved steps in order, exactly one step at a time.
|
|
138
|
+
4. Run the validation named in each step when practical before moving to the next step.
|
|
139
|
+
5. If a step is validation-only and produces no code changes, record the validation result in the story execution summary and continue.
|
|
140
|
+
6. Stop only for ambiguity, missing required files, conflicting scope, failed validation that cannot be safely fixed within the plan, or material risk.
|
|
141
|
+
7. After the final unapproved step is implemented, report what changed, validation results, and any risks, then wait for explicit story-level approval.
|
|
137
142
|
|
|
138
|
-
Do not
|
|
143
|
+
Do not mark steps approved, commit changes, or move to the next story until the user explicitly approves the completed story implementation.
|
|
139
144
|
|
|
140
|
-
##
|
|
145
|
+
## Story review gate
|
|
141
146
|
|
|
142
|
-
After implementing a
|
|
147
|
+
After implementing all unapproved steps for a story, say that the full story implementation is ready for review and that you are waiting for story-level approval before marking all completed steps approved, committing, and continuing the Epic.
|
|
143
148
|
|
|
144
|
-
If the user asks questions or requests changes,
|
|
149
|
+
If the user asks questions or requests changes, keep working within the same story until those changes are complete. If requested changes exceed the approved story plan, stop and ask whether the plan should be revised.
|
|
145
150
|
|
|
146
|
-
When the user explicitly approves the
|
|
151
|
+
When the user explicitly approves the completed story, update every step file completed in this story by adding or updating:
|
|
147
152
|
|
|
148
153
|
```md
|
|
149
154
|
## Review status
|
|
@@ -153,64 +158,63 @@ When the user explicitly approves the current step, update that step file by add
|
|
|
153
158
|
- Approved at: <ISO-8601 timestamp>
|
|
154
159
|
```
|
|
155
160
|
|
|
156
|
-
Before writing
|
|
161
|
+
Before writing approval markers, identify the current Git user with `git config user.name`; if it is unavailable, use `git config user.email`. Use that value for `Approved by`.
|
|
157
162
|
|
|
158
|
-
After writing
|
|
163
|
+
After writing approval markers, commit only the changes produced by the approved story before continuing. The commit must include all step file approval markers and files intentionally changed while implementing the story. It must not include unrelated local edits or pre-existing worktree changes. Use the files tracked during story execution and a focused `git status --short` check to stage the correct paths. Do not run broad `git diff` investigations or other "what changed?" archaeology unless it is required to avoid committing unrelated changes and the user has approved that extra inspection.
|
|
159
164
|
|
|
160
|
-
Use a Conventional Commits 1.0.0 message that describes the completed
|
|
161
|
-
|
|
162
|
-
Then continue with the next unapproved step immediately, without asking for another pre-implementation confirmation, only after the approval marker is written and the approved step changes are committed.
|
|
163
|
-
|
|
164
|
-
If the user asks to continue without clearly approving the current step, ask for explicit approval before marking it approved, committing, or moving on.
|
|
165
|
+
Use a Conventional Commits 1.0.0 message that describes the completed story. If the commit fails, stop and report the failure instead of continuing.
|
|
165
166
|
|
|
166
167
|
## Epic continuation check
|
|
167
168
|
|
|
168
|
-
|
|
169
|
+
After the approved story implementation is committed:
|
|
169
170
|
|
|
170
171
|
1. Inspect the current Epic's `stories/` folder in filename order.
|
|
171
172
|
2. Identify whether there is a next User Story after the completed story.
|
|
172
|
-
3. If
|
|
173
|
-
4. If a next User Story exists
|
|
174
|
-
5. If
|
|
173
|
+
3. If there is no next User Story in the Epic, tell the user the Epic appears ready and stop.
|
|
174
|
+
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.
|
|
175
176
|
|
|
176
|
-
|
|
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.
|
|
177
178
|
|
|
178
179
|
## Implementation rules
|
|
179
180
|
|
|
180
181
|
Do:
|
|
181
182
|
|
|
182
183
|
- preserve the source story scope and acceptance criteria
|
|
183
|
-
- preserve approved
|
|
184
|
-
- follow
|
|
185
|
-
- keep
|
|
186
|
-
-
|
|
184
|
+
- preserve approved Deep Module boundaries when present
|
|
185
|
+
- follow each step file exactly unless it conflicts with source context
|
|
186
|
+
- keep each step focused on its `## Scope` and `## Files`
|
|
187
|
+
- complete all unapproved steps in order before requesting story review
|
|
188
|
+
- keep work inside the contexts named by the approved steps and technical design
|
|
187
189
|
- use existing project patterns and the relevant skills
|
|
188
|
-
- run focused validation for
|
|
189
|
-
- stop and ask if
|
|
190
|
-
- stop and ask before moving work into an unrelated
|
|
190
|
+
- run focused validation for each step when possible
|
|
191
|
+
- stop and ask if a step is ambiguous, missing required files, or conflicts with the technical design
|
|
192
|
+
- stop and ask before moving work into an unrelated Deep Module unless the approved step or technical design explicitly justifies it
|
|
191
193
|
|
|
192
194
|
Do not:
|
|
193
195
|
|
|
194
|
-
- create a missing plan from scratch
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
- add product scope absent from the story, Epic, feature brief, technical design, or step
|
|
198
|
-
- silently move work into unrelated or unapproved
|
|
196
|
+
- create a missing initial plan from scratch
|
|
197
|
+
- mark any step approved before the user explicitly approves the completed story
|
|
198
|
+
- commit story implementation changes before story approval
|
|
199
|
+
- add product scope absent from the story, Epic, feature brief, technical design, or step files
|
|
200
|
+
- silently move work into unrelated or unapproved Deep Modules
|
|
199
201
|
- continue past a failed validation without reporting it and asking how to proceed
|
|
200
|
-
- leave approved
|
|
202
|
+
- leave approved story changes uncommitted before moving to the next story
|
|
203
|
+
- execute a newly created next-story plan before the user approves that plan
|
|
201
204
|
|
|
202
|
-
## Final response behavior
|
|
205
|
+
## Final response behavior
|
|
203
206
|
|
|
204
|
-
After implementing one
|
|
207
|
+
After implementing all unapproved steps in one story, briefly report:
|
|
205
208
|
|
|
206
|
-
- that the
|
|
207
|
-
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
209
|
+
- that the story implementation finished and is ready for review
|
|
210
|
+
- the story file path and implementation plan folder
|
|
211
|
+
- the steps completed
|
|
212
|
+
- validations run and their results
|
|
213
|
+
- notable risks or follow-up questions, if any
|
|
214
|
+
- that you are waiting for story approval before marking all completed steps approved, committing, and continuing the Epic
|
|
211
215
|
|
|
212
|
-
After approving and committing
|
|
216
|
+
After approving and committing a story implementation, briefly report the commit and the Epic continuation result:
|
|
213
217
|
|
|
214
|
-
- next story
|
|
215
|
-
- next story
|
|
216
|
-
- or Epic appears ready
|
|
218
|
+
- next story is being implemented immediately because it already has a plan
|
|
219
|
+
- next story was planned and is waiting for plan review and approval
|
|
220
|
+
- 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. 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 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/.
|
|
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.
|
|
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.
|
|
11
11
|
|
|
12
12
|
## Pipeline Contract
|
|
13
13
|
|
|
@@ -30,13 +30,15 @@ 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.
|
|
33
34
|
|
|
34
35
|
### What this skill must not do
|
|
35
36
|
|
|
36
|
-
- Do not create or update product visions,
|
|
37
|
+
- Do not create or update product visions, Deep Module Maps, feature briefs, technical designs, UX specs, Epics, User Stories, or production code.
|
|
37
38
|
- Do not modify prior-stage artifacts.
|
|
38
|
-
- Do not reread `docs/
|
|
39
|
+
- Do not reread `docs/deep-module-map.md` by default; trust `technical_design.md` for Deep Module implementation boundaries.
|
|
39
40
|
- 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
42
|
|
|
41
43
|
## Required input
|
|
42
44
|
|
|
@@ -62,7 +64,7 @@ docs/features/<feature-slug>/ux.md # when the story or feature has UI impact
|
|
|
62
64
|
|
|
63
65
|
Also read `docs/product-vision.md` when product fit, target user, scope boundaries, or success signals are ambiguous.
|
|
64
66
|
|
|
65
|
-
When the feature brief or technical design includes
|
|
67
|
+
When the feature brief or technical design includes Deep Module guidance, treat it as required planning context. Deep Modules answer “where does this implementation work belong?” Implementation steps must preserve approved module boundaries.
|
|
66
68
|
|
|
67
69
|
If the story or feature has UI impact and `docs/features/<feature-slug>/ux.md` is missing, stop and ask the user to create the UX spec with `ux-expert` before implementation planning.
|
|
68
70
|
|
|
@@ -132,8 +134,8 @@ Do:
|
|
|
132
134
|
- call out dependencies, sequencing constraints, and risk checkpoints
|
|
133
135
|
- include test, build, lint, or manual validation commands when known
|
|
134
136
|
- include a stop-and-ask condition when the implementation would exceed the technical design
|
|
135
|
-
- keep work inside the approved
|
|
136
|
-
- call out cross-
|
|
137
|
+
- keep work inside the approved Deep Modules unless cross-module work is explicit in the source artifacts
|
|
138
|
+
- call out cross-module ownership and coordination in the relevant step files
|
|
137
139
|
|
|
138
140
|
Do not:
|
|
139
141
|
|
|
@@ -143,7 +145,7 @@ Do not:
|
|
|
143
145
|
- include prerequisite reading, scope confirmation, or repository inspection as step files
|
|
144
146
|
- create task noise such as “review the code” without a specific implementation or validation purpose
|
|
145
147
|
- prescribe architecture that conflicts with the selected architecture skill or technical design
|
|
146
|
-
- move work into unrelated or unapproved
|
|
148
|
+
- move work into unrelated or unapproved Deep Modules; add a stop-and-ask condition instead
|
|
147
149
|
|
|
148
150
|
## Workflow
|
|
149
151
|
|
|
@@ -163,12 +165,12 @@ If the story lacks testable acceptance criteria, stop and ask for the User Story
|
|
|
163
165
|
|
|
164
166
|
### 2. Read feature and technical context
|
|
165
167
|
|
|
166
|
-
From the Epic and feature brief, identify delivery boundaries, user value, and approved
|
|
168
|
+
From the Epic and feature brief, identify delivery boundaries, user value, and approved Deep Module ownership when present.
|
|
167
169
|
|
|
168
170
|
From the technical design, identify:
|
|
169
171
|
|
|
170
172
|
- intended implementation approach
|
|
171
|
-
-
|
|
173
|
+
- Deep Module boundaries, ownership, and any explicit cross-module work
|
|
172
174
|
- affected commands, modules, files, adapters, docs, or tests
|
|
173
175
|
- known risks or unresolved decisions
|
|
174
176
|
- expected validation commands or checks
|
|
@@ -219,7 +221,7 @@ Step-file requirements:
|
|
|
219
221
|
- keep each step small enough for one AI coding pass
|
|
220
222
|
- name every known file, module, command, or artifact to change or validate
|
|
221
223
|
- include explicit out-of-scope boundaries in `Scope` when they prevent scope creep
|
|
222
|
-
- preserve
|
|
224
|
+
- preserve Deep Module boundaries in `Scope`; call out cross-module work explicitly when required
|
|
223
225
|
- include validation commands in `Done when` when known
|
|
224
226
|
- ensure the full set of step files covers every acceptance criterion
|
|
225
227
|
|
|
@@ -236,16 +238,21 @@ Before finishing, verify:
|
|
|
236
238
|
- every step file has clear done conditions
|
|
237
239
|
- validation is explicit enough to prove the story is complete
|
|
238
240
|
- the step files do not add scope beyond the source artifacts
|
|
239
|
-
- the step files preserve approved
|
|
241
|
+
- the step files preserve approved Deep Module boundaries and stop before unrelated module movement
|
|
240
242
|
- architecture and code-quality steps align with the relevant skills
|
|
241
243
|
|
|
242
|
-
|
|
244
|
+
### 6. Request plan review
|
|
243
245
|
|
|
244
|
-
After writing the files,
|
|
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.
|
|
247
|
+
|
|
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.
|
|
249
|
+
|
|
250
|
+
The final planning response must briefly include:
|
|
245
251
|
|
|
246
|
-
- the implementation plan folder path
|
|
247
|
-
- the step file paths created
|
|
248
252
|
- the source User Story path
|
|
249
|
-
-
|
|
253
|
+
- the implementation plan folder path
|
|
254
|
+
- 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
|
|
250
257
|
|
|
251
258
|
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.
|
|
@@ -10,13 +10,15 @@ Use this skill to design and implement software features as independent, end-to-
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Deep Module Compatibility
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Deep Modules answer “where does this implementation work belong?” Command Pattern guidance answers “how is that work structured as command-oriented vertical slices inside the selected module?”
|
|
16
16
|
|
|
17
|
-
When `docs/
|
|
17
|
+
When `docs/deep-module-map.md`, a feature brief, or a technical design names Deep Modules, place each vertical slice inside the relevant Deep Module. The feature-local Command, Handler, Port, Adapter, and Result guidance still applies inside that module boundary.
|
|
18
18
|
|
|
19
|
-
Do not invent new
|
|
19
|
+
Do not invent new Deep Modules during design or implementation. If work does not fit the approved modules, stop and route the decision back to the `deep-module-map-writer` workflow.
|
|
20
|
+
|
|
21
|
+
Do not treat shallow technical buckets such as `utils`, `api`, `db`, or `services` as Deep Modules. A Deep Module should expose a small, stable interface while hiding meaningful implementation complexity; product alignment can help explain why work changes together, but product category alone does not make a module deep.
|
|
20
22
|
|
|
21
23
|
---
|
|
22
24
|
|
|
@@ -37,20 +39,30 @@ Organize by Capability (what the system does) rather than Technical Layer (what
|
|
|
37
39
|
|
|
38
40
|
```text
|
|
39
41
|
/src
|
|
40
|
-
├── /entrypoints
|
|
41
|
-
│ └── /cli
|
|
42
|
-
├── /
|
|
43
|
-
│ └── /
|
|
44
|
-
│
|
|
45
|
-
│
|
|
46
|
-
│
|
|
47
|
-
│
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
│
|
|
51
|
-
└── /
|
|
52
|
-
|
|
53
|
-
|
|
42
|
+
├── /entrypoints # Driving Adapters (The "Edges")
|
|
43
|
+
│ └── /cli # Parses flags/args -> creates Command -> calls Handler
|
|
44
|
+
├── /modules # Deep Modules from docs/deep-module-map.md
|
|
45
|
+
│ └── /module-slug # e.g., "workflow-adoption"
|
|
46
|
+
│ └── /feature-slice # e.g., "archive-project"
|
|
47
|
+
│ ├── command # The Input DTO
|
|
48
|
+
│ ├── handler # The Orchestration logic
|
|
49
|
+
│ ├── ports # Interfaces required by the handler
|
|
50
|
+
│ └── result # The Output DTO/Contract
|
|
51
|
+
├── /shared # Universal logic only
|
|
52
|
+
│ ├── /domain # Global Entities (e.g., "User", "Project")
|
|
53
|
+
│ └── /errors # Global error definitions
|
|
54
|
+
└── /infrastructure # Driven Adapters (Implementation Details)
|
|
55
|
+
├── /persistence # DB implementations of feature Ports
|
|
56
|
+
└── /clients # External API implementations of feature Ports
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Default slice paths:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
/src/modules/<module-slug>/<feature-slice>/command
|
|
63
|
+
/src/modules/<module-slug>/<feature-slice>/handler
|
|
64
|
+
/src/modules/<module-slug>/<feature-slice>/ports
|
|
65
|
+
/src/modules/<module-slug>/<feature-slice>/result
|
|
54
66
|
```
|
|
55
67
|
|
|
56
68
|
---
|
|
@@ -58,7 +70,7 @@ Organize by Capability (what the system does) rather than Technical Layer (what
|
|
|
58
70
|
## 3. Operational Rules for Implementation
|
|
59
71
|
|
|
60
72
|
### Rule 1: Feature Isolation
|
|
61
|
-
A feature folder must never import from another feature folder. If two
|
|
73
|
+
A feature-slice folder must never import from another feature-slice folder. If two slices need the same logic, that logic must be promoted to the owning Deep Module or to /shared when it is truly universal.
|
|
62
74
|
|
|
63
75
|
### Rule 2: Dependency Inversion
|
|
64
76
|
The Handler must never instantiate a database, a file system, or a network client. It must receive its dependencies (via Ports) through its constructor or initialization.
|
|
@@ -83,5 +95,5 @@ Entrypoints (CLI/API) are responsible for Syntactic Validation (is the input the
|
|
|
83
95
|
## 5. Constraint Checklist for Agent Reviews
|
|
84
96
|
- [ ] Zero Leakage: Does the Handler contain CLI-specific code (like fmt.Printf or flags)?
|
|
85
97
|
- [ ] Interface-Driven: Does the Handler depend on a concrete Database class or an Interface (Port)?
|
|
86
|
-
- [ ] Folder Integrity: Does the feature folder contain the Command, Handler, and Ports?
|
|
98
|
+
- [ ] Folder Integrity: Does the Deep Module feature-slice folder contain the Command, Handler, and Ports?
|
|
87
99
|
- [ ] Dependency Direction: Does the infrastructure layer depend on the feature ports, and not the other way around?
|
|
@@ -27,15 +27,17 @@ This skill is backend-focused. It does not cover frontend component architecture
|
|
|
27
27
|
|
|
28
28
|
If a simpler structure preserves clear boundaries, prefer the simpler structure.
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Deep Module compatibility
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Deep Modules answer “where does this implementation work belong?” DDD + Hexagonal answers “how is that module structured internally?”
|
|
33
33
|
|
|
34
|
-
When `docs/
|
|
34
|
+
When `docs/deep-module-map.md`, a feature brief, or a technical design names Deep Modules, treat each selected Deep Module as the default top-level implementation boundary before choosing domain/application/infra placement. Prefer placing domain concepts, use cases, ports, and adapters under the selected module's ownership. If work crosses modules, name the owning module for each part and keep dependencies explicit.
|
|
35
35
|
|
|
36
|
-
A
|
|
36
|
+
A Deep Module may contain `domain`, `application`, and `infra`/adapter concerns, but it is not automatically a DDD Bounded Context, service, package, database boundary, or team boundary. Projects that already use DDD Bounded Contexts may align a Bounded Context one-to-one with a Deep Module when that preserves the model and language.
|
|
37
37
|
|
|
38
|
-
Do not invent new
|
|
38
|
+
Do not invent new Deep Modules during design or implementation. If work does not fit the approved modules, stop and route the decision back to the `deep-module-map-writer` workflow.
|
|
39
|
+
|
|
40
|
+
Do not treat shallow technical buckets such as `utils`, `api`, `db`, or `services` as Deep Modules. A Deep Module should expose a small, stable interface while hiding meaningful implementation complexity; product alignment can help explain why work changes together, but product category alone does not make a module deep.
|
|
39
41
|
|
|
40
42
|
## The layers
|
|
41
43
|
|
|
@@ -130,10 +132,13 @@ Do not create an entity or value object when:
|
|
|
130
132
|
|
|
131
133
|
Use this default mapping when the project does not already have a clearer convention:
|
|
132
134
|
|
|
133
|
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
135
|
+
```text
|
|
136
|
+
/src/modules/<module-slug>/domain/** # Domain concepts and rules
|
|
137
|
+
/src/modules/<module-slug>/application/** # Use cases and application orchestration
|
|
138
|
+
/src/modules/<module-slug>/infra/** # Technical implementations and external integrations
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Entrypoints such as routes, jobs, or handlers should remain thin driving adapters that call application behavior inside the selected Deep Module.
|
|
137
142
|
|
|
138
143
|
## Ports and adapters
|
|
139
144
|
|