@martinffx/atelier 1.4.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +95 -220
  3. package/agents/architect.md +6 -6
  4. package/agents/oracle.md +1 -1
  5. package/agents/{recon.md → sentinel.md} +3 -3
  6. package/dist/atelier.js +167 -26
  7. package/package.json +2 -1
  8. package/skills/atelier-orchestrator/SKILL.md +180 -0
  9. package/skills/atelier-setup/SKILL.md +80 -0
  10. package/skills/code-review/SKILL.md +2 -2
  11. package/skills/code-review/references/reviewers.md +3 -3
  12. package/skills/code-review/references/rq.md +9 -9
  13. package/skills/code-subagents/SKILL.md +44 -75
  14. package/skills/code-subagents/references/batch-reviewer-prompt.md +44 -0
  15. package/skills/code-subagents/references/implementor-prompt.md +10 -11
  16. package/skills/spec-brainstorm/SKILL.md +21 -16
  17. package/skills/spec-finish/SKILL.md +14 -14
  18. package/skills/spec-implement/SKILL.md +42 -42
  19. package/skills/spec-plan/SKILL.md +72 -26
  20. package/skills/spec-plan/references/plan_template.md +77 -0
  21. package/skills/code-subagents/references/code-quality-reviewer-prompt.md +0 -48
  22. package/skills/code-subagents/references/spec-reviewer-prompt.md +0 -62
  23. package/skills/python-architecture/SKILL.md +0 -148
  24. package/skills/python-architecture/references/data-modeling.md +0 -558
  25. package/skills/python-architecture/references/ddd.md +0 -569
  26. package/skills/python-architecture/references/functional-core.md +0 -337
  27. package/skills/python-build-tools/SKILL.md +0 -153
  28. package/skills/python-build-tools/references/basedpyright.md +0 -321
  29. package/skills/python-build-tools/references/ruff.md +0 -225
  30. package/skills/python-build-tools/references/uv.md +0 -257
  31. package/skills/python-fastapi/SKILL.md +0 -184
  32. package/skills/python-fastapi/references/api-design.md +0 -563
  33. package/skills/python-fastapi/references/dependencies.md +0 -479
  34. package/skills/python-fastapi/references/middleware.md +0 -475
  35. package/skills/python-fastapi/references/validation.md +0 -497
  36. package/skills/python-modern-python/SKILL.md +0 -201
  37. package/skills/python-modern-python/references/async.md +0 -76
  38. package/skills/python-modern-python/references/pattern-matching.md +0 -89
  39. package/skills/python-modern-python/references/typing.md +0 -96
  40. package/skills/python-monorepo/SKILL.md +0 -146
  41. package/skills/python-monorepo/references/docker.md +0 -515
  42. package/skills/python-monorepo/references/namespace-packages.md +0 -426
  43. package/skills/python-monorepo/references/workspace-config.md +0 -341
  44. package/skills/python-sqlalchemy/SKILL.md +0 -119
  45. package/skills/python-sqlalchemy/references/async.md +0 -51
  46. package/skills/python-sqlalchemy/references/models.md +0 -67
  47. package/skills/python-sqlalchemy/references/queries.md +0 -57
  48. package/skills/python-temporal/SKILL.md +0 -128
  49. package/skills/python-temporal/references/patterns.md +0 -87
  50. package/skills/python-temporal/references/testing.md +0 -54
  51. package/skills/python-testing/SKILL.md +0 -161
  52. package/skills/python-testing/references/boundaries.md +0 -449
  53. package/skills/python-testing/references/mocking.md +0 -449
  54. package/skills/python-testing/references/pytest.md +0 -524
  55. package/skills/spec-orchestrator/SKILL.md +0 -145
  56. package/skills/typescript-api-design/SKILL.md +0 -396
  57. package/skills/typescript-api-design/references/error-responses.md +0 -469
  58. package/skills/typescript-build-tools/SKILL.md +0 -447
  59. package/skills/typescript-build-tools/references/biome.md +0 -436
  60. package/skills/typescript-build-tools/references/bun.md +0 -432
  61. package/skills/typescript-build-tools/references/turborepo.md +0 -426
  62. package/skills/typescript-build-tools/references/vitest.md +0 -518
  63. package/skills/typescript-drizzle-orm/SKILL.md +0 -398
  64. package/skills/typescript-drizzle-orm/references/cloudflare.md +0 -392
  65. package/skills/typescript-drizzle-orm/references/entity-pattern.md +0 -412
  66. package/skills/typescript-drizzle-orm/references/postgresql.md +0 -191
  67. package/skills/typescript-drizzle-orm/references/repository-pattern.md +0 -479
  68. package/skills/typescript-drizzle-orm/references/sqlite.md +0 -291
  69. package/skills/typescript-dynamodb-toolbox/SKILL.md +0 -370
  70. package/skills/typescript-dynamodb-toolbox/references/entity-layer.md +0 -574
  71. package/skills/typescript-dynamodb-toolbox/references/error-handling.md +0 -495
  72. package/skills/typescript-dynamodb-toolbox/references/modeling.md +0 -332
  73. package/skills/typescript-dynamodb-toolbox/references/repository-layer.md +0 -631
  74. package/skills/typescript-dynamodb-toolbox/references/testing.md +0 -718
  75. package/skills/typescript-dynamodb-toolbox/references/transactions.md +0 -423
  76. package/skills/typescript-effect-ts/SKILL.md +0 -341
  77. package/skills/typescript-effect-ts/references/core.md +0 -412
  78. package/skills/typescript-effect-ts/references/error-handling.md +0 -468
  79. package/skills/typescript-effect-ts/references/resources.md +0 -476
  80. package/skills/typescript-effect-ts/references/schema.md +0 -536
  81. package/skills/typescript-effect-ts/references/services.md +0 -461
  82. package/skills/typescript-fastify/SKILL.md +0 -405
  83. package/skills/typescript-fastify/references/plugins.md +0 -329
  84. package/skills/typescript-fastify/references/typeid.md +0 -315
  85. package/skills/typescript-functional-patterns/SKILL.md +0 -402
  86. package/skills/typescript-functional-patterns/references/adts.md +0 -497
  87. package/skills/typescript-functional-patterns/references/branded-types.md +0 -542
  88. package/skills/typescript-functional-patterns/references/migration-guide.md +0 -695
  89. package/skills/typescript-functional-patterns/references/option-result.md +0 -585
  90. package/skills/typescript-testing/SKILL.md +0 -353
  91. package/skills/typescript-testing/references/mocking.md +0 -675
  92. package/skills/typescript-testing/references/msw.md +0 -852
  93. package/skills/typescript-testing/references/snapshot-testing.md +0 -774
