@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.
- package/CHANGELOG.md +38 -0
- package/README.md +95 -220
- package/agents/architect.md +6 -6
- package/agents/oracle.md +1 -1
- package/agents/{recon.md → sentinel.md} +3 -3
- package/dist/atelier.js +167 -26
- package/package.json +2 -1
- package/skills/atelier-orchestrator/SKILL.md +180 -0
- package/skills/atelier-setup/SKILL.md +80 -0
- package/skills/code-review/SKILL.md +2 -2
- package/skills/code-review/references/reviewers.md +3 -3
- package/skills/code-review/references/rq.md +9 -9
- package/skills/code-subagents/SKILL.md +44 -75
- package/skills/code-subagents/references/batch-reviewer-prompt.md +44 -0
- package/skills/code-subagents/references/implementor-prompt.md +10 -11
- package/skills/spec-brainstorm/SKILL.md +21 -16
- package/skills/spec-finish/SKILL.md +14 -14
- package/skills/spec-implement/SKILL.md +42 -42
- package/skills/spec-plan/SKILL.md +72 -26
- package/skills/spec-plan/references/plan_template.md +77 -0
- package/skills/code-subagents/references/code-quality-reviewer-prompt.md +0 -48
- package/skills/code-subagents/references/spec-reviewer-prompt.md +0 -62
- package/skills/python-architecture/SKILL.md +0 -148
- package/skills/python-architecture/references/data-modeling.md +0 -558
- package/skills/python-architecture/references/ddd.md +0 -569
- package/skills/python-architecture/references/functional-core.md +0 -337
- package/skills/python-build-tools/SKILL.md +0 -153
- package/skills/python-build-tools/references/basedpyright.md +0 -321
- package/skills/python-build-tools/references/ruff.md +0 -225
- package/skills/python-build-tools/references/uv.md +0 -257
- package/skills/python-fastapi/SKILL.md +0 -184
- package/skills/python-fastapi/references/api-design.md +0 -563
- package/skills/python-fastapi/references/dependencies.md +0 -479
- package/skills/python-fastapi/references/middleware.md +0 -475
- package/skills/python-fastapi/references/validation.md +0 -497
- package/skills/python-modern-python/SKILL.md +0 -201
- package/skills/python-modern-python/references/async.md +0 -76
- package/skills/python-modern-python/references/pattern-matching.md +0 -89
- package/skills/python-modern-python/references/typing.md +0 -96
- package/skills/python-monorepo/SKILL.md +0 -146
- package/skills/python-monorepo/references/docker.md +0 -515
- package/skills/python-monorepo/references/namespace-packages.md +0 -426
- package/skills/python-monorepo/references/workspace-config.md +0 -341
- package/skills/python-sqlalchemy/SKILL.md +0 -119
- package/skills/python-sqlalchemy/references/async.md +0 -51
- package/skills/python-sqlalchemy/references/models.md +0 -67
- package/skills/python-sqlalchemy/references/queries.md +0 -57
- package/skills/python-temporal/SKILL.md +0 -128
- package/skills/python-temporal/references/patterns.md +0 -87
- package/skills/python-temporal/references/testing.md +0 -54
- package/skills/python-testing/SKILL.md +0 -161
- package/skills/python-testing/references/boundaries.md +0 -449
- package/skills/python-testing/references/mocking.md +0 -449
- package/skills/python-testing/references/pytest.md +0 -524
- package/skills/spec-orchestrator/SKILL.md +0 -145
- package/skills/typescript-api-design/SKILL.md +0 -396
- package/skills/typescript-api-design/references/error-responses.md +0 -469
- package/skills/typescript-build-tools/SKILL.md +0 -447
- package/skills/typescript-build-tools/references/biome.md +0 -436
- package/skills/typescript-build-tools/references/bun.md +0 -432
- package/skills/typescript-build-tools/references/turborepo.md +0 -426
- package/skills/typescript-build-tools/references/vitest.md +0 -518
- package/skills/typescript-drizzle-orm/SKILL.md +0 -398
- package/skills/typescript-drizzle-orm/references/cloudflare.md +0 -392
- package/skills/typescript-drizzle-orm/references/entity-pattern.md +0 -412
- package/skills/typescript-drizzle-orm/references/postgresql.md +0 -191
- package/skills/typescript-drizzle-orm/references/repository-pattern.md +0 -479
- package/skills/typescript-drizzle-orm/references/sqlite.md +0 -291
- package/skills/typescript-dynamodb-toolbox/SKILL.md +0 -370
- package/skills/typescript-dynamodb-toolbox/references/entity-layer.md +0 -574
- package/skills/typescript-dynamodb-toolbox/references/error-handling.md +0 -495
- package/skills/typescript-dynamodb-toolbox/references/modeling.md +0 -332
- package/skills/typescript-dynamodb-toolbox/references/repository-layer.md +0 -631
- package/skills/typescript-dynamodb-toolbox/references/testing.md +0 -718
- package/skills/typescript-dynamodb-toolbox/references/transactions.md +0 -423
- package/skills/typescript-effect-ts/SKILL.md +0 -341
- package/skills/typescript-effect-ts/references/core.md +0 -412
- package/skills/typescript-effect-ts/references/error-handling.md +0 -468
- package/skills/typescript-effect-ts/references/resources.md +0 -476
- package/skills/typescript-effect-ts/references/schema.md +0 -536
- package/skills/typescript-effect-ts/references/services.md +0 -461
- package/skills/typescript-fastify/SKILL.md +0 -405
- package/skills/typescript-fastify/references/plugins.md +0 -329
- package/skills/typescript-fastify/references/typeid.md +0 -315
- package/skills/typescript-functional-patterns/SKILL.md +0 -402
- package/skills/typescript-functional-patterns/references/adts.md +0 -497
- package/skills/typescript-functional-patterns/references/branded-types.md +0 -542
- package/skills/typescript-functional-patterns/references/migration-guide.md +0 -695
- package/skills/typescript-functional-patterns/references/option-result.md +0 -585
- package/skills/typescript-testing/SKILL.md +0 -353
- package/skills/typescript-testing/references/mocking.md +0 -675
- package/skills/typescript-testing/references/msw.md +0 -852
- 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
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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.
|
|
26
|
-
2.
|
|
27
|
-
3.
|
|
28
|
-
4.
|
|
29
|
-
|
|
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,
|
|
46
|
+
If no concerns, proceed. Use existing tracker entries when present.
|
|
48
47
|
|
|
49
48
|
---
|
|
50
49
|
|
|
51
|
-
## Step 2: Choose Execution
|
|
50
|
+
## Step 2: Choose Execution Style
|
|
52
51
|
|
|
53
|
-
If the human
|
|
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
|
|
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
|
-
-
|
|
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
|
|
84
|
+
## Step 3: Execute the Plan
|
|
86
85
|
|
|
87
|
-
|
|
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
|
-
|
|
95
|
+
**With harness todos:** Check the todo list for the next unblocked task, respecting
|
|
96
|
+
`depends_on` from plan.json.
|
|
96
97
|
|
|
97
|
-
|
|
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
|
-
|
|
109
|
-
|
|
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
|
|
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**
|
|
128
|
-
all acceptance criteria are met.
|
|
128
|
+
Verify the task against its **validation** and acceptance criteria.
|
|
129
129
|
|
|
130
|
-
### After each
|
|
130
|
+
### After each batch: Review and commit
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
|
|
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
|
-
|
|
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:
|
|
161
|
-
-
|
|
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
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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 **
|
|
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
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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.
|
|
16
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
197
|
-
|
|
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.
|
|
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
|
|
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
|
|
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 **
|
|
281
|
+
loop back to research. See **atelier-orchestrator** for iteration patterns.
|
|
238
282
|
|
|
239
283
|
---
|
|
240
284
|
|
|
241
285
|
## Quick Reference
|
|
242
286
|
|
|
243
|
-
|
|
|
244
|
-
|
|
245
|
-
| "write a plan"
|
|
246
|
-
| "I added notes" |
|
|
247
|
-
|
|
|
248
|
-
|
|
|
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
|
-
```
|