@martinffx/atelier 2.0.0 → 3.0.1

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 (81) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +94 -253
  3. package/package.json +1 -1
  4. package/skills/{spec-orchestrator → atelier-orchestrator}/SKILL.md +3 -3
  5. package/skills/atelier-setup/SKILL.md +80 -0
  6. package/skills/code-review/references/reviewers.md +3 -3
  7. package/skills/code-review/references/rq.md +6 -6
  8. package/skills/spec-brainstorm/SKILL.md +5 -5
  9. package/skills/spec-implement/SKILL.md +2 -3
  10. package/skills/spec-plan/SKILL.md +21 -29
  11. package/skills/spec-plan/references/plan_template.md +77 -0
  12. package/skills/python-architecture/SKILL.md +0 -148
  13. package/skills/python-architecture/references/data-modeling.md +0 -558
  14. package/skills/python-architecture/references/ddd.md +0 -569
  15. package/skills/python-architecture/references/functional-core.md +0 -337
  16. package/skills/python-build-tools/SKILL.md +0 -153
  17. package/skills/python-build-tools/references/basedpyright.md +0 -321
  18. package/skills/python-build-tools/references/ruff.md +0 -225
  19. package/skills/python-build-tools/references/uv.md +0 -257
  20. package/skills/python-fastapi/SKILL.md +0 -184
  21. package/skills/python-fastapi/references/api-design.md +0 -563
  22. package/skills/python-fastapi/references/dependencies.md +0 -479
  23. package/skills/python-fastapi/references/middleware.md +0 -475
  24. package/skills/python-fastapi/references/validation.md +0 -497
  25. package/skills/python-modern-python/SKILL.md +0 -201
  26. package/skills/python-modern-python/references/async.md +0 -76
  27. package/skills/python-modern-python/references/pattern-matching.md +0 -89
  28. package/skills/python-modern-python/references/typing.md +0 -96
  29. package/skills/python-monorepo/SKILL.md +0 -146
  30. package/skills/python-monorepo/references/docker.md +0 -515
  31. package/skills/python-monorepo/references/namespace-packages.md +0 -426
  32. package/skills/python-monorepo/references/workspace-config.md +0 -341
  33. package/skills/python-sqlalchemy/SKILL.md +0 -119
  34. package/skills/python-sqlalchemy/references/async.md +0 -51
  35. package/skills/python-sqlalchemy/references/models.md +0 -67
  36. package/skills/python-sqlalchemy/references/queries.md +0 -57
  37. package/skills/python-temporal/SKILL.md +0 -128
  38. package/skills/python-temporal/references/patterns.md +0 -87
  39. package/skills/python-temporal/references/testing.md +0 -54
  40. package/skills/python-testing/SKILL.md +0 -161
  41. package/skills/python-testing/references/boundaries.md +0 -449
  42. package/skills/python-testing/references/mocking.md +0 -449
  43. package/skills/python-testing/references/pytest.md +0 -524
  44. package/skills/typescript-api-design/SKILL.md +0 -396
  45. package/skills/typescript-api-design/references/error-responses.md +0 -469
  46. package/skills/typescript-build-tools/SKILL.md +0 -447
  47. package/skills/typescript-build-tools/references/biome.md +0 -436
  48. package/skills/typescript-build-tools/references/bun.md +0 -432
  49. package/skills/typescript-build-tools/references/turborepo.md +0 -426
  50. package/skills/typescript-build-tools/references/vitest.md +0 -518
  51. package/skills/typescript-drizzle-orm/SKILL.md +0 -398
  52. package/skills/typescript-drizzle-orm/references/cloudflare.md +0 -392
  53. package/skills/typescript-drizzle-orm/references/entity-pattern.md +0 -412
  54. package/skills/typescript-drizzle-orm/references/postgresql.md +0 -191
  55. package/skills/typescript-drizzle-orm/references/repository-pattern.md +0 -479
  56. package/skills/typescript-drizzle-orm/references/sqlite.md +0 -291
  57. package/skills/typescript-dynamodb-toolbox/SKILL.md +0 -370
  58. package/skills/typescript-dynamodb-toolbox/references/entity-layer.md +0 -574
  59. package/skills/typescript-dynamodb-toolbox/references/error-handling.md +0 -495
  60. package/skills/typescript-dynamodb-toolbox/references/modeling.md +0 -332
  61. package/skills/typescript-dynamodb-toolbox/references/repository-layer.md +0 -631
  62. package/skills/typescript-dynamodb-toolbox/references/testing.md +0 -718
  63. package/skills/typescript-dynamodb-toolbox/references/transactions.md +0 -423
  64. package/skills/typescript-effect-ts/SKILL.md +0 -341
  65. package/skills/typescript-effect-ts/references/core.md +0 -412
  66. package/skills/typescript-effect-ts/references/error-handling.md +0 -468
  67. package/skills/typescript-effect-ts/references/resources.md +0 -476
  68. package/skills/typescript-effect-ts/references/schema.md +0 -536
  69. package/skills/typescript-effect-ts/references/services.md +0 -461
  70. package/skills/typescript-fastify/SKILL.md +0 -405
  71. package/skills/typescript-fastify/references/plugins.md +0 -329
  72. package/skills/typescript-fastify/references/typeid.md +0 -315
  73. package/skills/typescript-functional-patterns/SKILL.md +0 -402
  74. package/skills/typescript-functional-patterns/references/adts.md +0 -497
  75. package/skills/typescript-functional-patterns/references/branded-types.md +0 -542
  76. package/skills/typescript-functional-patterns/references/migration-guide.md +0 -695
  77. package/skills/typescript-functional-patterns/references/option-result.md +0 -585
  78. package/skills/typescript-testing/SKILL.md +0 -353
  79. package/skills/typescript-testing/references/mocking.md +0 -675
  80. package/skills/typescript-testing/references/msw.md +0 -852
  81. package/skills/typescript-testing/references/snapshot-testing.md +0 -774
