@martinffx/atelier 1.3.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.
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "atelier",
3
+ "version": "1.2.2",
4
+ "description": "Personal development toolkit - spec-driven development, code quality, deep thinking, and ecosystem patterns",
5
+ "author": {
6
+ "name": "Martin Richards"
7
+ },
8
+ "homepage": "https://github.com/martinffx/atelier",
9
+ "repository": "https://github.com/martinffx/atelier",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "spec-driven-development",
13
+ "code-quality",
14
+ "deep-thinking",
15
+ "typescript",
16
+ "python",
17
+ "codex"
18
+ ],
19
+ "skills": "./skills/",
20
+ "interface": {
21
+ "displayName": "Atelier",
22
+ "shortDescription": "Personal development toolkit - spec-driven development, code quality, deep thinking, and ecosystem patterns",
23
+ "developerName": "Martin Richards",
24
+ "category": "Developer Tools",
25
+ "capabilities": ["Read"]
26
+ }
27
+ }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
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
+
27
+ ## [1.4.0](https://github.com/martinffx/atelier/compare/v1.3.0...v1.4.0) (2026-07-18)
28
+
29
+
30
+ ### Features
31
+
32
+ * **code-commit:** improve commit workflow ([a5e8973](https://github.com/martinffx/atelier/commit/a5e89735ec8623ea24effec326010136cb546735))
33
+ * **codex:** add Codex harness support and refactor for multi-harness CLI ([#38](https://github.com/martinffx/atelier/issues/38)) ([ce381d2](https://github.com/martinffx/atelier/commit/ce381d25c8b91734bf84288e1c9522e1a914a5b9))
34
+ * **opencode:** add OpenAI provider support ([3f956bd](https://github.com/martinffx/atelier/commit/3f956bd0fb371a00147d2a92c5503d0c853215e2))
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * **code-handoff:** write handoffs to project directory ([abd6ec9](https://github.com/martinffx/atelier/commit/abd6ec90cbe614cedff3b0a2059ca9c6743d35ba))
40
+
3
41
  ## [1.3.0](https://github.com/martinffx/atelier/compare/v1.2.2...v1.3.0) (2026-07-17)
4
42
 
5
43
 
package/README.md CHANGED
@@ -6,129 +6,158 @@
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
- ## Quick Start
11
+ Atelier includes skills installed with `npx skills` and a small CLI for generating agent definitions and configuration for supported harnesses.
12
12
 
13
- Install Atelier with a single command. It auto-detects your AI harness (Claude Code or OpenCode), configures agents, and sets up session hooks:
13
+ ## Quick start
14
14
 
15
- ```bash
16
- # Initialize atelier in your project
17
- bunx @martinffx/atelier@latest init
15
+ Install Atelier, then choose the harness you use. The CLI configures agents and harness-native settings for Claude Code, OpenCode, Codex, and Cursor.
18
16
 
19
- # Or install everything including skills
20
- bunx @martinffx/atelier@latest init --all
17
+ ```bash
18
+ # Initialize atelier for your harness
19
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor>
21
20
 
22
21
  # Non-interactive mode (CI/CD)
23
- bunx @martinffx/atelier@latest init --yes
22
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor> --yes
24
23
  ```
25
24
 
26
- That's it. Your project is now configured for spec-driven development.
25
+ Your project is ready to use the spec workflow.
26
+
27
+ ## Rationale and inspiration
28
+
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
+
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
+
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.
27
57
 
28
- ## What Gets Installed
58
+ Atelier adapts these ideas into an opinionated toolkit that works across harnesses. It does not claim to have invented the practices it uses.
29
59
 
30
- Atelier sets up three things in your project:
60
+ ## What gets installed
31
61
 
32
- ### 1. Skills (28 available)
62
+ Atelier sets up the following:
33
63
 
34
- Specialized knowledge modules that auto-invoke based on context. Install them via the CLI (`--all` flag) or separately:
64
+ ### 1. Skills (29 available)
65
+
66
+ Skills are specialized knowledge modules that load when their context applies. Install them separately:
35
67
 
36
68
  ```bash
37
69
  npx skills add martinffx/atelier
38
70
  ```
39
71
 
40
- ### 2. Agent Personas (3 subagents)
41
-
42
- Harness-agnostic agent definitions configured with appropriate models:
43
-
44
- | Agent | Role | Claude | OpenCode |
45
- |-------|------|--------|----------|
46
- | **Scout** | Fast codebase reconnaissance | haiku | deepseek-v4-flash |
47
- | **Oracle** | Strategic thinking, requirements, analysis | opus | kimi-k2.6 |
48
- | **Architect** | DDD, system design, architecture | opus | deepseek-v4-pro |
72
+ ### 2. Agent personas (3 subagents)
49
73
 
50
- Agents are generated into `.claude/agents/` or `.opencode/agents/` with harness-specific model identifiers.
74
+ Agent definitions are generated for each supported harness with appropriate models:
51
75
 
52
- ### 3. Session Hooks
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 |
53
81
 
54
- Context injection that runs on every session start, clear, or compact:
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.
55
83
 
56
- - **Claude Code**: `hooks/atelier-session-start` outputs project context as JSON
57
- - **OpenCode**: `.opencode/plugins/atelier.js` provides config and transform hooks
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.
58
85
 
59
- ### 4. Task Tracking (optional)
86
+ ### 3. Task tracking (optional)
60
87
 
61
- The spec workflow skills support **beads** for dependency-aware task tracking:
88
+ The spec workflow can use **beads** for dependency-aware task tracking:
62
89
 
63
90
  ```bash
64
91
  # Install beads (optional but recommended)
65
92
  npm install -g beads
66
93
  ```
67
94
 
68
- **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.
69
96
 
70
- **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.
71
98
 
72
- ### 5. Configuration
99
+ ### 4. Configuration
73
100
 
74
101
  Single source of truth in `.atelier/config.json`:
75
102
 
76
103
  ```json
77
104
  {
78
105
  "version": "1.0.0",
79
- "harness": "claude",
80
106
  "skills_source": "martinffx/atelier",
81
- "agents": [
82
- { "template": "scout", "model": "haiku" },
83
- { "template": "oracle", "model": "opus" },
84
- { "template": "architect", "model": "opus" }
85
- ]
107
+ "skills_path": "~/.agents/skills",
108
+ "claude": {
109
+ "provider": "anthropic",
110
+ "default_model": "opusplan",
111
+ "agents": [
112
+ { "template": "sentinel", "name": "sentinel", "model": "haiku" },
113
+ { "template": "oracle", "name": "oracle", "model": "opus" },
114
+ { "template": "architect", "name": "architect", "model": "opus" }
115
+ ]
116
+ }
86
117
  }
87
118
  ```
88
119
 
89
- ## CLI Commands
120
+ ## CLI commands
90
121
 
91
122
  ### `init` (default)
92
123
 
93
- Initialize atelier in the current project.
124
+ Initialize Atelier for one harness. Run the command again for each additional harness.
94
125
 
95
126
  ```bash
96
- bunx @martinffx/atelier@latest init [options]
127
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor> [options]
97
128
  ```
98
129
 
99
- **Options:**
100
- - `--harness <type>` - Force harness type (`claude` or `opencode`)
101
- - `--all` - Also install skills via `npx skills add`
130
+ Options:
131
+ - `--harness <type>` - Harness type (`claude`, `opencode`, `codex`, or `cursor`)
102
132
  - `--yes` - Non-interactive mode with default models
103
- - `--project` - Install skills in project directory (default: global)
104
133
 
105
- **Idempotent**: Re-running `init` 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.
106
135
 
107
136
  ### `update`
108
137
 
109
- Refresh hooks and agents from the latest templates without touching skills:
138
+ Refresh agents and harness-native config for one harness without touching skills:
110
139
 
111
140
  ```bash
112
- bunx @martinffx/atelier@latest update
141
+ npx @martinffx/atelier@latest update --harness <claude|opencode|codex|cursor>
113
142
  ```
114
143
 
115
144
  ### `remove`
116
145
 
117
- Remove all atelier-generated files from the project:
146
+ Remove all atelier-generated files for one harness:
118
147
 
119
148
  ```bash
120
- bunx @martinffx/atelier@latest remove
149
+ npx @martinffx/atelier@latest remove --harness <claude|opencode|codex|cursor>
121
150
  ```
122
151
 
123
152
  Skills remain installed. Run `npx skills remove martinffx/atelier` to remove them separately.
124
153
 
125
154
  ## Skills
126
155
 
127
- 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.
128
157
 
129
- ### Installing Skills
158
+ ### Installing skills
130
159
 
131
- If you didn't use `--all` during init, install skills manually:
160
+ Install skills manually:
132
161
 
133
162
  ```bash
134
163
  # Install all skills
@@ -140,118 +169,117 @@ npx skills add martinffx/atelier --skill python-fastapi
140
169
  npx skills add martinffx/atelier --skill spec-brainstorm
141
170
  ```
142
171
 
143
- ### Skill Types
172
+ ### Skill organization
144
173
 
145
- Skills fall into four categories based on what they do:
174
+ Atelier has three core skill namespaces:
146
175
 
147
- #### 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 |
148
181
 
149
- Process-oriented skills that guide you through structured development workflows. These produce artifacts and should be followed step-by-step.
182
+ #### Workflow (`spec:*`)
150
183
 
151
- - `spec-brainstorm` → `design.md` — Discovery, requirements, architecture
152
- - `spec-plan` → `plan.json` — Break spec into implementable tasks
153
- - `spec-implement` — Execute tasks with TDD
154
- - `spec-finish` — Validate, review, prepare for PR
155
- - `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.
156
186
 
157
- #### 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
158
192
 
159
- Analytical skills that provide patterns, principles, and deep reasoning. These adapt to your specific situation.
193
+ #### Thinking (`oracle:*`)
160
194
 
161
- - `oracle-debug` — Systematic debugging, root cause before fixes
162
- - `oracle-grill-me` — Socratic interrogation of plans against domain model
163
- - `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.
164
196
 
165
- #### 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
166
200
 
167
- Technology-specific patterns and best practices. These are like having a senior engineer for that stack.
201
+ #### Utilities (`code:*`)
168
202
 
169
- **TypeScript (8 skills)**
170
- - `typescript-api-design` — REST conventions, error responses, pagination
171
- - `typescript-fastify` — Fastify + TypeBox route handlers
172
- - `typescript-drizzle-orm` — Type-safe SQL schemas and queries
173
- - `typescript-dynamodb-toolbox` — Single-table design, GSIs
174
- - `typescript-functional-patterns` — ADTs, branded types, Option/Result
175
- - `typescript-effect-ts` — Functional effects, error handling, resources
176
- - `typescript-build-tools` — Bun, Vitest, Biome, Turborepo
177
- - `typescript-testing` — Mocking, MSW, snapshot testing
203
+ These skills handle discrete tasks when you invoke them.
178
204
 
179
- **Python (8 skills)**
180
- - `python-architecture` — Functional core/shell, DDD, layered architecture
181
- - `python-fastapi` — Pydantic validation, dependency injection, OpenAPI
182
- - `python-sqlalchemy` — ORM patterns, queries, async, upserts
183
- - `python-temporal` — Workflow orchestration, activities, error handling
184
- - `python-modern-python` — Type hints, generics, pattern matching
185
- - `python-monorepo` — uv workspaces, mise task orchestration
186
- - `python-testing` — Stub-driven TDD, pytest patterns
187
- - `python-build-tools` — uv, ruff, basedpyright, pytest config
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
188
210
 
189
- #### Utility Skills (`code:*`)
211
+ #### Stack-specific knowledge
190
212
 
191
- Task-specific tools you invoke when you need them.
213
+ Python and TypeScript skills provide technology-specific patterns and practices. They support work across the `spec`, `oracle`, and `code` namespaces.
192
214
 
193
- - `code-commit` — Generate and validate conventional commits
194
- - `code-handoff` — Compact conversation into handoff document
195
- - `code-pull-request` — Create, comment on, and merge GitHub pull requests or GitLab merge requests
196
- - `code-review` — Multi-agent code review with specialized reviewers
197
- - `code-subagents` — Dispatch patterns for parallel implementation
198
-
199
- 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
200
224
 
201
- ## 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
202
234
 
203
- 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.
204
236
 
205
- ### Namespace Philosophy
237
+ ## How skills work
206
238
 
207
- 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`.
208
241
 
209
- | Category | Prefix | Type | Invocation | Output | Flexibility |
210
- |----------|--------|------|------------|--------|-------------|
211
- | **Workflow** | `spec:` | Process | User/previous skill | Artifact | Follow exactly |
212
- | **Thinking** | `oracle:` | Analytical | Context-driven | Guidance | Adapt to context |
213
- | **Domain Knowledge** | `python:`, `typescript:` | Technology | Context-driven | Patterns | Adapt to context |
214
- | **Utility** | `code:` | Task-specific | User command | Result | Use as needed |
242
+ ### The planning workflow
215
243
 
216
- - **Workflow** (`spec:`) — Sequential steps that produce artifacts. Follow them in order.
217
- - **Thinking** (`oracle:`) — Analytical capabilities that reason about your specific problem.
218
- - **Domain Knowledge** (`python-*`, `typescript-*`) — Stack-specific patterns and best practices. Like having a senior engineer for that technology.
219
- - **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.
220
247
 
221
- ### The Spec Workflow
248
+ The full planning workflow is:
222
249
 
223
250
  ```mermaid
224
251
  graph LR
225
- A[spec-brainstorm] -->|design.md| B[spec-plan]
226
- B -->|plan.json| C[spec-implement]
227
- C --> D[spec-finish]
228
- D -.->|invokes| E[code-pull-request]
229
-
230
- B -.->|design flaw| A
231
- C -.->|missing tasks| B
232
- C -.->|fundamental issue| A
233
- 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
234
262
  ```
235
263
 
236
- **Standard flow:**
237
- 1. **Research** - Discovery + research + architecture → `design.md`
238
- 2. **Plan** - Break into tasks → `plan.json`
239
- 3. **Implement** - Execute with TDD
240
- 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`.
241
271
 
242
- **Iteration is normal** - Backflows (dotted lines) are expected when:
243
- - Planning reveals design flaws → back to research
244
- - Implementation finds missing tasks → update plan
245
- - 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.
246
274
 
247
- ### When to Use Which Skill
275
+ ### When to use which skill
248
276
 
249
277
  | User says | Skill invoked |
250
278
  |------------|---------------|
251
- | "Create a spec for X" | spec-brainstorm |
252
- | "What should we build" | spec-brainstorm |
253
- | "Write a plan" | spec-plan |
254
- | "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 |
255
283
  | "Review this code" | code-review |
256
284
  | "Open a PR" | code-pull-request |
257
285
  | "Merge this PR" | code-pull-request |
@@ -261,7 +289,7 @@ graph LR
261
289
 
262
290
  ## Development
263
291
 
264
- 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`:
265
293
 
266
294
  ```bash
267
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