@@ -1,17 +1,16 @@
1
1
  ---
2
2
  name: spec-implement
3
3
  description: >
4
- Execute implementation tasks from an approved plan.json. Use when spec-plan has produced
5
- approved tasks and the human is ready to start coding. Tracks progress via beads
6
- (preferred) or harness-native todos, enforces TDD, reports between batches. Trigger when the user says "implement", "go", "start",
7
- "do it", or after spec-plan completes task creation. Do NOT use without an approved plan —
8
- invoke spec-plan first.
4
+ Execute an approved Spec-backed Plan from plan.json. Uses task tracking when useful, enforces
5
+ TDD, and reports between batches. Trigger when the user says "implement", "go", "start", or
6
+ "do it" after approving a persisted plan. Do NOT use without an approved Spec-backed Plan.
9
7
  user-invocable: true
10
8
  ---
11
9
 
12
10
  # Spec Implement
13
11
 
14
- Pick up tasks. Execute them. Track progress. Report. Stop when blocked.
12
+ Execute the approved Spec-backed Plan. Track progress when it uses tracked tasks. Report. Stop
13
+ when blocked.
15
14
 
16
15
  **Announce at start:** "I'm using the spec-implement skill to execute this plan."
17
16
 
@@ -22,11 +21,11 @@ back to spec-plan. If the design is wrong, go back to spec-brainstorm.
22
21
 
