@martinffx/atelier 3.1.0 → 3.1.2
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 +14 -0
- package/README.md +8 -4
- package/package.json +1 -1
- package/skills/atelier-orchestrator/SKILL.md +19 -9
- package/skills/spec-brainstorm/SKILL.md +18 -9
- package/skills/spec-implement/SKILL.md +24 -15
- package/skills/spec-plan/SKILL.md +32 -35
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
- **breaking:** rename the `recon` agent to `sentinel`. Existing Atelier configuration is migrated automatically and legacy generated files are removed during the next command.
|
|
6
6
|
|
|
7
|
+
## [3.1.2](https://github.com/martinffx/atelier/compare/v3.1.1...v3.1.2) (2026-08-09)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* **spec-implement:** persist missing plan artifacts ([8391bb6](https://github.com/martinffx/atelier/commit/8391bb62726ed189e1e745a7af69e385fa74c991))
|
|
13
|
+
|
|
14
|
+
## [3.1.1](https://github.com/martinffx/atelier/compare/v3.1.0...v3.1.1) (2026-08-09)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **skills:** stop planning skills at artifact boundaries ([2626d8c](https://github.com/martinffx/atelier/commit/2626d8cd8ad2c18a3dc238f7491b9f231da143b7))
|
|
20
|
+
|
|
7
21
|
## [3.1.0](https://github.com/martinffx/atelier/compare/v3.0.2...v3.1.0) (2026-08-09)
|
|
8
22
|
|
|
9
23
|
|
package/README.md
CHANGED
|
@@ -39,8 +39,10 @@ flowchart TD
|
|
|
39
39
|
|
|
40
40
|
O -->|Bounded work| IP[spec-plan: Inline Plan]
|
|
41
41
|
IP --> IA{Developer approval}
|
|
42
|
-
IA -->|Approved|
|
|
42
|
+
IA -->|Approved| IS[Stop]
|
|
43
43
|
IA -.->|Revise| IP
|
|
44
|
+
|
|
45
|
+
IS -->|New implementation request| I[Implement directly]
|
|
44
46
|
I --> V[Validate]
|
|
45
47
|
V -.->|Issues found| I
|
|
46
48
|
IP -.->|Needs brainstorming| B
|
|
@@ -48,14 +50,16 @@ flowchart TD
|
|
|
48
50
|
|
|
49
51
|
O -->|Substantial work| B[spec-brainstorm]
|
|
50
52
|
B --> D[design.md]
|
|
51
|
-
D -->
|
|
53
|
+
D --> BS[Stop]
|
|
54
|
+
BS -->|New planning request| G[oracle-grill-me]
|
|
52
55
|
G --> P[spec-plan]
|
|
53
56
|
G -.->|Refine design| D
|
|
54
57
|
P --> SA{Developer approval}
|
|
55
58
|
SA -->|Approved| J[plan.json]
|
|
56
59
|
SA -.->|Revise plan| P
|
|
57
60
|
SA -.->|Revisit design| B
|
|
58
|
-
J -->
|
|
61
|
+
J --> PS[Stop]
|
|
62
|
+
PS -->|New implementation request| SI[spec-implement]
|
|
59
63
|
SI --> CR[code-review]
|
|
60
64
|
CR --> F[spec-finish]
|
|
61
65
|
F --> PR[code-pull-request]
|
|
@@ -64,7 +68,7 @@ flowchart TD
|
|
|
64
68
|
F -.->|Issues found| SI
|
|
65
69
|
```
|
|
66
70
|
|
|
67
|
-
The workflow is deliberately harder to rush than an unstructured agent session.
|
|
71
|
+
The workflow is deliberately harder to rush than an unstructured agent session. `spec-brainstorm` writes only `design.md`, and `spec-plan` writes only its selected plan output. Each skill then stops. The developer starts planning and implementation with separate requests. This records decisions when they need to survive the conversation, keeps implementation tied to an approved plan, and requires evidence before calling the work complete.
|
|
68
72
|
|
|
69
73
|
## Grill the idea
|
|
70
74
|
|
package/package.json
CHANGED
|
@@ -52,8 +52,9 @@ returning or persisting that prose, apply **humanizer** in embedded mode.
|
|
|
52
52
|
Use for bounded, well-understood work, including ordinary features, bug fixes, refactors,
|
|
53
53
|
configuration changes, and multi-file changes. Route to **spec-plan** with Inline mode
|
|
54
54
|
explicitly selected. It presents a concise plan in conversation, creates no planning artifacts
|
|
55
|
-
or tracker entries, and stops for approval.
|
|
56
|
-
|
|
55
|
+
or tracker entries, and stops for approval. Approval ends the `spec-plan` invocation. A later,
|
|
56
|
+
explicit implementation request may implement the plan directly; do not invoke
|
|
57
|
+
`spec-implement`, `spec-finish`, or `code-subagents` for Inline work.
|
|
57
58
|
|
|
58
59
|
Direct Inline implementation must:
|
|
59
60
|
|
|
@@ -83,14 +84,17 @@ design.md ← spec-brainstorm (requirements + research + architecture)
|
|
|
83
84
|
plan.json ← spec-plan (tasks, dependencies)
|
|
84
85
|
```
|
|
85
86
|
|
|
87
|
+
Each skill produces only its declared output and stops. The human starts the next phase with a
|
|
88
|
+
separate request.
|
|
89
|
+
|
|
86
90
|
Do not infer substantial work from size alone. If no concrete signal applies, use Inline Plan.
|
|
87
91
|
|
|
88
92
|
## Skill Routing
|
|
89
93
|
|
|
90
94
|
```
|
|
91
95
|
atelier-orchestrator → Select and announce planning mode
|
|
92
|
-
spec-brainstorm → Spec-backed discovery + design → design.md
|
|
93
|
-
spec-plan → Inline
|
|
96
|
+
spec-brainstorm → Spec-backed discovery + design → only design.md → stop
|
|
97
|
+
spec-plan → Inline conversation or only plan.json → stop
|
|
94
98
|
spec-implement → Execute approved Spec-backed Plans; track tasks
|
|
95
99
|
spec-finish → Post-implementation validation for Spec-backed Plans
|
|
96
100
|
code-subagents → Parallel dispatch for Spec-backed Plan tasks
|
|
@@ -99,13 +103,16 @@ code-subagents → Parallel dispatch for Spec-backed Plan tasks
|
|
|
99
103
|
### Ordinary bounded work
|
|
100
104
|
|
|
101
105
|
```
|
|
102
|
-
spec-plan (Inline mode) → approval →
|
|
106
|
+
spec-plan (Inline mode) → approval → STOP
|
|
107
|
+
new implementation request → implement directly
|
|
103
108
|
```
|
|
104
109
|
|
|
105
110
|
### Substantial work or explicit spec request
|
|
106
111
|
|
|
107
112
|
```
|
|
108
|
-
spec-brainstorm →
|
|
113
|
+
spec-brainstorm → design.md → STOP
|
|
114
|
+
new spec-plan request → plan.json → STOP
|
|
115
|
+
new spec-implement request → implementation → spec-finish
|
|
109
116
|
```
|
|
110
117
|
|
|
111
118
|
### Truly mechanical change
|
|
@@ -117,14 +124,17 @@ choice to review. If any choice exists, use an Inline Plan.
|
|
|
117
124
|
|
|
118
125
|
| After completing... | Next step |
|
|
119
126
|
|---------------------|-----------|
|
|
120
|
-
| spec-brainstorm | spec-plan
|
|
121
|
-
| approved Inline Plan |
|
|
122
|
-
| approved Spec-backed Plan | spec-implement
|
|
127
|
+
| spec-brainstorm | Stop; wait for a separate spec-plan request |
|
|
128
|
+
| approved Inline Plan | Stop; wait for a separate implementation request |
|
|
129
|
+
| approved Spec-backed Plan | Stop; wait for a separate spec-implement request |
|
|
123
130
|
| spec-implement | spec-finish |
|
|
124
131
|
|
|
125
132
|
Do not begin implementation without an approved written plan. Spec-backed work must not
|
|
126
133
|
jump from research to implementation.
|
|
127
134
|
|
|
135
|
+
`spec-brainstorm` and `spec-plan` are terminal within their invocation. They must not chain into
|
|
136
|
+
the next workflow skill, even when the original request asks for multiple phases at once.
|
|
137
|
+
|
|
128
138
|
## Iteration Patterns
|
|
129
139
|
|
|
130
140
|
The workflow is not purely linear. Expect backflows:
|
|
@@ -3,8 +3,8 @@ name: spec-brainstorm
|
|
|
3
3
|
description: >
|
|
4
4
|
Conversational design workshop for substantial work. Interviews the human one question
|
|
5
5
|
at a time, explores 2-3 approaches with trade-offs, and presents the design
|
|
6
|
-
section by section for approval before writing
|
|
7
|
-
discovery with codebase research and architecture design.
|
|
6
|
+
section by section for approval before writing only design.md, then stops. Combines
|
|
7
|
+
requirements discovery with codebase research and architecture design.
|
|
8
8
|
Use when the user explicitly requests a spec or when atelier-orchestrator selects a
|
|
9
9
|
Spec-backed Plan. Ambiguous design or discovery requests route through atelier-orchestrator.
|
|
10
10
|
user-invocable: true
|
|
@@ -31,6 +31,14 @@ docs/specs/YYYY-MM-DD-<feature>/
|
|
|
31
31
|
|
|
32
32
|
Requirements are inline — no separate requirements.json needed.
|
|
33
33
|
|
|
34
|
+
### Exclusive output contract
|
|
35
|
+
|
|
36
|
+
This skill may create or update only the `design.md` shown above. It may inspect the
|
|
37
|
+
repository and discuss drafts in conversation, but it must not modify any other file, create
|
|
38
|
+
`plan.json`, create tracker entries, invoke another workflow skill, or write implementation
|
|
39
|
+
code. This boundary still applies when the human asks to brainstorm, plan, and implement in
|
|
40
|
+
one request. Finish `design.md`, report it, and stop.
|
|
41
|
+
|
|
34
42
|
---
|
|
35
43
|
|
|
36
44
|
## Lessons
|
|
@@ -265,9 +273,9 @@ If you loop twice on the same batch, stop and ask:
|
|
|
265
273
|
|
|
266
274
|
> "We've looped on [batch] twice. Should we reconsider the approach?"
|
|
267
275
|
|
|
268
|
-
**Terminology discipline:** while drafting batches, challenge terms against
|
|
269
|
-
`
|
|
270
|
-
|
|
276
|
+
**Terminology discipline:** while drafting batches, challenge terms against `CONTEXT.md` and
|
|
277
|
+
record resolved terminology in `design.md`. Do not update `CONTEXT.md` from this skill. If
|
|
278
|
+
domain confusion runs deep, suggest pausing for **oracle-grill-me** before continuing.
|
|
271
279
|
|
|
272
280
|
### 4c. Write the spec
|
|
273
281
|
|
|
@@ -360,16 +368,17 @@ note them at handoff.
|
|
|
360
368
|
|
|
361
369
|
**Tell the human:**
|
|
362
370
|
|
|
363
|
-
> "
|
|
364
|
-
>
|
|
371
|
+
> "Brainstorm complete. Design written to `docs/specs/<path>/design.md`. A separate
|
|
372
|
+
> `spec-plan` invocation can create `plan.json` after you approve this document."
|
|
365
373
|
|
|
366
374
|
If the human requests changes — in conversation or by annotating the file — address every note,
|
|
367
375
|
update the spec, and re-run the self-review. If a change alters the substance of an approved
|
|
368
376
|
section, re-present that section for approval before continuing. Resolve questions that affect
|
|
369
377
|
scope, architecture, contracts, data, security, or task ordering before handoff.
|
|
370
378
|
|
|
371
|
-
|
|
372
|
-
|
|
379
|
+
Stop after reporting the completed `design.md`. Do not invoke `spec-plan`, offer to continue
|
|
380
|
+
automatically, create `plan.json`, or write code. The human must start the next phase with a
|
|
381
|
+
separate request.
|
|
373
382
|
|
|
374
383
|
If planning reveals design flaws, loop back to research. See **atelier-orchestrator**
|
|
375
384
|
for iteration patterns.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-implement
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Continue an approved Spec-backed workflow when the user says "implement", "go", "start", or
|
|
5
|
+
"do it". After Codex Plan Mode, persist the next missing design.md or plan.json artifact and
|
|
6
|
+
stop. When both artifacts exist, execute plan.json with TDD and report between batches.
|
|
7
7
|
user-invocable: true
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -14,21 +14,30 @@ when blocked.
|
|
|
14
14
|
|
|
15
15
|
**Announce at start:** "I'm using the spec-implement skill to execute this plan."
|
|
16
16
|
|
|
17
|
-
This skill does not make design decisions or
|
|
18
|
-
|
|
17
|
+
This skill does not make design decisions or change approved content. It may persist approved
|
|
18
|
+
content from the conversation when Plan Mode could not write the required artifact. If the plan
|
|
19
|
+
is wrong, go back to spec-plan. If the design is wrong, go back to spec-brainstorm.
|
|
19
20
|
|
|
20
21
|
## Prerequisites
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
1.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
Resolve required artifacts in order before starting product implementation:
|
|
24
|
+
|
|
25
|
+
1. If `docs/specs/YYYY-MM-DD-<feature>/design.md` is missing, write it from the approved design
|
|
26
|
+
in the current conversation. Validate the file, report its path, and stop. Do not create
|
|
27
|
+
`plan.json` or start implementation in the same invocation.
|
|
28
|
+
2. Otherwise, if `docs/specs/YYYY-MM-DD-<feature>/plan.json` is missing, write it from the
|
|
29
|
+
approved plan in the current conversation. Validate it against the schema in `spec-plan`,
|
|
30
|
+
report its path, and stop. Do not start implementation in the same invocation.
|
|
31
|
+
3. If the approved content needed for the next missing artifact is not available in the current
|
|
32
|
+
conversation, stop and tell the human what content is unavailable. Do not ask the human to
|
|
33
|
+
create the file.
|
|
34
|
+
4. When both artifacts exist, verify that any tracker entries selected during planning are
|
|
35
|
+
available, along with `docs/agents/issue-tracker.md` when tracking is configured.
|
|
36
|
+
5. Verify that you are not on main/master without explicit user consent. Create a branch or use
|
|
37
|
+
a git worktree first.
|
|
38
|
+
|
|
39
|
+
Each invocation creates at most one missing artifact. Only proceed to product implementation
|
|
40
|
+
when both approved artifacts existed at the start of the invocation.
|
|
32
41
|
|
|
33
42
|
---
|
|
34
43
|
|
|
@@ -3,7 +3,8 @@ name: spec-plan
|
|
|
3
3
|
description: >
|
|
4
4
|
Write approved implementation plans in one of two modes. Explicit Inline mode creates a
|
|
5
5
|
conversational plan for bounded work. Spec-backed Plan converts an approved design.md into
|
|
6
|
-
plan.json
|
|
6
|
+
plan.json. Both modes stop after producing their plan output. Trigger after
|
|
7
|
+
atelier-orchestrator selects a mode, when
|
|
7
8
|
the user asks to plan work, or after spec-brainstorm completes. Direct invocation without a
|
|
8
9
|
selected mode uses Spec-backed Plan. Do NOT use for research or execution.
|
|
9
10
|
user-invocable: true
|
|
@@ -13,13 +14,25 @@ user-invocable: true
|
|
|
13
14
|
|
|
14
15
|
Write a proportional plan so clear that any engineer can follow it. The selected planning
|
|
15
16
|
mode determines whether the plan stays in the conversation or becomes a persisted structured
|
|
16
|
-
artifact. This skill does not write code.
|
|
17
|
+
artifact. This skill does not write code or start implementation.
|
|
17
18
|
|
|
18
19
|
`atelier-orchestrator` owns automatic classification and the human may override it. When this
|
|
19
20
|
skill is directly invoked without a selected mode, use Spec-backed Plan. If Inline planning
|
|
20
21
|
reveals substantial design or coordination needs, ask the human whether to switch to a
|
|
21
22
|
Spec-backed Plan before presenting the plan.
|
|
22
23
|
|
|
24
|
+
## Terminal boundary
|
|
25
|
+
|
|
26
|
+
This skill produces exactly one plan output and then stops:
|
|
27
|
+
|
|
28
|
+
- Inline mode presents the plan in conversation and changes no repository files.
|
|
29
|
+
- Spec-backed mode creates or updates only `plan.json` from an approved `design.md`.
|
|
30
|
+
|
|
31
|
+
Planning drafts and annotation cycles stay in conversation. Do not modify `design.md`, persist
|
|
32
|
+
a Markdown plan draft, create tracker entries, invoke another workflow skill, or edit
|
|
33
|
+
implementation files. These rules still apply when the human asks to plan and implement in one
|
|
34
|
+
request. Implementation requires a later, explicit request after this skill has finished.
|
|
35
|
+
|
|
23
36
|
## Planning Rules
|
|
24
37
|
|
|
25
38
|
- Organize tasks around required behavior, not one task per layer.
|
|
@@ -70,11 +83,11 @@ Every revision invalidates prior approval. End each revised plan with "Inline Pl
|
|
|
70
83
|
for review." and stop until the human explicitly approves that complete version. Do not
|
|
71
84
|
implement until the current plan is approved.
|
|
72
85
|
|
|
73
|
-
|
|
74
|
-
the
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
86
|
+
When the human approves the Inline Plan, acknowledge that the plan is approved and stop. Do not
|
|
87
|
+
implement it in the same invocation. A later explicit implementation request may execute the
|
|
88
|
+
approved conversational plan directly using the Inline execution safeguards in
|
|
89
|
+
`atelier-orchestrator`; it does not use `spec-implement`, `spec-finish`, `code-subagents`, or
|
|
90
|
+
task tracking.
|
|
78
91
|
|
|
79
92
|
## Spec-backed Plan Artifacts
|
|
80
93
|
|
|
@@ -84,8 +97,8 @@ docs/specs/YYYY-MM-DD-<feature-name>/
|
|
|
84
97
|
└── plan.json ← This skill's output
|
|
85
98
|
```
|
|
86
99
|
|
|
87
|
-
The plan starts as a
|
|
88
|
-
structured plan.json when approved.
|
|
100
|
+
The plan starts as a conversational draft for human annotation, then gets converted to
|
|
101
|
+
structured `plan.json` when approved.
|
|
89
102
|
|
|
90
103
|
### plan.json Schema
|
|
91
104
|
|
|
@@ -179,8 +192,8 @@ structured plan.json when approved.
|
|
|
179
192
|
|
|
180
193
|
## Spec-backed Step 1: Write the Plan Draft
|
|
181
194
|
|
|
182
|
-
Read the approved design.md
|
|
183
|
-
|
|
195
|
+
Read the approved `design.md`, then present the plan draft in conversation. Do not write the
|
|
196
|
+
draft into `design.md` or create a separate draft file.
|
|
184
197
|
|
|
185
198
|
### Plan quality
|
|
186
199
|
|
|
@@ -256,25 +269,12 @@ explicitly approves it.
|
|
|
256
269
|
When the human approves — "looks good", "approved", "create tasks" — convert the plan
|
|
257
270
|
into plan.json.
|
|
258
271
|
|
|
259
|
-
### Task Tracking
|
|
260
|
-
|
|
261
|
-
Read `docs/agents/issue-tracker.md` when it exists. Create tracker entries only when that
|
|
262
|
-
document configures a tracker, mirroring is enabled, and tracking adds execution value. Do not
|
|
263
|
-
choose or configure a tracker here. Do not duplicate a simple plan.json into a tracker merely to
|
|
264
|
-
satisfy the workflow.
|
|
265
|
-
|
|
266
272
|
### What to do
|
|
267
273
|
|
|
268
274
|
1. Convert the annotated plan draft into structured plan.json
|
|
269
275
|
2. Each task maps to a unit with inputs, description, files, and validation
|
|
270
276
|
3. Dependencies between tasks are captured in `depends_on` fields
|
|
271
|
-
4.
|
|
272
|
-
`docs/agents/issue-tracker.md`:
|
|
273
|
-
- Create any configured feature container
|
|
274
|
-
- Add tasks with clear descriptions
|
|
275
|
-
- Mirror dependencies when the configured tracker supports them
|
|
276
|
-
5. The plan.json is the source of truth for task details; the task tracker
|
|
277
|
-
tracks execution state
|
|
277
|
+
4. Do not create tracker entries or modify any file other than `plan.json`
|
|
278
278
|
|
|
279
279
|
### Verification
|
|
280
280
|
|
|
@@ -294,18 +294,15 @@ After creating plan.json, verify:
|
|
|
294
294
|
|
|
295
295
|
## Handoff
|
|
296
296
|
|
|
297
|
-
When plan.json is created,
|
|
298
|
-
step is **spec-implement** in Spec-backed mode.
|
|
297
|
+
When `plan.json` is created, report its path and stop.
|
|
299
298
|
|
|
300
299
|
Tell the human:
|
|
301
300
|
|
|
302
|
-
> "
|
|
303
|
-
>
|
|
304
|
-
> **Autonomous** — I'll work through all tasks, only stopping if blocked.
|
|
305
|
-
>
|
|
306
|
-
> **Batched** — I'll do 3-5 tasks at a time, then report and wait for feedback.
|
|
301
|
+
> "Planning complete. Plan written to `docs/specs/<path>/plan.json`. A separate
|
|
302
|
+
> `spec-implement` invocation can execute it."
|
|
307
303
|
|
|
308
|
-
Do not start implementing.
|
|
304
|
+
Do not invoke `spec-implement`, offer execution modes, or start implementing. The human must
|
|
305
|
+
start implementation with a separate request.
|
|
309
306
|
|
|
310
307
|
Minor implementation deviations may be recorded inline and reflected in plan.json when they do
|
|
311
308
|
not change approved behavior, scope, architecture, public contracts, or major dependencies.
|
|
@@ -320,7 +317,7 @@ spec-brainstorm. See **atelier-orchestrator** for iteration patterns.
|
|
|
320
317
|
|----------------------------|--------|
|
|
321
318
|
| Inline / "write a plan" | Present the complete Inline Plan from the template, stop |
|
|
322
319
|
| Inline / "I added notes" | Apply the changes, re-present the entire updated Inline Plan, and stop for renewed approval |
|
|
323
|
-
| Inline / "approved" |
|
|
320
|
+
| Inline / "approved" | Acknowledge approval and stop; create no artifacts and do not implement |
|
|
324
321
|
| Spec-backed / "write a plan" | Write the plan draft from design.md, stop |
|
|
325
322
|
| Spec-backed / "I added notes" | Re-read, address all notes, do NOT implement |
|
|
326
|
-
| Spec-backed / "approved" / "create tasks" | Create plan.json
|
|
323
|
+
| Spec-backed / "approved" / "create tasks" | Create only plan.json, report its path, and stop |
|