package/CHANGELOG.md CHANGED
@@ -4,6 +4,27 @@
4
4
 
5
5
  - **breaking:** rename the `recon` agent to `sentinel`. Existing Atelier configuration is migrated automatically and legacy generated files are removed during the next command.
6
6
 
7
+ ## [3.0.1](https://github.com/martinffx/atelier/compare/v3.0.0...v3.0.1) (2026-07-31)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **marketplace:** register atelier setup skill ([41c0624](https://github.com/martinffx/atelier/commit/41c06243ba65330f9f47bf871040e657690dce28))
13
+
14
+ ## [3.0.0](https://github.com/martinffx/atelier/compare/v2.0.0...v3.0.0) (2026-07-31)
15
+
16
+
17
+ ### ⚠ BREAKING CHANGES
18
+
19
+ * **claude:** consolidate plugins under atelier
20
+ * **skills:** split language skills into companion repositories
21
+
22
+ ### Features
23
+
24
+ * **claude:** consolidate plugins under atelier ([745f872](https://github.com/martinffx/atelier/commit/745f872193ac841074ddc16f788ded5c92cf9744))
25
+ * **skills:** add atelier setup workflow ([69a7a93](https://github.com/martinffx/atelier/commit/69a7a9350c2f8e7d8a6001143cb4f4233f462117))
26
+ * **skills:** split language skills into companion repositories ([b1fb1f7](https://github.com/martinffx/atelier/commit/b1fb1f7db942283bca5f067848c55e0dcc6c228f))
27
+
7
28
  ## [2.0.0](https://github.com/martinffx/atelier/compare/v1.4.0...v2.0.0) (2026-07-27)
8
29
 
9
30
 
package/README.md CHANGED
@@ -2,27 +2,100 @@
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. It covers spec-driven development, code quality, deep thinking, and ecosystem patterns.
7
+ Atelier gives coding agents a disciplined way to move from an idea to reviewed, verified code without taking control away from the developer.
10
8
 
11
- Atelier includes skills installed with `npx skills` and a small CLI for generating agent definitions and configuration for supported harnesses.
9
+ ```bash
10
+ npx skills add martinffx/atelier
11
+ npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor>
12
+ ```
12
13
 
13
- ## Quick start
14
+ ## How Atelier works
14
15
 
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
+ 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.
16
17
 
17
- ```bash
18
- # Initialize atelier for your harness
19
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor>
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
47
+ ```
48
+
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.
50
+
51
+ ## Grill the idea
52
+
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.
54
+
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.
20
56
 
21
- # Non-interactive mode (CI/CD)
22
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor> --yes
57
+ ```text
58
+ Grill me on this migration plan
23
59
  ```
24
60
 
25
- Your project is ready to use the spec workflow.
61
+ ## Review the code
62
+
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.
64
+
65
+ ```text
66
+ rq # Review the diff to main
67
+ rq develop # Review against another branch
68
+ rs # Work through the findings
69
+ ```
70
+
71
+ It reports findings before changing code. You decide which fixes to apply.
72
+
73
+ ## What you get
74
+
75
+ Atelier installs a focused set of skills for the full development loop:
76
+
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 |
82
+
83
+ The CLI also configures three specialist agents for Claude Code, OpenCode, Codex, or Cursor:
84
+
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 |
90
+
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.
92
+
93
+ ## Ecosystem
94
+
95
+ Language-specific guidance lives in companion repositories:
96
+
97
+ - [Python skills](https://github.com/martinffx/python-skills)
98
+ - [TypeScript skills](https://github.com/martinffx/typescript-skills)
26
99
 
27
100
  ## Rationale and inspiration
28
101
 
@@ -42,7 +115,7 @@ Some Atelier skills have more direct lineage:
42
115
 
43
116
  | Atelier skill | Source skill | Relationship |
44
117
  |---------------|--------------|--------------|
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. |
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. |
46
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. |
47
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. |
48
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. |
@@ -53,260 +126,28 @@ Some Atelier skills have more direct lineage:
53
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. |
54
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. |
55
128
 
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.
129
+ [`code-commit`](skills/code-commit/SKILL.md) follows the [Conventional Commits](https://www.conventionalcommits.org/) specification.
57
130
 
58
131
  Atelier adapts these ideas into an opinionated toolkit that works across harnesses. It does not claim to have invented the practices it uses.
59
132
 
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:
67
-
68
- ```bash
69
- npx skills add martinffx/atelier
70
- ```
71
-
72
- ### 2. Agent personas (3 subagents)
73
-
74
- Agent definitions are generated for each supported harness with appropriate models:
75
-
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 |
81
-
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.
83
-
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.
85
-
86
- ### 3. Task tracking (optional)
87
-
88
- The spec workflow can use **beads** for dependency-aware task tracking:
89
-
90
- ```bash
91
- # Install beads (optional but recommended)
92
- npm install -g beads
93
- ```
94
-
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.
96
-
97
- If beads is unavailable, skills use the harness's native todo system: TodoWrite for Claude Code or built-in todos for OpenCode.
98
-
99
- ### 4. Configuration
100
-
101
- Single source of truth in `.atelier/config.json`:
102
-
103
- ```json
104
- {
105
- "version": "1.0.0",
106
- "skills_source": "martinffx/atelier",
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
- }
117
- }
118
- ```
119
-
120
- ## CLI commands
121
-
122
- ### `init` (default)
123
-
124
- Initialize Atelier for one harness. Run the command again for each additional harness.
125
-
126
- ```bash
127
- npx @martinffx/atelier@latest init --harness <claude|opencode|codex|cursor> [options]
128
- ```
129
-
130
- Options:
131
- - `--harness <type>` - Harness type (`claude`, `opencode`, `codex`, or `cursor`)
132
- - `--yes` - Non-interactive mode with default models
133
-
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.
135
-
136
- ### `update`
137
-
138
- Refresh agents and harness-native config for one harness without touching skills:
139
-
140
- ```bash
141
- npx @martinffx/atelier@latest update --harness <claude|opencode|codex|cursor>
142
- ```
143
-
144
- ### `remove`
145
-
146
- Remove all atelier-generated files for one harness:
147
-
148
- ```bash
149
- npx @martinffx/atelier@latest remove --harness <claude|opencode|codex|cursor>
150
- ```
151
-
152
- Skills remain installed. Run `npx skills remove martinffx/atelier` to remove them separately.
153
-
154
- ## Skills
155
-
156
- This repository includes 29 skills for agent workflows and stack-specific guidance.
157
-
158
- ### Installing skills
159
-
160
- Install skills manually:
161
-
162
- ```bash
163
- # Install all skills
164
- npx skills add martinffx/atelier
165
-
166
- # Install specific skills
167
- npx skills add martinffx/atelier --skill typescript-drizzle-orm
168
- npx skills add martinffx/atelier --skill python-fastapi
169
- npx skills add martinffx/atelier --skill spec-brainstorm
170
- ```
171
-
172
- ### Skill organization
173
-
174
- Atelier has three core skill namespaces:
175
-
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 |
181
-
182
- #### Workflow (`spec:*`)
183
-
184
- These skills guide plan-first development. Inline Plans stay in the conversation; substantial
185
- work uses persisted spec artifacts.
186
-
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
192
-
193
- #### Thinking (`oracle:*`)
194
-
195
- These skills provide analytical methods and reasoning patterns that adapt to the problem at hand.
196
-
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
200
-
201
- #### Utilities (`code:*`)
202
-
203
- These skills handle discrete tasks when you invoke them.
204
-
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
210
-
211
- #### Stack-specific knowledge
212
-
213
- Python and TypeScript skills provide technology-specific patterns and practices. They support work across the `spec`, `oracle`, and `code` namespaces.
214
-
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
224
-
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
234
-
235
- Skills load based on their descriptions when the work calls for them. Install them once, then agents can use them as needed.
236
-
237
- ## How skills work
238
-
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`.
241
-
242
- ### The planning workflow
243
-
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.
247
-
248
- The full planning workflow is:
249
-
250
- ```mermaid
251
- graph LR
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
262
- ```
263
-
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`.
271
-
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.
274
-
275
- ### When to use which skill
276
-
277
- | User says | Skill invoked |
278
- |------------|---------------|
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 |
283
- | "Review this code" | code-review |
284
- | "Open a PR" | code-pull-request |
285
- | "Merge this PR" | code-pull-request |
286
- | "Read PR comments" | code-pull-request |
287
- | "Leave a comment on the PR" | code-pull-request |
288
- | "Debug this" | oracle-debug |
289
-
290
133
  ## Development
291
134
 
292
- For local development with Claude Code, load skills directly with `--plugin-dir`:
135
+ Load the repository directly in Claude Code:
293
136
 
294
137
  ```bash
295
138
  claude --plugin-dir ./atelier
296
139
  ```
297
140
 
298
- Restart Claude Code after making changes to reload skills.
299
-
300
- To work on the CLI itself:
141
+ Build and test the CLI:
301
142
 
302
143
  ```bash
303
- # Build the CLI
304
144
  bun run build
305
-
306
- # Test locally
307
- bun ./dist/atelier.js init --yes
145
+ bun test
146
+ bun run typecheck
308
147
  ```
309
148
 
149
+ Restart your coding harness after changing skills so it reloads their definitions.
150
+
310
151
  ## License
311
152
 
312
153
  MIT Copyright (c) 2026 Martin Richards
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@martinffx/atelier",
3
- "version": "2.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Personal development toolkit - spec-driven development, code quality, deep thinking, and ecosystem patterns",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,8 +1,8 @@
1
1
  ---
2
- name: spec-orchestrator
2
+ name: atelier-orchestrator
3
3
  description: >
4
4
  Skill routing and workflow orchestration. Selects Inline Plan or Spec-backed Plan, routes
5
- to the correct workflow skill, and manages transitions between phases. Use when starting
5
+ to the correct workflow skill, and manages transitions between phases. Use when starting
6
6
  any conversation or task to determine which planning mode and skill apply.
7
7
  user-invocable: false
8
8
  ---
@@ -76,7 +76,7 @@ Do not infer substantial work from size alone. If no concrete signal applies, us
76
76
  ## Skill Routing
77
77
 
78
78
  ```
79
- spec-orchestrator → Select and announce planning mode
79
+ atelier-orchestrator → Select and announce planning mode
80
80
  spec-brainstorm → Spec-backed discovery + design → design.md
81
81
  spec-plan → Inline Plan or Spec-backed Plan → approval
82
82
  spec-implement → Execute approved Spec-backed Plans; track tasks
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: atelier-setup
3
+ description: Configure a repository's generic agent guidance for Atelier's development workflow. Use only when the user explicitly invokes atelier-setup; it inspects existing repository instructions and domain-document conventions, previews an idempotent project-guidance update, and writes only after approval. It does not install Atelier, configure a harness, or scaffold empty workflow artifacts.
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Atelier Setup
8
+
9
+ Set up generic repository guidance that Atelier skills need without taking ownership of the
10
+ developer's installation, harness configuration, or project structure. Explore first, present
11
+ the proposed edit exactly, and write only after the developer approves it.
12
+
13
+ ## 1. Explore
14
+
15
+ Read the repository before proposing any change:
16
+
17
+ - Root `AGENTS.md` and `CLAUDE.md`, if present. Note whether either already has an `## Agent skills`
18
+ heading.
19
+ - Root `CONTEXT.md` and `CONTEXT-MAP.md`.
20
+ - `docs/adr/` and any context-local `docs/adr/` directories.
21
+ - Genuine monorepo signals: a workspace manifest, or multiple independently deployable packages
22
+ with their own source directories.
23
+
24
+ Do not create, install, configure, or modify anything during exploration.
25
+
26
+ ## 2. Present Findings
27
+
28
+ Summarize what exists and recommend a domain-document layout:
29
+
30
+ - **Single-context** is the default: domain language belongs in root `CONTEXT.md`; architectural
31
+ decisions belong in root `docs/adr/`.
32
+ - **Multi-context** is appropriate only when the repository has genuinely separate bounded
33
+ contexts. `CONTEXT-MAP.md` belongs at the root and points to each context's `CONTEXT.md` and
34
+ `docs/adr/` directory.
35
+
36
+ Explain that these documents remain lazy: do not create `CONTEXT.md`, `CONTEXT-MAP.md`, or an ADR
37
+ directory until another Atelier skill has resolved terminology or made a decision worth recording.
38
+
39
+ Select the instruction file to edit:
40
+
41
+ 1. If both files exist, ask which file should own the agent guidance; do not duplicate it.
42
+ 2. Otherwise use root `AGENTS.md` when it exists.
43
+ 3. Otherwise use root `CLAUDE.md` when it exists.
44
+ 4. If neither exists, ask which instruction file to create; do not choose on the developer's behalf.
45
+
46
+ Show the developer the selected file, domain layout, and the exact `## Agent skills` block that will be
47
+ written. Stop and wait for explicit approval.
48
+
49
+ ## 3. Write After Approval
50
+
51
+ Add the following block to the selected instruction file:
52
+
53
+ ```markdown
54
+ ## Agent skills
55
+
56
+ ### Planning and implementation
57
+
58
+ Use `atelier-orchestrator` at the start of development work. It selects an Inline Plan for bounded
59
+ changes or a Spec-backed Plan when durable design and coordination artifacts are warranted.
60
+
61
+ ### Domain documentation
62
+
63
+ Before working in a domain area, read root `CONTEXT-MAP.md` when present and follow it to the
64
+ relevant context documentation. Otherwise, read root `CONTEXT.md` when present. Read relevant
65
+ architectural decisions under `docs/adr/` and any context-specific ADR directories.
66
+
67
+ If these documents do not exist, proceed silently. Create or update them only when domain
68
+ terminology or an architectural decision has been resolved.
69
+ ```
70
+
71
+ If an `## Agent skills` section already exists, update the `### Planning and implementation` and
72
+ `### Domain documentation` subsections in place rather than appending duplicates. Preserve other
73
+ subsections and all content outside the section, including user edits. Do not create any other
74
+ files or directories.
75
+
76
+ ## 4. Report
77
+
78
+ State which instruction file changed and the chosen domain-document layout. Remind the developer
79
+ that the layout is a convention only: the first domain-modelling or architectural-decision task
80
+ creates the relevant documents when it has substantive content.
@@ -673,7 +673,7 @@ prompt: |
673
673
 
674
674
  YOUR FIRST TASK - LOOK FOR RELEVANT SKILLS:
675
675
  As a Security Reviewer, look for relevant language, framework, testing, architecture, security, or tooling skills before reviewing.
676
- Load relevant skills if available, such as `typescript-testing`.
676
+ Load relevant installed language, framework, testing, architecture, security, or tooling skills.
677
677
  If no relevant skill is available or a skill cannot be loaded, continue with this reviewer prompt.
678
678
  Failure to find or load a skill is not a review failure.
679
679
 
@@ -719,7 +719,7 @@ prompt: |
719
719
 
720
720
  YOUR FIRST TASK - LOOK FOR RELEVANT SKILLS:
721
721
  As a Correctness Reviewer, look for relevant language, framework, testing, architecture, security, or tooling skills before reviewing.
722
- Load relevant skills if available, such as `typescript-testing`.
722
+ Load relevant installed language, framework, testing, architecture, security, or tooling skills.
723
723
  If no relevant skill is available or a skill cannot be loaded, continue with this reviewer prompt.
724
724
  Failure to find or load a skill is not a review failure.
725
725
 
@@ -755,7 +755,7 @@ prompt: |
755
755
 
756
756
  YOUR FIRST TASK - LOOK FOR RELEVANT SKILLS:
757
757
  As a PerformanceOperator Reviewer, look for relevant language, framework, testing, architecture, security, or tooling skills before reviewing.
758
- Load relevant skills if available, such as `typescript-testing`.
758
+ Load relevant installed language, framework, testing, architecture, security, or tooling skills.
759
759
  If no relevant skill is available or a skill cannot be loaded, continue with this reviewer prompt.
760
760
  Failure to find or load a skill is not a review failure.
761
761
 
@@ -67,8 +67,8 @@ prompt: |
67
67
  - Reviewers should load relevant skills that are available.
68
68
  - If no relevant skill is available, reviewers continue with their reviewer prompt.
69
69
  - Failure to find or load a skill is not a review failure.
70
- - TypeScript → typescript-testing, typescript-fastify (if fastify framework)
71
- - Python → python-modern-python, python-testing, python-fastapi (if fastapi framework)
70
+ - TypeScript → installed TypeScript language, testing, and framework skills
71
+ - Python → installed Python language, testing, and framework skills
72
72
  - Rust → rust-specific skills if available
73
73
  - Go → go-specific skills if available
74
74
 
@@ -81,7 +81,7 @@ prompt: |
81
81
  "domain": "web-api|frontend|database|..."
82
82
  },
83
83
  "reviewers": ["Security", "Correctness"],
84
- "skills_to_load": ["typescript-testing"]
84
+ "skills_to_load": ["relevant installed testing skill"]
85
85
  }
86
86
  ```
87
87
 
@@ -93,7 +93,7 @@ prompt: |
93
93
  {
94
94
  "context": { "language": "typescript", "framework": "fastify", "domain": "web-api" },
95
95
  "reviewers": ["Security", "Correctness", "PerformanceOperator"],
96
- "skills_to_load": ["typescript-testing"]
96
+ "skills_to_load": ["relevant installed testing skill"]
97
97
  }
98
98
  ```
99
99
 
@@ -114,7 +114,7 @@ Reviewer names are prompt personas, not subagent types. Do not use `general`, `S
114
114
  Before dispatching reviewers, the detected relevant skills are passed to each reviewer as best-effort guidance:
115
115
  ```json
116
116
  {
117
- "skills_to_load": ["typescript-testing"]
117
+ "skills_to_load": ["relevant installed testing skill"]
118
118
  }
119
119
  ```
120
120
 
@@ -263,7 +263,7 @@ prompt: |
263
263
 
264
264
  **PRE-STEP: Look for Relevant Skills**
265
265
  Before reviewing, look for relevant architecture and language architecture skills.
266
- Load relevant skills if available, such as `typescript-api-design` or the language skill for this codebase.
266
+ Load relevant installed language, framework, testing, architecture, security, or tooling skills.
267
267
  If no relevant skill is available or a skill cannot be loaded, continue with this architect prompt.
268
268
  Failure to find or load a skill is not a review failure.
269
269
 
@@ -5,8 +5,8 @@ description: >
5
5
  at a time, explores 2-3 approaches with trade-offs, and presents the design
6
6
  section by section for approval before writing the spec. Combines requirements
7
7
  discovery with codebase research and architecture design.
8
- Use when the user explicitly requests a spec or when spec-orchestrator selects a
9
- Spec-backed Plan. Ambiguous design or discovery requests route through spec-orchestrator.
8
+ Use when the user explicitly requests a spec or when atelier-orchestrator selects a
9
+ Spec-backed Plan. Ambiguous design or discovery requests route through atelier-orchestrator.
10
10
  user-invocable: true
11
11
  argument-hint: <topic or feature description>
12
12
  ---
@@ -18,7 +18,7 @@ Conversational design workshop for substantial work that produces a focused, rev
18
18
  One question at a time. Multiple approaches explored. Design approved in
19
19
  sections. Ruthless scope control. No implementation until design is approved.
20
20
 
21
- Run this skill only after `spec-orchestrator` selects a Spec-backed Plan or the human
21
+ Run this skill only after `atelier-orchestrator` selects a Spec-backed Plan or the human
22
22
  explicitly requests a spec. Bounded work should go directly to `spec-plan` for an Inline
23
23
  Plan. Do not reclassify the planning mode here.
24
24
 
@@ -215,7 +215,7 @@ with acceptance criteria and priorities. If rejected: revise. If the rejection
215
215
  reveals a scope misunderstanding, loop back to Discovery (Step 2).
216
216
 
217
217
  **Batch B: Architecture** — component design, domain modeling, and layer
218
- boundaries. Use `python-architecture` or `typescript-api-design` as relevant to
218
+ boundaries. Use installed language-specific architecture or API-design skills as relevant to
219
219
  your stack. Then present: component structure, domain model, where business
220
220
  logic lives, where IO lives. If rejected: revise. If the rejection undermines
221
221
  the chosen approach, offer to return to approach exploration (4a). If it
@@ -346,5 +346,5 @@ approval before continuing.
346
346
  The next step is **spec-plan** in Spec-backed mode. Do not start planning without the
347
347
  human's go-ahead. Do not write code.
348
348
 
349
- If planning reveals design flaws, loop back to research. See **spec-orchestrator**
349
+ If planning reveals design flaws, loop back to research. See **atelier-orchestrator**
350
350
  for iteration patterns.
@@ -112,8 +112,7 @@ Update the todo status to in_progress.
112
112
  Read the task's **inputs** and **description** first.
113
113
 
114
114
  Write tests that cover the validation criteria before writing implementation.
115
- Invoke `typescript-testing` or `python-testing` (whichever matches the project)
116
- for test design patterns when needed.
115
+ Invoke an installed language-specific testing skill when needed.
117
116
 
118
117
  ```
119
118
  1. Read task inputs and description
@@ -294,5 +293,5 @@ Offer the human their options:
294
293
 
295
294
  Don't choose for them. Present options and wait.
296
295
 
297
- If validation finds bugs, loop back to implement. See **spec-orchestrator**
296
+ If validation finds bugs, loop back to implement. See **atelier-orchestrator**
298
297
  for iteration patterns.