@martinffx/atelier 1.4.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +95 -220
  3. package/agents/architect.md +6 -6
  4. package/agents/oracle.md +1 -1
  5. package/agents/{recon.md → sentinel.md} +3 -3
  6. package/dist/atelier.js +167 -26
  7. package/package.json +2 -1
  8. package/skills/atelier-orchestrator/SKILL.md +180 -0
  9. package/skills/atelier-setup/SKILL.md +80 -0
  10. package/skills/code-review/SKILL.md +2 -2
  11. package/skills/code-review/references/reviewers.md +3 -3
  12. package/skills/code-review/references/rq.md +9 -9
  13. package/skills/code-subagents/SKILL.md +44 -75
  14. package/skills/code-subagents/references/batch-reviewer-prompt.md +44 -0
  15. package/skills/code-subagents/references/implementor-prompt.md +10 -11
  16. package/skills/spec-brainstorm/SKILL.md +21 -16
  17. package/skills/spec-finish/SKILL.md +14 -14
  18. package/skills/spec-implement/SKILL.md +42 -42
  19. package/skills/spec-plan/SKILL.md +72 -26
  20. package/skills/spec-plan/references/plan_template.md +77 -0
  21. package/skills/code-subagents/references/code-quality-reviewer-prompt.md +0 -48
  22. package/skills/code-subagents/references/spec-reviewer-prompt.md +0 -62
  23. package/skills/python-architecture/SKILL.md +0 -148
  24. package/skills/python-architecture/references/data-modeling.md +0 -558
  25. package/skills/python-architecture/references/ddd.md +0 -569
  26. package/skills/python-architecture/references/functional-core.md +0 -337
  27. package/skills/python-build-tools/SKILL.md +0 -153
  28. package/skills/python-build-tools/references/basedpyright.md +0 -321
  29. package/skills/python-build-tools/references/ruff.md +0 -225
  30. package/skills/python-build-tools/references/uv.md +0 -257
  31. package/skills/python-fastapi/SKILL.md +0 -184
  32. package/skills/python-fastapi/references/api-design.md +0 -563
  33. package/skills/python-fastapi/references/dependencies.md +0 -479
  34. package/skills/python-fastapi/references/middleware.md +0 -475
  35. package/skills/python-fastapi/references/validation.md +0 -497
  36. package/skills/python-modern-python/SKILL.md +0 -201
  37. package/skills/python-modern-python/references/async.md +0 -76
  38. package/skills/python-modern-python/references/pattern-matching.md +0 -89
  39. package/skills/python-modern-python/references/typing.md +0 -96
  40. package/skills/python-monorepo/SKILL.md +0 -146
  41. package/skills/python-monorepo/references/docker.md +0 -515
  42. package/skills/python-monorepo/references/namespace-packages.md +0 -426
  43. package/skills/python-monorepo/references/workspace-config.md +0 -341
  44. package/skills/python-sqlalchemy/SKILL.md +0 -119
  45. package/skills/python-sqlalchemy/references/async.md +0 -51
  46. package/skills/python-sqlalchemy/references/models.md +0 -67
  47. package/skills/python-sqlalchemy/references/queries.md +0 -57
  48. package/skills/python-temporal/SKILL.md +0 -128
  49. package/skills/python-temporal/references/patterns.md +0 -87
  50. package/skills/python-temporal/references/testing.md +0 -54
  51. package/skills/python-testing/SKILL.md +0 -161
  52. package/skills/python-testing/references/boundaries.md +0 -449
  53. package/skills/python-testing/references/mocking.md +0 -449
  54. package/skills/python-testing/references/pytest.md +0 -524
  55. package/skills/spec-orchestrator/SKILL.md +0 -145
  56. package/skills/typescript-api-design/SKILL.md +0 -396
  57. package/skills/typescript-api-design/references/error-responses.md +0 -469
  58. package/skills/typescript-build-tools/SKILL.md +0 -447
  59. package/skills/typescript-build-tools/references/biome.md +0 -436
  60. package/skills/typescript-build-tools/references/bun.md +0 -432
  61. package/skills/typescript-build-tools/references/turborepo.md +0 -426
  62. package/skills/typescript-build-tools/references/vitest.md +0 -518
  63. package/skills/typescript-drizzle-orm/SKILL.md +0 -398
  64. package/skills/typescript-drizzle-orm/references/cloudflare.md +0 -392
  65. package/skills/typescript-drizzle-orm/references/entity-pattern.md +0 -412
  66. package/skills/typescript-drizzle-orm/references/postgresql.md +0 -191
  67. package/skills/typescript-drizzle-orm/references/repository-pattern.md +0 -479
  68. package/skills/typescript-drizzle-orm/references/sqlite.md +0 -291
  69. package/skills/typescript-dynamodb-toolbox/SKILL.md +0 -370
  70. package/skills/typescript-dynamodb-toolbox/references/entity-layer.md +0 -574
  71. package/skills/typescript-dynamodb-toolbox/references/error-handling.md +0 -495
  72. package/skills/typescript-dynamodb-toolbox/references/modeling.md +0 -332
  73. package/skills/typescript-dynamodb-toolbox/references/repository-layer.md +0 -631
  74. package/skills/typescript-dynamodb-toolbox/references/testing.md +0 -718
  75. package/skills/typescript-dynamodb-toolbox/references/transactions.md +0 -423
  76. package/skills/typescript-effect-ts/SKILL.md +0 -341
  77. package/skills/typescript-effect-ts/references/core.md +0 -412
  78. package/skills/typescript-effect-ts/references/error-handling.md +0 -468
  79. package/skills/typescript-effect-ts/references/resources.md +0 -476
  80. package/skills/typescript-effect-ts/references/schema.md +0 -536
  81. package/skills/typescript-effect-ts/references/services.md +0 -461
  82. package/skills/typescript-fastify/SKILL.md +0 -405
  83. package/skills/typescript-fastify/references/plugins.md +0 -329
  84. package/skills/typescript-fastify/references/typeid.md +0 -315
  85. package/skills/typescript-functional-patterns/SKILL.md +0 -402
  86. package/skills/typescript-functional-patterns/references/adts.md +0 -497
  87. package/skills/typescript-functional-patterns/references/branded-types.md +0 -542
  88. package/skills/typescript-functional-patterns/references/migration-guide.md +0 -695
  89. package/skills/typescript-functional-patterns/references/option-result.md +0 -585
  90. package/skills/typescript-testing/SKILL.md +0 -353
  91. package/skills/typescript-testing/references/mocking.md +0 -675
  92. package/skills/typescript-testing/references/msw.md +0 -852
  93. package/skills/typescript-testing/references/snapshot-testing.md +0 -774
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
+ ## [3.0.0](https://github.com/martinffx/atelier/compare/v2.0.0...v3.0.0) (2026-07-31)
8
+
9
+
10
+ ### ⚠ BREAKING CHANGES
11
+
12
+ * **claude:** consolidate plugins under atelier
13
+ * **skills:** split language skills into companion repositories
14
+
15
+ ### Features
16
+
17
+ * **claude:** consolidate plugins under atelier ([745f872](https://github.com/martinffx/atelier/commit/745f872193ac841074ddc16f788ded5c92cf9744))
18
+ * **skills:** add atelier setup workflow ([69a7a93](https://github.com/martinffx/atelier/commit/69a7a9350c2f8e7d8a6001143cb4f4233f462117))
19
+ * **skills:** split language skills into companion repositories ([b1fb1f7](https://github.com/martinffx/atelier/commit/b1fb1f7db942283bca5f067848c55e0dcc6c228f))
20
+
21
+ ## [2.0.0](https://github.com/martinffx/atelier/compare/v1.4.0...v2.0.0) (2026-07-27)
22
+
23
+
24
+ ### ⚠ BREAKING CHANGES
25
+
26
+ * **agents:** rename recon to sentinel
27
+
28
+ ### Features
29
+
30
+ * **agents:** rename recon to sentinel ([bf69c50](https://github.com/martinffx/atelier/commit/bf69c50d7f69d0c1f7fc36d1d384914d99def81d))
31
+ * **cursor:** add Cursor harness support ([c0ed4e3](https://github.com/martinffx/atelier/commit/c0ed4e356d3a34a085ca5f11344876bdf59ae618))
32
+ * **cursor:** add subagent adapter foundation ([7b17972](https://github.com/martinffx/atelier/commit/7b1797267b96b502cb8002cdb1a7bac707978a7d))
33
+ * **workflow:** add inline planning mode ([3faefd4](https://github.com/martinffx/atelier/commit/3faefd4d14425c9188ed7a34b42afbdf6eca19ff))
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * **workflow:** keep inline plans lightweight ([c30bc12](https://github.com/martinffx/atelier/commit/c30bc12543a61e3e645336fe6760fb994e125abd))
39
+ * **workflow:** simplify execution and subagent review ([694e846](https://github.com/martinffx/atelier/commit/694e846af9953f8337734e0dab44e34a0f3a2acc))
40
+
3
41
  ## [1.4.0](https://github.com/martinffx/atelier/compare/v1.3.0...v1.4.0) (2026-07-18)
4
42
 
5
43
 
package/README.md CHANGED
@@ -2,277 +2,152 @@
2
2
 
3
3
  ![Atelier - A collaborative workshop for software development](atelier.jpg)
4
4
 
5
- > An atelier is the private workshop or studio where a principal master and a number of assistants, students, and apprentices can work together producing fine art or visual art released under the master's name or supervision.
6
- >
7
- > [Wikipedia](https://en.wikipedia.org/wiki/Atelier)
5
+ > A personal development toolkit for AI agents. It covers spec-driven development, code quality, and deep thinking.
8
6
 
9
- A personal development toolkit for AI agents - spec-driven development, code quality, deep thinking, and ecosystem patterns.
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.
12
-
13
- ## Quick Start
14
-
15
- Install Atelier with a single command. It configures agents and harness-native settings for Claude Code, OpenCode, or Codex:
16
-
17
- ```bash
18
- # Initialize atelier for your harness
19
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex>
20
-
21
- # Non-interactive mode (CI/CD)
22
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex> --yes
23
- ```
24
-
25
- That's it. Your project is now configured for spec-driven development.
26
-
27
- ## What Gets Installed
28
-
29
- Atelier sets up two things:
30
-
31
- ### 1. Skills (28 available)
32
-
33
- Specialized knowledge modules that auto-invoke based on context. Install them separately:
7
+ Atelier gives coding agents a disciplined way to move from an idea to reviewed, verified code without taking control away from the developer.
34
8
 
35
9
  ```bash
36
10
  npx skills add martinffx/atelier
11
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor>
37
12
  ```
38
13
 
39
- ### 2. Agent Personas (3 subagents)
40
-
41
- Harness-agnostic agent definitions configured with appropriate models:
14
+ ## How Atelier works
42
15
 
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 |
16
+ Atelier uses as much process as each request needs. Bounded work gets a concise plan in the conversation. Substantial work gets a durable spec, an implementation plan, and tracked execution. The developer approves the plan before implementation begins.
48
17
 
49
- Agents are generated into harness-specific locations (`.claude/agents/`, `.opencode/agent/`, `.codex/agents/`) with harness-native model identifiers.
50
-
51
- ### 3. Task Tracking (optional)
52
-
53
- The spec workflow skills support **beads** for dependency-aware task tracking:
54
-
55
- ```bash
56
- # Install beads (optional but recommended)
57
- npm install -g beads
58
- ```
59
-
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.
61
-
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).
63
-
64
- ### 4. Configuration
65
-
66
- Single source of truth in `.atelier/config.json`:
67
-
68
- ```json
69
- {
70
- "version": "1.0.0",
71
- "skills_source": "martinffx/atelier",
72
- "skills_path": "~/.agents/skills",
73
- "claude": {
74
- "provider": "anthropic",
75
- "default_model": "opusplan",
76
- "agents": [
77
- { "template": "recon", "name": "recon", "model": "haiku" },
78
- { "template": "oracle", "name": "oracle", "model": "opus" },
79
- { "template": "architect", "name": "architect", "model": "opus" }
80
- ]
81
- }
82
- }
83
- ```
84
-
85
- ## CLI Commands
86
-
87
- ### `init` (default)
88
-
89
- Initialize atelier for a single harness. Each invocation configures one harness; run it multiple times to configure several.
90
-
91
- ```bash
92
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex> [options]
18
+ ```mermaid
19
+ flowchart TD
20
+ R[Request] --> O[atelier-orchestrator]
21
+
22
+ O -->|Bounded work| IP[spec-plan: Inline Plan]
23
+ IP --> IA{Developer approval}
24
+ IA -->|Approved| I[Implement directly]
25
+ IA -.->|Revise| IP
26
+ I --> V[Validate]
27
+ V -.->|Issues found| I
28
+ IP -.->|Needs brainstorming| B
29
+ I -.->|Needs brainstorming| B
30
+
31
+ O -->|Substantial work| B[spec-brainstorm]
32
+ B --> D[design.md]
33
+ D --> G[oracle-grill-me]
34
+ G --> P[spec-plan]
35
+ G -.->|Refine design| D
36
+ P --> SA{Developer approval}
37
+ SA -->|Approved| J[plan.json]
38
+ SA -.->|Revise plan| P
39
+ SA -.->|Revisit design| B
40
+ J --> SI[spec-implement]
41
+ SI --> CR[code-review]
42
+ CR --> F[spec-finish]
43
+ F --> PR[code-pull-request]
44
+ SI -.->|Revise plan| P
45
+ SI -.->|Revisit design| B
46
+ F -.->|Issues found| SI
93
47
  ```
94
48
 
95
- **Options:**
96
- - `--harness <type>` - Harness type (`claude`, `opencode`, or `codex`)
97
- - `--yes` - Non-interactive mode with default models
98
-
99
- **Idempotent**: Re-running `init` for the same harness is safe. It regenerates files without deleting anything unless you switch harnesses.
100
-
101
- ### `update`
49
+ The workflow is deliberately harder to rush than an unstructured agent session. It records decisions when they need to survive the conversation, keeps implementation tied to an approved plan, and requires evidence before calling the work complete.
102
50
 
103
- Refresh agents and harness-native config for one harness without touching skills:
104
-
105
- ```bash
106
- npx @martinffx/atelier@latest update --harness <claude|opencode|codex>
107
- ```
51
+ ## Grill the idea
108
52
 
109
- ### `remove`
53
+ [`oracle-grill-me`](skills/oracle-grill-me/SKILL.md) interviews you one question at a time until the important decisions are explicit. It researches facts from the codebase instead of asking you to supply them, gives a recommended answer for each decision, and leaves the final choice with you.
110
54
 
111
- Remove all atelier-generated files for one harness:
55
+ As the discussion resolves, it maintains the project's domain language and architectural decisions. Use it on a proposal, plan, migration, or design that feels settled a little too quickly.
112
56
 
113
- ```bash
114
- npx @martinffx/atelier@latest remove --harness <claude|opencode|codex>
57
+ ```text
58
+ Grill me on this migration plan
115
59
  ```
116
60
 
117
- Skills remain installed. Run `npx skills remove martinffx/atelier` to remove them separately.
118
-
119
- ## Skills
120
-
121
- This repository includes 28 skills that enhance AI agents with specialized knowledge and workflows.
61
+ ## Review the code
122
62
 
123
- ### Installing Skills
124
-
125
- Install skills manually:
126
-
127
- ```bash
128
- # Install all skills
129
- npx skills add martinffx/atelier
63
+ [`code-review`](skills/code-review/SKILL.md) runs a multi-agent review rather than asking one agent for a general opinion. Sentinel triages the diff, specialist reviewers examine likely failure modes in parallel, Architect checks design boundaries, and a final challenge pass removes weak or unsupported findings.
130
64
 
131
- # Install specific skills
132
- npx skills add martinffx/atelier --skill typescript-drizzle-orm
133
- npx skills add martinffx/atelier --skill python-fastapi
134
- npx skills add martinffx/atelier --skill spec-brainstorm
65
+ ```text
66
+ rq # Review the diff to main
67
+ rq develop # Review against another branch
68
+ rs # Work through the findings
135
69
  ```
136
70
 
137
- ### Skill Types
138
-
139
- Skills fall into four categories based on what they do:
140
-
141
- #### Workflow Skills (`spec:*`)
142
-
143
- Process-oriented skills that guide you through structured development workflows. These produce artifacts and should be followed step-by-step.
144
-
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
150
-
151
- #### Thinking Skills (`oracle:*`)
71
+ It reports findings before changing code. You decide which fixes to apply.
152
72
 
153
- Analytical skills that provide patterns, principles, and deep reasoning. These adapt to your specific situation.
73
+ ## What you get
154
74
 
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
75
+ Atelier installs a focused set of skills for the full development loop:
158
76
 
159
- #### Domain Knowledge (`python:*`, `typescript:*`)
77
+ | Area | Capabilities |
78
+ |------|--------------|
79
+ | Spec workflow | Discovery, research, planning, implementation, validation, and finishing |
80
+ | Thinking | Root-cause debugging, decision grilling, and domain modelling |
81
+ | Delivery | Multi-agent review, subagent coordination, commits, handoffs, and pull requests |
160
82
 
161
- Technology-specific patterns and best practices. These are like having a senior engineer for that stack.
83
+ The CLI also configures three specialist agents for Claude Code, OpenCode, Codex, or Cursor:
162
84
 
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
85
+ | Agent | Role |
86
+ |-------|------|
87
+ | **Sentinel** | Fast codebase reconnaissance and review triage |
88
+ | **Oracle** | Requirements, trade-offs, and adversarial analysis |
89
+ | **Architect** | Domain modelling, system design, and architecture review |
172
90
 
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
91
+ Run `npx @martinffx/atelier@latest --help` for CLI commands and options. Each skill contains its own operating instructions and loads when its context applies.
182
92
 
183
- #### Utility Skills (`code:*`)
93
+ ## Ecosystem
184
94
 
185
- Task-specific tools you invoke when you need them.
95
+ Language-specific guidance lives in companion repositories:
186
96
 
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
97
+ - [Python skills](https://github.com/martinffx/python-skills)
98
+ - [TypeScript skills](https://github.com/martinffx/typescript-skills)
192
99
 
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.
100
+ ## Rationale and inspiration
194
101
 
195
- ## How Skills Work
102
+ 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.
196
103
 
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.
104
+ 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.
198
105
 
199
- ### Namespace Philosophy
106
+ Atelier draws on spec-driven development and several projects that informed its approach to agent collaboration:
200
107
 
201
- Skills are organized into four categories based on their role:
108
+ - [Agent OS](https://github.com/buildermethods/agent-os) for discovering project standards and shaping lightweight specs.
109
+ - [OpenSpec](https://github.com/Fission-AI/OpenSpec) for fluid, artifact-guided workflows that support iteration and brownfield development.
110
+ - [GitHub Spec Kit](https://github.com/github/spec-kit) for making specifications central to a structured specify, plan, tasks, and implement workflow.
111
+ - [Superpowers](https://github.com/obra/superpowers) for composable skills, mandatory engineering workflows, TDD, and evidence-based verification.
112
+ - [Matt Pocock's Skills](https://github.com/mattpocock/skills) for small, adaptable skills grounded in practical engineering and developer control.
202
113
 
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 |
114
+ Some Atelier skills have more direct lineage:
209
115
 
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.
116
+ | Atelier skill | Source skill | Relationship |
117
+ |---------------|--------------|--------------|
118
+ | [`atelier-orchestrator`](skills/atelier-orchestrator/SKILL.md) | Superpowers [`using-superpowers`](https://github.com/obra/superpowers/tree/main/skills/using-superpowers) | Adapted from its mandatory skill-routing discipline. |
119
+ | [`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. |
120
+ | [`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. |
121
+ | [`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. |
122
+ | [`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. |
123
+ | [`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. |
124
+ | [`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. |
125
+ | [`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. |
126
+ | [`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. |
127
+ | [`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. |
214
128
 
215
- ### The Spec Workflow
129
+ [`code-commit`](skills/code-commit/SKILL.md) follows the [Conventional Commits](https://www.conventionalcommits.org/) specification.
216
130
 
217
- ```mermaid
218
- 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
228
- ```
229
-
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
235
-
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
240
-
241
- ### When to Use Which Skill
242
-
243
- | User says | Skill invoked |
244
- |------------|---------------|
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 |
249
- | "Review this code" | code-review |
250
- | "Open a PR" | code-pull-request |
251
- | "Merge this PR" | code-pull-request |
252
- | "Read PR comments" | code-pull-request |
253
- | "Leave a comment on the PR" | code-pull-request |
254
- | "Debug this" | oracle-debug |
131
+ Atelier adapts these ideas into an opinionated toolkit that works across harnesses. It does not claim to have invented the practices it uses.
255
132
 
256
133
  ## Development
257
134
 
258
- For local development with Claude Code, use the `--plugin-dir` flag to load skills directly:
135
+ Load the repository directly in Claude Code:
259
136
 
260
137
  ```bash
261
138
  claude --plugin-dir ./atelier
262
139
  ```
263
140
 
264
- Restart Claude Code after making changes to reload skills.
265
-
266
- To work on the CLI itself:
141
+ Build and test the CLI:
267
142
 
268
143
  ```bash
269
- # Build the CLI
270
144
  bun run build
271
-
272
- # Test locally
273
- bun ./dist/atelier.js init --yes
145
+ bun test
146
+ bun run typecheck
274
147
  ```
275
148
 
149
+ Restart your coding harness after changing skills so it reloads their definitions.
150
+
276
151
  ## License
277
152
 
278
153
  MIT Copyright (c) 2026 Martin Richards
@@ -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