23
22
  Before starting, verify these exist:
24
23
 
25
- 1. **Approved spec** — `docs/specs/YYYY-MM-DD-<feature>/design.md`
26
- 2. **Approved plan** — `docs/specs/YYYY-MM-DD-<feature>/plan.json`
27
- 3. **Tasks created** — In beads, harness todo list, or plan.json task list
28
- 4. **Not on main/master** — Never start implementation on main/master without explicit
29
- user consent. Create a branch or use a git worktree first.
24
+ 1. Approved `docs/specs/YYYY-MM-DD-<feature>/design.md`
25
+ 2. Approved `docs/specs/YYYY-MM-DD-<feature>/plan.json`
26
+ 3. Any tracker entries selected during planning are available
27
+ 4. You are not on main/master without explicit user consent. Create a branch or use a git
28
+ worktree first.
30
29
 
31
30
  If anything is missing, do not proceed. Tell the human what's needed.
32
31
 
@@ -44,20 +43,20 @@ Read plan.json critically before writing code. Look for:
44
43
  If you find concerns, **raise them with the human before starting**. Don't guess. Don't
45
44
  assume. Don't force through blockers.
46
45
 
47
- If no concerns, create task tracking and proceed.
46
+ If no concerns, proceed. Use existing tracker entries when present.
48
47
 
49
48
  ---
50
49
 
51
- ## Step 2: Choose Execution Mode
50
+ ## Step 2: Choose Execution Style
52
51
 
53
- If the human hasn't specified a mode, ask.
52
+ If the human has not specified an execution style, ask.
54
53
 
55
54
  ### Autonomous Mode
56
55
 
57
56
  > "Implement it all. Don't stop until you're done."
58
57
 
59
58
  - Execute all tasks in dependency order
60
- - Track progress: beads `bd update <id> --status in_progress` → `bd close <id>`, or harness todo list
59
+ - Track progress when the Spec-backed Plan has tracker entries
61
60
  - Run type checking / linting continuously
62
61
  - Only stop if blocked
63
62
 
@@ -75,26 +74,30 @@ If the human hasn't specified a mode, ask.
75
74
 
76
75
  - Invoke **code-subagents** for dispatch patterns and review cycle
77
76
  - Fresh subagent per task — no context pollution
78
- - Two-stage review after each: spec compliance, then code quality
77
+ - One combined plan and code-quality review per completed batch
79
78
  - Independent tasks dispatch in parallel, dependent tasks run sequentially
80
79
 
81
80
  Default to batched if the human hasn't expressed a preference.
82
81
 
83
82
  ---
84
83
 
85
- ## Step 3: Execute Tasks
84
+ ## Step 3: Execute the Plan
86
85
 
87
- For each task, follow the plan exactly. Find the next ready task:
86
+ Follow the approved plan exactly.
87
+
88
+ For each task, find the next ready task:
88
89
 
89
90
  **With beads (preferred):**
90
91
  ```bash
91
92
  bd ready --label <feature> --json
92
93
  ```
93
94
 
94
- **With harness todos:**
95
- Check the todo list for the next unblocked task (respecting `depends_on` from plan.json).
95
+ **With harness todos:** Check the todo list for the next unblocked task, respecting
96
+ `depends_on` from plan.json.
96
97
 
97
- Mark it in progress:
98
+ **Without a tracker:** Read the next unblocked task directly from plan.json.
99
+
100
+ When a tracker exists, mark it in progress:
98
101
 
99
102
  **With beads:**
100
103
  ```bash
@@ -105,12 +108,11 @@ bd update <task-id> --status in_progress
105
108
  Update the todo status to in_progress.
106
109
 
107
110
  ### For each task
108
- Read the task's **inputs** first — understand what context you need.
109
- Then read the **description** — know what to build and the constraints.
111
+
112
+ Read the task's **inputs** and **description** first.
110
113
 
111
114
  Write tests that cover the validation criteria before writing implementation.
112
- Invoke `typescript-testing` or `python-testing` (whichever matches the project)
113
- for test design patterns when needed.
115
+ Invoke an installed language-specific testing skill when needed.
114
116
 
115
117
  ```
