@martinffx/atelier 1.4.0 → 2.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 CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
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
+
7
+ ## [2.0.0](https://github.com/martinffx/atelier/compare/v1.4.0...v2.0.0) (2026-07-27)
8
+
9
+
10
+ ### ⚠ BREAKING CHANGES
11
+
12
+ * **agents:** rename recon to sentinel
13
+
14
+ ### Features
15
+
16
+ * **agents:** rename recon to sentinel ([bf69c50](https://github.com/martinffx/atelier/commit/bf69c50d7f69d0c1f7fc36d1d384914d99def81d))
17
+ * **cursor:** add Cursor harness support ([c0ed4e3](https://github.com/martinffx/atelier/commit/c0ed4e356d3a34a085ca5f11344876bdf59ae618))
18
+ * **cursor:** add subagent adapter foundation ([7b17972](https://github.com/martinffx/atelier/commit/7b1797267b96b502cb8002cdb1a7bac707978a7d))
19
+ * **workflow:** add inline planning mode ([3faefd4](https://github.com/martinffx/atelier/commit/3faefd4d14425c9188ed7a34b42afbdf6eca19ff))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * **workflow:** keep inline plans lightweight ([c30bc12](https://github.com/martinffx/atelier/commit/c30bc12543a61e3e645336fe6760fb994e125abd))
25
+ * **workflow:** simplify execution and subagent review ([694e846](https://github.com/martinffx/atelier/commit/694e846af9953f8337734e0dab44e34a0f3a2acc))
26
+
3
27
  ## [1.4.0](https://github.com/martinffx/atelier/compare/v1.3.0...v1.4.0) (2026-07-18)
4
28
 
5
29
 
package/README.md CHANGED
@@ -6,60 +6,95 @@
6
6
  >
7
7
  > [Wikipedia](https://en.wikipedia.org/wiki/Atelier)
8
8
 
9
- A personal development toolkit for AI agents - spec-driven development, code quality, deep thinking, and ecosystem patterns.
9
+ A personal development toolkit for AI agents. It covers spec-driven development, code quality, deep thinking, and ecosystem patterns.
10
10
 
11
- Atelier ships as a set of skills installed via `npx skills` plus a small CLI that generates harness-native agent definitions and configuration.
11
+ Atelier includes skills installed with `npx skills` and a small CLI for generating agent definitions and configuration for supported harnesses.
12
12
 
13
- ## Quick Start
13
+ ## Quick start
14
14
 
15
- Install Atelier with a single command. It configures agents and harness-native settings for Claude Code, OpenCode, or Codex:
15
+ Install Atelier, then choose the harness you use. The CLI configures agents and harness-native settings for Claude Code, OpenCode, Codex, and Cursor.
16
16
 
17
17
  ```bash
18
18
  # Initialize atelier for your harness
19
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex>
19
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor>
20
20
 
21
21
  # Non-interactive mode (CI/CD)
22
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex> --yes
22
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor> --yes
23
23
  ```
24
24
 
25
- That's it. Your project is now configured for spec-driven development.
25
+ Your project is ready to use the spec workflow.
26
26
 
27
- ## What Gets Installed
27
+ ## Rationale and inspiration
28
28
 
29
- Atelier sets up two things:
29
+ Better models alone do not produce better software. Coding agents, like human teams, are shaped by the systems they work within. Good outcomes depend on more than individual ability. They depend on the processes, constraints, shared context, and feedback surrounding the work. If that system does little to encourage quality or catch weak results, agents will simply produce unreliable code faster. Atelier is an attempt to build a better system around the agent, making robust output more repeatable. [Building Your Own Agent Harness](https://www.martinrichards.me/post/building_your_own_agent_harness/) explains the thinking behind it.
30
30
 
31
- ### 1. Skills (28 available)
31
+ The name is literal. An atelier is a workshop where a principal works with assistants. Here, the developer is the principal, agents are the assistants, the codebase is the workshop, and skills record how the work happens.
32
32
 
33
- Specialized knowledge modules that auto-invoke based on context. Install them separately:
33
+ Atelier draws on spec-driven development and several projects that informed its approach to agent collaboration:
34
+
35
+ - [Agent OS](https://github.com/buildermethods/agent-os) for discovering project standards and shaping lightweight specs.
36
+ - [OpenSpec](https://github.com/Fission-AI/OpenSpec) for fluid, artifact-guided workflows that support iteration and brownfield development.
37
+ - [GitHub Spec Kit](https://github.com/github/spec-kit) for making specifications central to a structured specify, plan, tasks, and implement workflow.
38
+ - [Superpowers](https://github.com/obra/superpowers) for composable skills, mandatory engineering workflows, TDD, and evidence-based verification.
39
+ - [Matt Pocock's Skills](https://github.com/mattpocock/skills) for small, adaptable skills grounded in practical engineering and developer control.
40
+
41
+ Some Atelier skills have more direct lineage:
42
+
43
+ | Atelier skill | Source skill | Relationship |
44
+ |---------------|--------------|--------------|
45
+ | [`spec-orchestrator`](skills/spec-orchestrator/SKILL.md) | Superpowers [`using-superpowers`](https://github.com/obra/superpowers/tree/main/skills/using-superpowers) | Adapted from its mandatory skill-routing discipline. |
46
+ | [`spec-brainstorm`](skills/spec-brainstorm/SKILL.md) | Superpowers [`brainstorming`](https://github.com/obra/superpowers/tree/main/skills/brainstorming) | Adapted from its conversational discovery and section-by-section design approval. |
47
+ | [`spec-plan`](skills/spec-plan/SKILL.md) | Superpowers [`writing-plans`](https://github.com/obra/superpowers/tree/main/skills/writing-plans) | Inspired by its explicit, verifiable implementation plans. |
48
+ | [`spec-implement`](skills/spec-implement/SKILL.md) | Superpowers [`executing-plans`](https://github.com/obra/superpowers/tree/main/skills/executing-plans) and [`test-driven-development`](https://github.com/obra/superpowers/tree/main/skills/test-driven-development) | Inspired by plan-driven execution and test-first feedback loops. |
49
+ | [`spec-finish`](skills/spec-finish/SKILL.md) | Superpowers [`finishing-a-development-branch`](https://github.com/obra/superpowers/tree/main/skills/finishing-a-development-branch) and [`verification-before-completion`](https://github.com/obra/superpowers/tree/main/skills/verification-before-completion) | Inspired by its validation and completion workflow. |
50
+ | [`code-subagents`](skills/code-subagents/SKILL.md) | Superpowers [`subagent-driven-development`](https://github.com/obra/superpowers/tree/main/skills/subagent-driven-development) and [`dispatching-parallel-agents`](https://github.com/obra/superpowers/tree/main/skills/dispatching-parallel-agents) | Inspired by fresh subagents, parallel dispatch, and batch review. |
51
+ | [`code-handoff`](skills/code-handoff/SKILL.md) | Matt Pocock's [`handoff`](https://github.com/mattpocock/skills/tree/main/skills/productivity/handoff) | Adapted from its context-preserving handoff format. |
52
+ | [`oracle-grill-me`](skills/oracle-grill-me/SKILL.md) | Matt Pocock's [`grilling`](https://github.com/mattpocock/skills/tree/main/skills/productivity/grilling) and [`grill-with-docs`](https://github.com/mattpocock/skills/tree/main/skills/engineering/grill-with-docs) | Adapted from its rigorous interview loop and integration with living domain documentation. |
53
+ | [`oracle-domain-modelling`](skills/oracle-domain-modelling/SKILL.md) | Matt Pocock's [`domain-modeling`](https://github.com/mattpocock/skills/tree/main/skills/engineering/domain-modeling) | Adapted from its active domain-modelling discipline, `CONTEXT.md`, and lightweight ADRs. |
54
+ | [`oracle-debug`](skills/oracle-debug/SKILL.md) | Superpowers [`systematic-debugging`](https://github.com/obra/superpowers/tree/main/skills/systematic-debugging) and Matt Pocock's [`diagnosing-bugs`](https://github.com/mattpocock/skills/tree/main/skills/engineering/diagnosing-bugs) | Adapted from their root-cause-first debugging workflows. |
55
+
56
+ Elsewhere, [`typescript-functional-patterns`](skills/typescript-functional-patterns/SKILL.md) draws on Rastrian's [Why Reliability Demands Functional Programming, ADTs, Safety and Critical Infrastructure](https://blog.rastrian.dev/post/why-reliability-demands-functional-programming-adts-safety-and-critical-infrastructure), and [`code-commit`](skills/code-commit/SKILL.md) follows the [Conventional Commits](https://www.conventionalcommits.org/) specification.
57
+
58
+ Atelier adapts these ideas into an opinionated toolkit that works across harnesses. It does not claim to have invented the practices it uses.
59
+
60
+ ## What gets installed
61
+
62
+ Atelier sets up the following:
63
+
64
+ ### 1. Skills (29 available)
65
+
66
+ Skills are specialized knowledge modules that load when their context applies. Install them separately:
34
67
 
35
68
  ```bash
36
69
  npx skills add martinffx/atelier
37
70
  ```
38
71
 
39
- ### 2. Agent Personas (3 subagents)
72
+ ### 2. Agent personas (3 subagents)
73
+
74
+ Agent definitions are generated for each supported harness with appropriate models:
40
75
 
41
- Harness-agnostic agent definitions configured with appropriate models:
76
+ | Agent | Role | Claude | OpenCode | Codex | Cursor |
77
+ |-------|------|--------|----------|-------|--------|
78
+ | **Sentinel** | Fast codebase reconnaissance | haiku | deepseek-v4-flash | gpt-5.6-luna | composer-2.5 |
79
+ | **Oracle** | Strategic thinking, requirements, analysis | opus | kimi-k2.6 | gpt-5.6-sol | claude-opus-4-8-high |
80
+ | **Architect** | DDD, system design, architecture | opus | deepseek-v4-pro | gpt-5.6-sol | gpt-5.6-sol-medium |
42
81
 
43
- | Agent | Role | Claude | OpenCode | Codex |
44
- |-------|------|--------|----------|-------|
45
- | **Recon** | Fast codebase reconnaissance | haiku | deepseek-v4-flash | gpt-5.6-luna |
46
- | **Oracle** | Strategic thinking, requirements, analysis | opus | kimi-k2.6 | gpt-5.6-sol |
47
- | **Architect** | DDD, system design, architecture | opus | deepseek-v4-pro | gpt-5.6-sol |
82
+ The CLI writes agents to harness-specific locations: `.claude/agents/`, `.opencode/agent/`, `.codex/agents/`, or `~/.cursor/agents/`. It uses each harness's model identifiers. Cursor's primary model and `~/.cursor/cli-config.json` remain user-managed. Atelier only creates its three global subagents.
48
83
 
49
- Agents are generated into harness-specific locations (`.claude/agents/`, `.opencode/agent/`, `.codex/agents/`) with harness-native model identifiers.
84
+ The agent personas carry a light *Matrix* theme. Sentinel takes after the Sentinels: it moves quickly through the codebase, locating what matters and reporting back. Oracle clarifies human needs and choices under uncertainty. Architect turns those requirements into structured technical designs.
50
85
 
51
- ### 3. Task Tracking (optional)
86
+ ### 3. Task tracking (optional)
52
87
 
53
- The spec workflow skills support **beads** for dependency-aware task tracking:
88
+ The spec workflow can use **beads** for dependency-aware task tracking:
54
89
 
55
90
  ```bash
56
91
  # Install beads (optional but recommended)
57
92
  npm install -g beads
58
93
  ```
59
94
 
60
- **Why beads?** It provides `bd ready` (finds next unblocked task), `bd dep add` (dependency management), and `bd list` (progress tracking) that harness-native todos can't match.
95
+ Beads provides `bd ready` to find unblocked tasks, `bd dep add` to manage dependencies, and `bd list` to show progress. Harness-native todo systems do not provide the same dependency support.
61
96
 
62
- **Fallback:** If beads isn't installed, skills fall back to the harness's native todo system (TodoWrite for Claude Code, built-in todos for OpenCode).
97
+ If beads is unavailable, skills use the harness's native todo system: TodoWrite for Claude Code or built-in todos for OpenCode.
63
98
 
64
99
  ### 4. Configuration
65
100
 
@@ -74,7 +109,7 @@ Single source of truth in `.atelier/config.json`:
74
109
  "provider": "anthropic",
75
110
  "default_model": "opusplan",
76
111
  "agents": [
77
- { "template": "recon", "name": "recon", "model": "haiku" },
112
+ { "template": "sentinel", "name": "sentinel", "model": "haiku" },
78
113
  { "template": "oracle", "name": "oracle", "model": "opus" },
79
114
  { "template": "architect", "name": "architect", "model": "opus" }
80
115
  ]
@@ -82,28 +117,28 @@ Single source of truth in `.atelier/config.json`:
82
117
  }
83
118
  ```
84
119
 
85
- ## CLI Commands
120
+ ## CLI commands
86
121
 
87
122
  ### `init` (default)
88
123
 
89
- Initialize atelier for a single harness. Each invocation configures one harness; run it multiple times to configure several.
124
+ Initialize Atelier for one harness. Run the command again for each additional harness.
90
125
 
91
126
  ```bash
92
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex> [options]
127
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor> [options]
93
128
  ```
94
129
 
95
- **Options:**
96
- - `--harness <type>` - Harness type (`claude`, `opencode`, or `codex`)
130
+ Options:
131
+ - `--harness <type>` - Harness type (`claude`, `opencode`, `codex`, or `cursor`)
97
132
  - `--yes` - Non-interactive mode with default models
98
133
 
99
- **Idempotent**: Re-running `init` for the same harness is safe. It regenerates files without deleting anything unless you switch harnesses.
134
+ You can safely re-run `init` for the same harness. It regenerates its files and does not delete existing files unless you switch harnesses.
100
135
 
101
136
  ### `update`
102
137
 
103
138
  Refresh agents and harness-native config for one harness without touching skills:
104
139
 
105
140
  ```bash
106
- npx @martinffx/atelier@latest update --harness <claude|opencode|codex>
141
+ npx @martinffx/atelier@latest update --harness <claude|opencode|codex|cursor>
107
142
  ```
108
143
 
109
144
  ### `remove`
@@ -111,16 +146,16 @@ npx @martinffx/atelier@latest update --harness <claude|opencode|codex>
111
146
  Remove all atelier-generated files for one harness:
112
147
 
113
148
  ```bash
114
- npx @martinffx/atelier@latest remove --harness <claude|opencode|codex>
149
+ npx @martinffx/atelier@latest remove --harness <claude|opencode|codex|cursor>
115
150
  ```
116
151
 
117
152
  Skills remain installed. Run `npx skills remove martinffx/atelier` to remove them separately.
118
153
 
119
154
  ## Skills
120
155
 
121
- This repository includes 28 skills that enhance AI agents with specialized knowledge and workflows.
156
+ This repository includes 29 skills for agent workflows and stack-specific guidance.
122
157
 
123
- ### Installing Skills
158
+ ### Installing skills
124
159
 
125
160
  Install skills manually:
126
161
 
@@ -134,118 +169,117 @@ npx skills add martinffx/atelier --skill python-fastapi
134
169
  npx skills add martinffx/atelier --skill spec-brainstorm
135
170
  ```
136
171
 
137
- ### Skill Types
172
+ ### Skill organization
138
173
 
139
- Skills fall into four categories based on what they do:
174
+ Atelier has three core skill namespaces:
140
175
 
141
- #### Workflow Skills (`spec:*`)
176
+ | Namespace | Type | Invocation | Output | Flexibility |
177
+ |-----------|------|------------|--------|-------------|
178
+ | `spec:` | Process | User or previous skill | Plan or artifact | Follow exactly |
179
+ | `oracle:` | Analytical | Context-driven | Guidance | Adapt to context |
180
+ | `code:` | Utility | User | Result | Use as needed |
142
181
 
143
- Process-oriented skills that guide you through structured development workflows. These produce artifacts and should be followed step-by-step.
182
+ #### Workflow (`spec:*`)
144
183
 
145
- - `spec-brainstorm` → `design.md` — Discovery, requirements, architecture
146
- - `spec-plan` → `plan.json` — Break spec into implementable tasks
147
- - `spec-implement` — Execute tasks with TDD
148
- - `spec-finish` — Validate, review, prepare for PR
149
- - `spec-orchestrator` — Route to the right skill based on context
184
+ These skills guide plan-first development. Inline Plans stay in the conversation; substantial
185
+ work uses persisted spec artifacts.
150
186
 
151
- #### Thinking Skills (`oracle:*`)
187
+ - `spec-orchestrator`: select Inline Plan or Spec-backed Plan and route the workflow
188
+ - `spec-brainstorm` → `design.md`: discovery, requirements, and architecture for substantial work
189
+ - `spec-plan`: produce a conversational Inline Plan or persisted `plan.json`
190
+ - `spec-implement`: execute approved Spec-backed Plans with TDD
191
+ - `spec-finish`: validate, review, and prepare Spec-backed Plans for a PR
152
192
 
153
- Analytical skills that provide patterns, principles, and deep reasoning. These adapt to your specific situation.
193
+ #### Thinking (`oracle:*`)
154
194
 
155
- - `oracle-debug` — Systematic debugging, root cause before fixes
156
- - `oracle-grill-me` — Socratic interrogation of plans against domain model
157
- - `oracle-domain-modelling` — Build and sharpen the project's domain model
195
+ These skills provide analytical methods and reasoning patterns that adapt to the problem at hand.
158
196
 
159
- #### Domain Knowledge (`python:*`, `typescript:*`)
197
+ - `oracle-debug`: systematic debugging that finds the root cause before a fix
198
+ - `oracle-grill-me`: Socratic review of plans, specs, decisions, and ideas until ambiguity is resolved, shared understanding is reached, and the resulting domain language and decisions are recorded
199
+ - `oracle-domain-modelling`: build and refine the project's domain model
160
200
 
161
- Technology-specific patterns and best practices. These are like having a senior engineer for that stack.
162
-
163
- **TypeScript (8 skills)**
164
- - `typescript-api-design` — REST conventions, error responses, pagination
165
- - `typescript-fastify` — Fastify + TypeBox route handlers
166
- - `typescript-drizzle-orm` — Type-safe SQL schemas and queries
167
- - `typescript-dynamodb-toolbox` — Single-table design, GSIs
168
- - `typescript-functional-patterns` — ADTs, branded types, Option/Result
169
- - `typescript-effect-ts` — Functional effects, error handling, resources
170
- - `typescript-build-tools` — Bun, Vitest, Biome, Turborepo
171
- - `typescript-testing` — Mocking, MSW, snapshot testing
201
+ #### Utilities (`code:*`)
172
202
 
173
- **Python (8 skills)**
174
- - `python-architecture` — Functional core/shell, DDD, layered architecture
175
- - `python-fastapi` — Pydantic validation, dependency injection, OpenAPI
176
- - `python-sqlalchemy` — ORM patterns, queries, async, upserts
177
- - `python-temporal` — Workflow orchestration, activities, error handling
178
- - `python-modern-python` — Type hints, generics, pattern matching
179
- - `python-monorepo` — uv workspaces, mise task orchestration
180
- - `python-testing` — Stub-driven TDD, pytest patterns
181
- - `python-build-tools` — uv, ruff, basedpyright, pytest config
203
+ These skills handle discrete tasks when you invoke them.
182
204
 
183
- #### Utility Skills (`code:*`)
205
+ - `code-commit`: generate and validate conventional commits
206
+ - `code-handoff`: turn a conversation into a handoff document
207
+ - `code-pull-request`: create, comment on, and merge GitHub pull requests or GitLab merge requests
208
+ - `code-review`: multi-agent code review with specialized reviewers
209
+ - `code-subagents`: dispatch patterns for parallel implementation
184
210
 
185
- Task-specific tools you invoke when you need them.
211
+ #### Stack-specific knowledge
186
212
 
187
- - `code-commit` — Generate and validate conventional commits
188
- - `code-handoff` — Compact conversation into handoff document
189
- - `code-pull-request` — Create, comment on, and merge GitHub pull requests or GitLab merge requests
190
- - `code-review` — Multi-agent code review with specialized reviewers
191
- - `code-subagents` — Dispatch patterns for parallel implementation
213
+ Python and TypeScript skills provide technology-specific patterns and practices. They support work across the `spec`, `oracle`, and `code` namespaces.
192
214
 
193
- Skills are auto-invoked based on their description when you work with relevant technologies. No commands needed—just install and AI agents will use them when appropriate.
215
+ **TypeScript (8 skills)**
216
+ - `typescript-api-design`: REST conventions, error responses, and pagination
217
+ - `typescript-fastify`: Fastify and TypeBox route handlers
218
+ - `typescript-drizzle-orm`: type-safe SQL schemas and queries
219
+ - `typescript-dynamodb-toolbox`: single-table design and GSIs
220
+ - `typescript-functional-patterns`: ADTs, branded types, and Option/Result
221
+ - `typescript-effect-ts`: functional effects, error handling, and resources
222
+ - `typescript-build-tools`: Bun, Vitest, Biome, and Turborepo
223
+ - `typescript-testing`: mocking, MSW, and snapshot testing
194
224
 
195
- ## How Skills Work
225
+ **Python (8 skills)**
226
+ - `python-architecture`: functional core/shell, DDD, and layered architecture
227
+ - `python-fastapi`: Pydantic validation, dependency injection, and OpenAPI
228
+ - `python-sqlalchemy`: ORM patterns, queries, async, and upserts
229
+ - `python-temporal`: workflow orchestration, activities, and error handling
230
+ - `python-modern-python`: type hints, generics, and pattern matching
231
+ - `python-monorepo`: uv workspaces and mise task orchestration
232
+ - `python-testing`: stub-driven TDD and pytest patterns
233
+ - `python-build-tools`: uv, ruff, basedpyright, and pytest configuration
196
234
 
197
- Skills are auto-invoked based on context. When you say "create a spec for user auth", the AI matches this to `spec-brainstorm` and loads it automatically.
235
+ Skills load based on their descriptions when the work calls for them. Install them once, then agents can use them as needed.
198
236
 
199
- ### Namespace Philosophy
237
+ ## How skills work
200
238
 
201
- Skills are organized into four categories based on their role:
239
+ Skills load from context. For example, "create a spec for user auth" makes
240
+ `spec-orchestrator` select the spec-backed route and invoke `spec-brainstorm`.
202
241
 
203
- | Category | Prefix | Type | Invocation | Output | Flexibility |
204
- |----------|--------|------|------------|--------|-------------|
205
- | **Workflow** | `spec:` | Process | User/previous skill | Artifact | Follow exactly |
206
- | **Thinking** | `oracle:` | Analytical | Context-driven | Guidance | Adapt to context |
207
- | **Domain Knowledge** | `python:`, `typescript:` | Technology | Context-driven | Patterns | Adapt to context |
208
- | **Utility** | `code:` | Task-specific | User command | Result | Use as needed |
242
+ ### The planning workflow
209
243
 
210
- - **Workflow** (`spec:`) — Sequential steps that produce artifacts. Follow them in order.
211
- - **Thinking** (`oracle:`) — Analytical capabilities that reason about your specific problem.
212
- - **Domain Knowledge** (`python-*`, `typescript-*`) — Stack-specific patterns and best practices. Like having a senior engineer for that technology.
213
- - **Utility** (`code:`) — Task-specific tools you invoke directly when needed.
244
+ For bounded work, `spec-plan` presents a simple Inline Plan for approval, then the agent
245
+ implements it directly. No spec artifacts, task tracking, or persisted-spec execution
246
+ workflow is involved.
214
247
 
215
- ### The Spec Workflow
248
+ The full planning workflow is:
216
249
 
217
250
  ```mermaid
218
251
  graph LR
219
- A[spec-brainstorm] -->|design.md| B[spec-plan]
220
- B -->|plan.json| C[spec-implement]
221
- C --> D[spec-finish]
222
- D -.->|invokes| E[code-pull-request]
223
-
224
- B -.->|design flaw| A
225
- C -.->|missing tasks| B
226
- C -.->|fundamental issue| A
227
- D -.->|bugs found| C
252
+ B[spec-brainstorm] --> D[design.md]
253
+ D --> G[oracle-grill-me]
254
+ G -->|design approved| P[spec-plan: review and approve]
255
+ G -.->|refine| D
256
+ P --> J[plan.json]
257
+ J --> I[spec-implement]
258
+ I --> F[spec-finish]
259
+ F --> PR[code-pull-request]
260
+ I -.->|revise plan| P
261
+ I -.->|design issue| B
228
262
  ```
229
263
 
230
- **Standard flow:**
231
- 1. **Research** - Discovery + research + architecture → `design.md`
232
- 2. **Plan** - Break into tasks → `plan.json`
233
- 3. **Implement** - Execute with TDD
234
- 4. **Finish** - Validate, review, and open the PR
264
+ The orchestrator chooses one route and states why:
265
+
266
+ - **Inline Plan (default):** bounded, well-understood work. The plan uses `context`, `scope`,
267
+ `changes`, `files`, and `validation` in conversation. It creates no spec or tracker artifacts.
268
+ - **Spec-backed Plan:** substantial work that needs discovery, architectural decisions,
269
+ dependency tracking, durable handoff, or explicit spec artifacts. It uses `design.md` and
270
+ `plan.json`.
235
271
 
236
- **Iteration is normal** - Backflows (dotted lines) are expected when:
237
- - Planning reveals design flaws → back to research
238
- - Implementation finds missing tasks → update plan
239
- - Validation finds bugs → back to implement
272
+ Both routes require human approval before implementation. File count and estimated duration
273
+ alone do not make work spec-worthy, and the human can override the selected route.
240
274
 
241
- ### When to Use Which Skill
275
+ ### When to use which skill
242
276
 
243
277
  | User says | Skill invoked |
244
278
  |------------|---------------|
245
- | "Create a spec for X" | spec-brainstorm |
246
- | "What should we build" | spec-brainstorm |
247
- | "Write a plan" | spec-plan |
248
- | "Implement this" | spec-implement |
279
+ | "Create a spec for X" | spec-orchestrator → spec-brainstorm |
280
+ | "What should we build" | spec-orchestrator selects the planning route |
281
+ | "Write a plan" | spec-orchestrator → spec-plan (Inline by default) |
282
+ | "Implement this" | spec-orchestrator |
249
283
  | "Review this code" | code-review |
250
284
  | "Open a PR" | code-pull-request |
251
285
  | "Merge this PR" | code-pull-request |
@@ -255,7 +289,7 @@ graph LR
255
289
 
256
290
  ## Development
257
291
 
258
- For local development with Claude Code, use the `--plugin-dir` flag to load skills directly:
292
+ For local development with Claude Code, load skills directly with `--plugin-dir`:
259
293
 
260
294
  ```bash
261
295
  claude --plugin-dir ./atelier
@@ -9,7 +9,7 @@ You are the **Architect**, a senior technical designer and systems thinker. Your
9
9
 
10
10
  - Design data models, database schemas, and API contracts
11
11
  - Apply architectural patterns (DDD, hexagonal, layered) where appropriate
12
- - Break down features into dependency-ordered implementation tasks
12
+ - Provide dependency-ordered implementation-task recommendations for Spec-backed Plans
13
13
  - Ensure designs align with project standards and constraints
14
14
 
15
15
  ## Skills
@@ -24,15 +24,15 @@ Before finishing, confirm you have:
24
24
  - [ ] Defined properties, types, and validation rules for each model
25
25
  - [ ] Specified API endpoints with methods, paths, and request/response contracts
26
26
  - [ ] Listed error cases and handling strategy
27
- - [ ] Broken work into dependency-ordered tasks (entity → repository → service → router)
28
- - [ ] Written or updated the Technical Design section in `design.md`
29
- - [ ] Written or updated `plan.json` with the task breakdown
27
+ - [ ] For Spec-backed Plan work, provided dependency-ordered task recommendations (entity → repository → service → router)
28
+ - [ ] For Spec-backed Plan work, written or updated the Technical Design section in `design.md`
30
29
 
31
30
  ## Boundaries
32
31
 
33
32
  - DO focus on technical design and architecture
34
- - DO create dependency-ordered task lists
33
+ - DO provide dependency-ordered task recommendations for Spec-backed Plans
34
+ - DON'T write or update `plan.json` (that's `spec-plan`)
35
35
  - DO apply architectural patterns and load relevant skills
36
36
  - DON'T write implementation code (that's for `spec-implement`)
37
37
  - DON'T conduct discovery interviews (that's `oracle`)
38
- - DON'T handle file operations or template application (that's `recon`)
38
+ - DON'T handle file operations or template application (that's `sentinel`)
package/agents/oracle.md CHANGED
@@ -28,7 +28,7 @@ Before finishing, confirm you have:
28
28
  - [ ] Documented business rules, validations, and limits
29
29
  - [ ] Defined scope—what is included and what is explicitly out of scope
30
30
  - [ ] Generated 2–3 alternative approaches with trade-offs if the problem is complex
31
- - [ ] Written or updated the Requirements section in `design.md`
31
+ - [ ] For Spec-backed Plan work, written or updated the Requirements section in `design.md`
32
32
 
33
33
  ## Boundaries
34
34
 
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: recon
3
- description: Fast codebase reconnaissance and exploration, concise summarization of findings, precise location of relevant context, and efficient workspace preparation through targeted file operations and template application
2
+ name: sentinel
3
+ description: Fast codebase reconnaissance and exploration, concise summaries of findings, precise location of relevant context, and efficient workspace preparation through targeted file operations and template application
4
4
  ---
5
5
 
6
- You are the **Recon**, a fast reconnaissance agent. Your job is to explore codebases, summarize what you find, highlight relevant context, and point others to exactly where things live. You move quickly, read minimally, and never break existing work.
6
+ You are the **Sentinel**, a fast reconnaissance agent. Your job is to explore codebases, summarize what you find, highlight relevant context, and point others to exactly where things live. You move quickly, read minimally, and never break existing work.
7
7
 
8
8
  ## Role
9
9