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