116
118
  1. Read task inputs and description
@@ -118,23 +120,22 @@ for test design patterns when needed.
118
120
  3. Run them — verify they fail for the RIGHT reason
119
121
  4. Implement minimal code to make tests pass
120
122
  5. Refactor if needed (tests stay green)
121
- 6. Commit (use code-commit for commit message)
122
123
  ```
123
124
 
124
125
  Do NOT write implementation before tests. Do NOT skip "verify it fails." Do NOT write
125
126
  more code than needed to pass the test.
126
127
 
127
- Verify the task against its **validation** — run the tests listed in the task and check
128
- all acceptance criteria are met.
128
+ Verify the task against its **validation** and acceptance criteria.
129
129
 
130
- ### After each task: Review
130
+ ### After each batch: Review and commit
131
131
 
132
- Invoke **code-review** to review the implementation before moving to the next task.
133
- This catches issues early rather than accumulating debt across multiple tasks.
132
+ In Subagent Mode, use **code-subagents** for one combined batch review. In other modes,
133
+ invoke **code-review** once for the batch. Resolve blocking findings and revalidate, then the
134
+ coordinator commits the reviewed batch serially using **code-commit**.
134
135
 
135
136
  ### On completion
136
137
 
137
- Mark the task done:
138
+ When a tracker exists, mark the task done:
138
139
 
139
140
  **With beads:**
140
141
  ```bash
@@ -157,10 +158,8 @@ all implicit requirements without spelling them out.
157
158
  After each batch:
158
159
 
159
160
  ```
160
- Completed: Tasks T1-T3
161
- - T1: UserEntity with validation ✓
162
- - T2: UserEntity tests (6 passing) ✓
163
- - T3: UserRepository ✓
161
+ Completed: [tasks]
162
+ - [completed work]
164
163
 
165
164
  Test output: 6 passed, 0 failed
166
165
  Type check: clean
@@ -236,21 +235,21 @@ If the design was wrong:
236
235
  - Tasks can't be completed as specified
237
236
 
238
237
  **Return to spec-brainstorm when:**
239
- - Fundamental approach needs rethinking
240
- - Implementation reveals design is wrong
238
+ - The fundamental approach needs rethinking
239
+ - Implementation reveals the design is wrong
241
240
 
242
241
  ---
243
242
 
244
243
  ## Completion
245
244
 
246
- When all tasks are done, verify and present the work.
245
+ When all planned work is done, verify and present it.
247
246
 
248
247
  ### Verification checklist
249
248
 
250
249
  1. **Run full test suite** — all tests must pass, not just the new ones
251
250
  2. **Run type check / lint** — clean output, no new warnings
252
251
  3. **Invoke code-review** — full review of all changes
253
- 4. **Verify tasks closed** — `bd list --label <feature> --json` (beads) or check harness todo list — all tasks must be done
252
+ 4. **Verify completion** — close every tracker entry when tracking is used
254
253
  5. **Diff review** — review the full diff against main/master. Look for:
255
254
  - Files that changed but shouldn't have
256
255
  - Debug code or temporary hacks left behind
@@ -263,6 +262,7 @@ Present to the human:
263
262
  ```
264
263
  ## Feature Complete: {feature name}
265
264
 
265
+ **Plan:** Spec-backed Plan
266
266
  **Tasks:** {completed} / {total}
267
267
  **Tests:** {new tests added}, {total passing}
268
268
  **Files:** {created}, {modified}
@@ -281,7 +281,7 @@ Present to the human:
281
281
 
282
282
  ### Next steps
283
283
 
284
- After all tasks complete and verified, the next step is **spec-finish**.
284
+ After all planned work is complete and verified, the next step is **spec-finish**.
285
285
 
286
286
  > "Implementation complete. Ready to validate, review, and prepare for PR?"
287
287
 
@@ -293,5 +293,5 @@ Offer the human their options:
293
293
 
294
294
  Don't choose for them. Present options and wait.
295
295
 
