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