296
- If validation finds bugs, loop back to implement. See **spec-orchestrator**
296
+ If validation finds bugs, loop back to implement. See **atelier-orchestrator**
297
297
  for iteration patterns.
@@ -1,22 +1,64 @@
1
1
  ---
2
2
  name: spec-plan
3
3
  description: >
4
- Write implementation plans, iterate with human annotations, create structured tasks. Use
5
- when there's an approved spec (design.md) and the next step is breaking it into implementable
6
- work. Trigger when the user says "write a plan", "plan this out", "break this down",
7
- "I added notes" (annotation cycle), or after spec-brainstorm completes. Also trigger for
8
- "create tasks" or "add to beads". Do NOT use for research (use spec-brainstorm) or
9
- execution (use spec-implement).
4
+ Write approved implementation plans in one of two modes. Explicit Inline mode creates a
5
+ conversational plan for bounded work. Spec-backed Plan converts an approved design.md into
6
+ plan.json and optional tracked tasks. Trigger after atelier-orchestrator selects a mode, when
7
+ the user asks to plan work, or after spec-brainstorm completes. Direct invocation without a
8
+ selected mode uses Spec-backed Plan. Do NOT use for research or execution.
10
9
  user-invocable: true
11
10
  ---
12
11
 
13
12
  # Spec Plan
14
13
 
15
- Write a plan so clear that any engineer can follow it. Let the human tear it apart
16
- through annotation cycles until it's right. Then create structured tasks. This skill does
17
- not write code.
14
+ Write a proportional plan so clear that any engineer can follow it. The selected planning
15
+ mode determines whether the plan stays in the conversation or becomes a persisted structured
16
+ artifact. This skill does not write code.
18
17
 
19
- ## Artifacts
18
+ `atelier-orchestrator` owns automatic classification and the human may override it. When this
19
+ skill is directly invoked without a selected mode, use Spec-backed Plan. If Inline planning
20
+ reveals substantial design or coordination needs, ask the human whether to switch to a
21
+ Spec-backed Plan before presenting the plan.
22
+
23
+ ## Outputs
24
+
25
+ ### Inline Plan (when explicitly selected)
26
+
27
+ No repository artifact and no task tracker entry. Read
28
+ `references/plan_template.md` and present the plan in conversation using its
29
+ structure. Omit optional subsections rather than rendering empty headings.
30
+
31
+ ## Inline Plan Workflow
32
+
33
+ Read enough of the codebase to identify the current behavior, boundaries, affected files,
34
+ and concrete validation. Keep the plan proportional to implementation risk. Fill the
35
+ template with confirmed, file-and-symbol-level details, including cross-file wiring or
36
+ ordering constraints where they matter.
37
+
38
+ Do not manufacture phases, task IDs, dependency graphs, acceptance matrices, `design.md`,
39
+ `plan.json`, Beads issues, or harness todos. The conversation is the plan artifact.
40
+
41
+ **Tell the human:** "Inline Plan ready for review."
42
+
43
+ **STOP. Wait for human review.**
44
+
45
+ If the human requests any adjustment, apply it to the working plan and re-present the
46
+ entire updated plan using `references/plan_template.md`. Include unchanged sections so
47
+ the human reviews one coherent plan. Never respond with only the changed text, an
48
+ affected section, a summary, or an acknowledgement. A one-word correction is still a
49
+ plan revision: incorporate it and present the complete plan again.
50
+
51
+ Every revision invalidates prior approval. End each revised plan with "Inline Plan ready
52
+ for review." and stop until the human explicitly approves that complete version. Do not
53
+ implement until the current plan is approved.
54
+
55
+ Approval authorizes implementation. Implement the approved conversational plan directly using
56
+ the Inline execution safeguards in `atelier-orchestrator`. Do not invoke `spec-implement`,
57
+ `spec-finish`, `code-subagents`, or task tracking.
58
+
59
+ Do not create planning artifacts or tracker entries during this handoff.
60
+
61
+ ## Spec-backed Plan Artifacts
20
62
 
21
63
  ```
22
64
  docs/specs/YYYY-MM-DD-<feature-name>/
@@ -103,7 +145,7 @@ structured plan.json when approved.
103
145
 
104
146
  ---
105
147
 
106
- ## Step 1: Write the Plan Draft
148
+ ## Spec-backed Step 1: Write the Plan Draft
107
149
 
108
150
  Read the approved design.md, then write a plan as a markdown section in the same
109
151
  document or as a separate draft.
@@ -146,7 +188,7 @@ Each task should take 15-60 minutes. If larger, decompose into smaller tasks.
146
188
 
147
189
  ---
148
190
 
149
- ## Step 2: The Annotation Cycle
191
+ ## Spec-backed Step 2: The Annotation Cycle
150
192
 
151
193
  The human annotates the plan draft directly — adding corrections, rejections, domain
152
194
  knowledge, business constraints, or "remove this entirely."
@@ -178,14 +220,15 @@ explicitly approves it.
178
220
 
179
221
  ---
180
222
 
181
- ## Step 3: Create Structured Tasks
223
+ ## Spec-backed Step 3: Create Structured Tasks
182
224
 
183
225
  When the human approves — "looks good", "approved", "create tasks" — convert the plan
184
226
  into plan.json.
185
227
 
186
228
  ### Task Tracking
187
229
 
188
- **Preferred:** Use beads for dependency-aware task tracking:
230
+ Create tracker entries when they add execution value. For multi-task or dependency-ordered
231
+ work, **prefer beads**:
189
232
  ```bash
190
233
  # Create epic and tasks with dependencies
191
234
  bd create "Feature: {name}" --label {feature} --type epic
@@ -193,15 +236,15 @@ bd create "Task: {name}" --label {feature} --type task --epic {epic-id}
193
236
  bd dep add --type blocks {task-a} {task-b} # task-a blocks task-b
194
237
  ```
195
238
 
196
- **Fallback:** If beads is not available, use the harness's native todo system.
197
- The harness provides todo management — use it directly.
239
+ If tracking is useful and beads is unavailable, use the harness's native todo system.
240
+ Do not duplicate a simple plan.json into a tracker merely to satisfy the workflow.
198
241
 
199
242
  ### What to do
200
243
 
201
244
  1. Convert the annotated plan draft into structured plan.json
202
245
  2. Each task maps to a unit with inputs, description, files, and validation
203
246
  3. Dependencies between tasks are captured in `depends_on` fields
204
- 4. Create tasks using beads (preferred) or harness todos:
247
+ 4. When execution benefits from task tracking, create tasks using beads or harness todos:
205
248
  - Create an epic/feature container
206
249
  - Add tasks per phase with clear descriptions
207
250
  - Mark dependencies between tasks (beads: `bd dep add`, harness: manual ordering)
@@ -221,11 +264,12 @@ After creating plan.json, verify:
221
264
 
222
265
  ## Handoff
223
266
 
224
- When plan.json is created and tasks exist, the next step is **spec-implement**.
267
+ When plan.json is created, and any useful tracker entries have been created, the next
268
+ step is **spec-implement** in Spec-backed mode.
225
269
 
226
270
  Tell the human:
227
271
 
228
- > "Plan is approved and tasks are created. Ready to start implementation?"
272
+ > "Spec-backed Plan is approved. Ready to start implementation?"
229
273
  >
230
274
  > **Autonomous** — I'll work through all tasks, only stopping if blocked.
231
275
  >
@@ -234,15 +278,17 @@ Tell the human:
234
278
  Do not start implementing. That's spec-implement's job.
235
279
 
236
280
  If implementation reveals missing tasks, update plan.json. If design is wrong,
237
- loop back to research. See **spec-orchestrator** for iteration patterns.
281
+ loop back to research. See **atelier-orchestrator** for iteration patterns.
238
282
 
239
283
  ---
240
284
 
241
285
  ## Quick Reference
242
286
 
243
- | Human says | You do |
244
- |------------|--------|
245
- | "write a plan" / "plan this" | Step 1 → write plan draft, stop |
246
- | "I added notes" | Re-read, address all notes, do NOT implement |
247
- | "don't implement yet" | Update plan only |
248
- | "looks good" / "approved" / "create tasks" | Step 3 → create plan.json + task tracking |
287
+ | Selected mode / human says | You do |
288
+ |----------------------------|--------|
289
+ | Inline / "write a plan" | Present the complete Inline Plan from the template, stop |
290
+ | Inline / "I added notes" | Apply the changes, re-present the entire updated Inline Plan, and stop for renewed approval |
291
+ | Inline / "approved" | Implement the approved conversational plan directly; create no artifacts |
292
+ | Spec-backed / "write a plan" | Write the plan draft from design.md, stop |
293
+ | Spec-backed / "I added notes" | Re-read, address all notes, do NOT implement |
294
+ | Spec-backed / "approved" / "create tasks" | Create plan.json and useful task tracking |
@@ -0,0 +1,77 @@
1
+ ## Context
2
+
3
+ Describe why the change is needed and summarize the relevant current behavior.
4
+ Include repository facts, constraints, dependencies, and prior work that the
5
+ implementation must preserve. Contrast the current and desired states when useful.
6
+
7
+ Write enough for an engineer unfamiliar with the immediate problem to understand
8
+ the plan. Do not repeat implementation steps that belong under Changes.
9
+
10
+ ### Decisions
11
+
12
+ Include this subsection when the plan depends on meaningful implementation choices.
13
+
14
+ Record the chosen architecture, interfaces, ownership boundaries, data flow,
15
+ execution order, or technology choices. Explain why the selected approach fits
16
+ the existing codebase. Mention rejected alternatives only when doing so prevents
17
+ the implementer from revisiting a settled choice.
18
+
19
+ Omit this subsection when the implementation is mechanical or the repository
20
+ already dictates the approach.
21
+
22
+ ### Scope
23
+
24
+ Include this subsection when the boundaries of the work are not obvious or when
25
+ closely related work must be explicitly excluded.
26
+
27
+ State what is in scope and out of scope. Identify behavior that must remain
28
+ unchanged and any adjacent systems, cleanup, or follow-up work that this plan
29
+ does not address.
30
+
31
+ Omit this subsection when the Context and Changes already make the boundaries
32
+ unambiguous.
33
+
34
+ ## Changes
35
+
36
+ Describe the implementation in dependency order. Use a numbered list when there
37
+ is more than one change.
38
+
39
+ For each change:
40
+
41
+ - Start with the exact file path and a concise description.
42
+ - Name the affected functions, types, routes, configuration keys, or other symbols.
43
+ - Explain the current behavior when it matters to the change.
44
+ - Describe the required behavior and important implementation constraints.
45
+ - Explain cross-file wiring, data flow, error handling, and execution order where relevant.
46
+ - Identify files to create, modify, rename, or delete.
47
+ - Mention corresponding test changes alongside the behavior they verify.
48
+ - Use a short signature or pseudocode only when it removes material ambiguity.
49
+
50
+ The plan should provide enough detail for another engineer to implement without
51
+ rediscovering the approach, while avoiding line-by-line coding instructions.
52
+
53
+ ## Known Limitations
54
+
55
+ Include this section only when the planned implementation intentionally leaves
56
+ limitations, risks, unsupported cases, deferred cleanup, or follow-up work.
57
+
58
+ Explain the practical impact of each limitation. Do not use this section for
59
+ unresolved decisions that must be settled before implementation.
60
+
61
+ Omit the entire section when there are no known limitations.
62
+
63
+ ## Verification
64
+
65
+ List the concrete checks required after implementation.
66
+
67
+ For each check:
68
+
69
+ - Provide the exact command or manual action when known.
70
+ - State the expected outcome or invariant being verified.
71
+ - Include focused tests for changed behavior.
72
+ - Include broader build, test, lint, or type-check commands appropriate to the repository.
73
+ - Include repository searches or state checks when confirming removals, migrations,
74
+ conflict resolution, generated files, or absence of stale references.
75
+ - Note any verification that cannot be performed locally and why.
76
+
77
+ Prefer the smallest focused check first, followed by broader regression checks.
@@ -1,48 +0,0 @@
1
- # Code Quality Reviewer Prompt Template
2
-
3
- Dispatch after the spec compliance review passes (✅). Verifies the implementation is
4
- well-built — clean, tested, maintainable.
5
-
6
- **Only dispatch after spec compliance is confirmed.**
7
-
8
- ## Template
9
-
10
- ```
11
- You are reviewing code quality for Task {TASK_ID}: {TASK_NAME}
12
-
13
- ## What Was Implemented
14
-
15
- {From implementer's report — what they built}
16
-
17
- ## Requirements Reference
18
-
19
- Task {TASK_ID} from {PLAN_FILE_PATH}
20
-
21
- ## Diff Range
22
-
23
- Base: {BASE_SHA} (commit before task)
24
- Head: {HEAD_SHA} (current commit)
25
-
26
- ## Your Job
27
-
28
- Review the implementation for quality:
29
-
30
- 1. Does the code follow existing patterns and conventions in the codebase?
31
- 2. Are tests meaningful (not just asserting true or testing mocks)?
32
- 3. Is there unnecessary complexity?
33
- 4. Are edge cases handled?
34
- 5. Is the code clean (no dead code, no unnecessary comments, clear naming)?
35
- 6. Are the right things tested at the right boundaries (unit vs integration)?
36
-
37
- ## Issue Severity
38
-
39
- - **Critical** — Blocks merge. Bugs, security issues, broken tests, missing error handling.
40
- - **Important** — Should fix. Magic numbers, unclear naming, missing edge cases, poor test design.
41
- - **Minor** — Nice to have. Style preferences, minor refactors, documentation suggestions.
42
-
43
- ## Report
44
-
45
- - **Strengths:** What was done well
46
- - **Issues:** List with severity (Critical / Important / Minor) and file:line references
47
- - **Assessment:** Approved, Approved with minor issues, or Changes requested
48
- ```
@@ -1,62 +0,0 @@
1
- # Spec Compliance Reviewer Prompt Template
2
-
3
- Dispatch after the implementer completes a task. Verifies the implementation matches what
4
- was specified — nothing more, nothing less.
5
-
6
- **Dispatch this BEFORE the code quality review.**
7
-
8
- ## Template
9
-
10
- ```
11
- You are reviewing whether an implementation matches its specification.
12
-
13
- ## What Was Requested
14
-
15
- {FULL TEXT of task requirements from plan.json}
16
-
17
- ## What Implementer Claims They Built
18
-
19
- {From implementer's report}
20
-
21
- ## CRITICAL: Do Not Trust the Report
22
-
23
- The implementer's report may be incomplete, inaccurate, or optimistic. You MUST verify
24
- everything independently.
25
-
26
- **DO NOT:**
27
- - Take their word for what they implemented
28
- - Trust their claims about completeness
29
- - Accept their interpretation of requirements
30
-
31
- **DO:**
32
- - Read the actual code they wrote
33
- - Compare actual implementation to requirements line by line
34
- - Check for missing pieces they claimed to implement
35
- - Look for extra features they didn't mention
36
-
37
- ## Your Job
38
-
39
- Read the implementation code and verify:
40
-
41
- **Missing requirements:**
42
- - Did they implement everything that was requested?
43
- - Are there requirements they skipped or missed?
44
- - Did they claim something works but didn't actually implement it?
45
-
46
- **Extra/unneeded work:**
47
- - Did they build things that weren't requested?
48
- - Did they over-engineer or add unnecessary features?
49
- - Did they add "nice to haves" that weren't in spec?
50
-
51
- **Misunderstandings:**
52
- - Did they interpret requirements differently than intended?
53
- - Did they solve the wrong problem?
54
- - Did they implement the right feature but the wrong way?
55
-
56
- **Verify by reading code, not by trusting the report.**
57
-
58
- ## Report
59
-
60
- - ✅ Spec compliant (if everything matches after code inspection)
61
- - ❌ Issues found: [list specifically what's missing or extra, with file:line references]
62
- ```