@martinffx/atelier 0.1.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 +38 -0
- package/LICENSE +21 -0
- package/README.md +285 -0
- package/agents/architect.md +38 -0
- package/agents/oracle.md +40 -0
- package/agents/recon.md +39 -0
- package/dist/atelier.js +33082 -0
- package/package.json +44 -0
- package/skills/code-conventional-commit/SKILL.md +134 -0
- package/skills/code-conventional-commit/evals/evals.json +23 -0
- package/skills/code-conventional-commit/workspace/iteration-1/eval-0/with_skill/outputs/commit-message.txt +4 -0
- package/skills/code-conventional-commit/workspace/iteration-1/eval-0/with_skill/outputs/eval_metadata.json +6 -0
- package/skills/code-conventional-commit/workspace/iteration-1/eval-1/with_skill/outputs/eval_metadata.json +6 -0
- package/skills/code-conventional-commit/workspace/iteration-1/eval-1/with_skill/outputs/validation-result.txt +16 -0
- package/skills/code-conventional-commit/workspace/iteration-1/eval-2/with_skill/outputs/commit-message.txt +8 -0
- package/skills/code-conventional-commit/workspace/iteration-1/eval-2/with_skill/outputs/eval_metadata.json +6 -0
- package/skills/code-conventional-commit/workspace/iteration-1/report.html +1325 -0
- package/skills/code-debug/SKILL.md +271 -0
- package/skills/code-debug/references/language-tools.md +139 -0
- package/skills/code-debug/references/techniques.md +117 -0
- package/skills/code-docs/SKILL.md +171 -0
- package/skills/code-docs/references/api-docs.md +116 -0
- package/skills/code-docs/references/changelog.md +64 -0
- package/skills/code-docs/references/readme-structure.md +94 -0
- package/skills/code-git-worktrees/SKILL.md +218 -0
- package/skills/code-perf/SKILL.md +163 -0
- package/skills/code-perf/references/common-bottlenecks.md +124 -0
- package/skills/code-perf/references/optimization-patterns.md +167 -0
- package/skills/code-perf/references/profiling-tools.md +126 -0
- package/skills/code-review/SKILL.md +78 -0
- package/skills/code-review/references/output.md +200 -0
- package/skills/code-review/references/reviewers.md +719 -0
- package/skills/code-review/references/rq.md +357 -0
- package/skills/code-review/references/rs.md +30 -0
- package/skills/code-security/SKILL.md +183 -0
- package/skills/code-security/references/owasp-top-10.md +129 -0
- package/skills/code-security/references/security-tools.md +102 -0
- package/skills/code-security/references/vulnerability-patterns.md +129 -0
- package/skills/code-stacked-commit/SKILL.md +155 -0
- package/skills/code-subagents/SKILL.md +184 -0
- package/skills/code-subagents/references/code-quality-reviewer-prompt.md +48 -0
- package/skills/code-subagents/references/implementor-prompt.md +79 -0
- package/skills/code-subagents/references/spec-reviewer-prompt.md +62 -0
- package/skills/oracle-architect/SKILL.md +246 -0
- package/skills/oracle-architect/references/api-design.md +345 -0
- package/skills/oracle-architect/references/data-modeling.md +318 -0
- package/skills/oracle-architect/references/ddd-patterns.md +247 -0
- package/skills/oracle-challenge/SKILL.md +126 -0
- package/skills/oracle-testing/SKILL.md +237 -0
- package/skills/oracle-testing/references/anti-patterns.md +618 -0
- package/skills/oracle-testing/references/boundaries.md +579 -0
- package/skills/oracle-testing/references/core-testing.md +691 -0
- package/skills/oracle-testing/references/edge-testing.md +794 -0
- package/skills/oracle-testing/references/stub-driven-tdd.md +322 -0
- package/skills/oracle-thinkdeep/SKILL.md +164 -0
- package/skills/python-architecture/SKILL.md +148 -0
- package/skills/python-architecture/references/data-modeling.md +558 -0
- package/skills/python-architecture/references/ddd.md +569 -0
- package/skills/python-architecture/references/functional-core.md +337 -0
- package/skills/python-build-tools/SKILL.md +153 -0
- package/skills/python-build-tools/references/basedpyright.md +321 -0
- package/skills/python-build-tools/references/ruff.md +225 -0
- package/skills/python-build-tools/references/uv.md +257 -0
- package/skills/python-fastapi/SKILL.md +184 -0
- package/skills/python-fastapi/references/api-design.md +563 -0
- package/skills/python-fastapi/references/dependencies.md +479 -0
- package/skills/python-fastapi/references/middleware.md +475 -0
- package/skills/python-fastapi/references/validation.md +497 -0
- package/skills/python-modern-python/SKILL.md +201 -0
- package/skills/python-modern-python/references/async.md +76 -0
- package/skills/python-modern-python/references/pattern-matching.md +89 -0
- package/skills/python-modern-python/references/typing.md +96 -0
- package/skills/python-monorepo/SKILL.md +146 -0
- package/skills/python-monorepo/references/docker.md +515 -0
- package/skills/python-monorepo/references/namespace-packages.md +426 -0
- package/skills/python-monorepo/references/workspace-config.md +341 -0
- package/skills/python-sqlalchemy/SKILL.md +119 -0
- package/skills/python-sqlalchemy/references/async.md +51 -0
- package/skills/python-sqlalchemy/references/models.md +67 -0
- package/skills/python-sqlalchemy/references/queries.md +57 -0
- package/skills/python-temporal/SKILL.md +128 -0
- package/skills/python-temporal/references/patterns.md +87 -0
- package/skills/python-temporal/references/testing.md +54 -0
- package/skills/python-testing/SKILL.md +161 -0
- package/skills/python-testing/references/boundaries.md +449 -0
- package/skills/python-testing/references/mocking.md +449 -0
- package/skills/python-testing/references/pytest.md +524 -0
- package/skills/spec-brainstorm/SKILL.md +325 -0
- package/skills/spec-finish/SKILL.md +159 -0
- package/skills/spec-implement/SKILL.md +296 -0
- package/skills/spec-orchestrator/SKILL.md +156 -0
- package/skills/spec-plan/SKILL.md +248 -0
- package/skills/typescript-api-design/SKILL.md +396 -0
- package/skills/typescript-api-design/references/error-responses.md +469 -0
- package/skills/typescript-build-tools/SKILL.md +447 -0
- package/skills/typescript-build-tools/references/biome.md +436 -0
- package/skills/typescript-build-tools/references/bun.md +432 -0
- package/skills/typescript-build-tools/references/turborepo.md +426 -0
- package/skills/typescript-build-tools/references/vitest.md +518 -0
- package/skills/typescript-drizzle-orm/SKILL.md +398 -0
- package/skills/typescript-drizzle-orm/references/cloudflare.md +392 -0
- package/skills/typescript-drizzle-orm/references/entity-pattern.md +412 -0
- package/skills/typescript-drizzle-orm/references/postgresql.md +191 -0
- package/skills/typescript-drizzle-orm/references/repository-pattern.md +479 -0
- package/skills/typescript-drizzle-orm/references/sqlite.md +291 -0
- package/skills/typescript-dynamodb-toolbox/SKILL.md +370 -0
- package/skills/typescript-dynamodb-toolbox/references/entity-layer.md +574 -0
- package/skills/typescript-dynamodb-toolbox/references/error-handling.md +495 -0
- package/skills/typescript-dynamodb-toolbox/references/modeling.md +332 -0
- package/skills/typescript-dynamodb-toolbox/references/repository-layer.md +631 -0
- package/skills/typescript-dynamodb-toolbox/references/testing.md +718 -0
- package/skills/typescript-dynamodb-toolbox/references/transactions.md +423 -0
- package/skills/typescript-effect-ts/SKILL.md +341 -0
- package/skills/typescript-effect-ts/references/core.md +412 -0
- package/skills/typescript-effect-ts/references/error-handling.md +468 -0
- package/skills/typescript-effect-ts/references/resources.md +476 -0
- package/skills/typescript-effect-ts/references/schema.md +536 -0
- package/skills/typescript-effect-ts/references/services.md +461 -0
- package/skills/typescript-fastify/SKILL.md +405 -0
- package/skills/typescript-fastify/references/plugins.md +329 -0
- package/skills/typescript-fastify/references/typeid.md +315 -0
- package/skills/typescript-functional-patterns/SKILL.md +402 -0
- package/skills/typescript-functional-patterns/references/adts.md +497 -0
- package/skills/typescript-functional-patterns/references/branded-types.md +542 -0
- package/skills/typescript-functional-patterns/references/migration-guide.md +695 -0
- package/skills/typescript-functional-patterns/references/option-result.md +585 -0
- package/skills/typescript-testing/SKILL.md +353 -0
- package/skills/typescript-testing/references/mocking.md +675 -0
- package/skills/typescript-testing/references/msw.md +852 -0
- package/skills/typescript-testing/references/snapshot-testing.md +774 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.1.0] - 2026-05-08
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- CLI installer (`bunx @martinffx/atelier@latest`) with `init`, `update`, `remove` commands
|
|
8
|
+
- Claude Code generator: `.claude/settings.json` with model + hooks, `.claude/agents/*.md`
|
|
9
|
+
- OpenCode generator: `opencode.json` with primary agents, `.opencode/agents/*.md` subagents
|
|
10
|
+
- Harness auto-detection (CLAUDE_PLUGIN_ROOT env var, .opencode/ directory)
|
|
11
|
+
- Model registry with per-agent defaults for both harnesses
|
|
12
|
+
- Agent template fetching from GitHub, injected with harness-specific model
|
|
13
|
+
- Skills bundled in npm package, installed via `--all` flag
|
|
14
|
+
- 34 universal skills across spec-, oracle-, code-, typescript-, and python- namespaces
|
|
15
|
+
- Claude Code atelier plugin marketplace
|
|
16
|
+
- Spec-driven development workflow skills (research, plan, implement, finish, subagents)
|
|
17
|
+
- Dedicated /spec:init command with guided setup
|
|
18
|
+
- Structured workflows with parallel execution and validation
|
|
19
|
+
- Deep thinking agents (oracle, architect, scout)
|
|
20
|
+
- Python ecosystem patterns plugin
|
|
21
|
+
- TypeScript ecosystem patterns (Effect-TS, Drizzle ORM, DynamoDB Toolbox, Fastify, testing)
|
|
22
|
+
- Git workflow skills (worktrees, Graphite stacked commits, branch completion)
|
|
23
|
+
- Code review skill with agent dispatch and gfreview integration
|
|
24
|
+
- Conventional commit skill
|
|
25
|
+
- Beads task tracker CLI reference
|
|
26
|
+
- SessionStart hook to load spec:orchestrator
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- Agent templates (`agents/*.md`) now harness-agnostic — `model` field injected by CLI
|
|
31
|
+
- Methodology updated with superpowers integration, hard gates, verification, and domain boundary testing
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
|
|
35
|
+
- Various skill name consistency fixes
|
|
36
|
+
- Marketplace schema format corrected for Claude Code validation
|
|
37
|
+
|
|
38
|
+
[0.1.0]: https://github.com/martinffx/atelier/releases/tag/v0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Martin Richards
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# Atelier
|
|
2
|
+
|
|
3
|
+

|
|
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)
|
|
8
|
+
|
|
9
|
+
A personal development toolkit for AI agents - spec-driven development, code quality, deep thinking, and ecosystem patterns.
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
Install Atelier with a single command. It auto-detects your AI harness (Claude Code or OpenCode), configures agents, and sets up session hooks:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Initialize atelier in your project
|
|
17
|
+
bunx atelier@latest init
|
|
18
|
+
|
|
19
|
+
# Or install everything including skills
|
|
20
|
+
bunx atelier@latest init --all
|
|
21
|
+
|
|
22
|
+
# Non-interactive mode (CI/CD)
|
|
23
|
+
bunx atelier@latest init --yes
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
That's it. Your project is now configured for spec-driven development.
|
|
27
|
+
|
|
28
|
+
## What Gets Installed
|
|
29
|
+
|
|
30
|
+
Atelier sets up three things in your project:
|
|
31
|
+
|
|
32
|
+
### 1. Skills (34 available)
|
|
33
|
+
|
|
34
|
+
Specialized knowledge modules that auto-invoke based on context. Install them via the CLI (`--all` flag) or separately:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx skills add martinffx/atelier
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 2. Agent Personas (3 subagents)
|
|
41
|
+
|
|
42
|
+
Harness-agnostic agent definitions configured with appropriate models:
|
|
43
|
+
|
|
44
|
+
| Agent | Role | Claude | OpenCode |
|
|
45
|
+
|-------|------|--------|----------|
|
|
46
|
+
| **Scout** | Fast codebase reconnaissance | haiku | deepseek-v4-flash |
|
|
47
|
+
| **Oracle** | Strategic thinking, requirements, analysis | opus | kimi-k2.6 |
|
|
48
|
+
| **Architect** | DDD, system design, architecture | opus | deepseek-v4-pro |
|
|
49
|
+
|
|
50
|
+
Agents are generated into `.claude/agents/` or `.opencode/agents/` with harness-specific model identifiers.
|
|
51
|
+
|
|
52
|
+
### 3. Session Hooks
|
|
53
|
+
|
|
54
|
+
Context injection that runs on every session start, clear, or compact:
|
|
55
|
+
|
|
56
|
+
- **Claude Code**: `hooks/atelier-session-start` outputs project context as JSON
|
|
57
|
+
- **OpenCode**: `.opencode/plugins/atelier.js` provides config and transform hooks
|
|
58
|
+
|
|
59
|
+
### 4. Task Tracking (optional)
|
|
60
|
+
|
|
61
|
+
The spec workflow skills support **beads** for dependency-aware task tracking:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Install beads (optional but recommended)
|
|
65
|
+
npm install -g beads
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Why beads?** It provides `bd ready` (finds next unblocked task), `bd dep add` (dependency management), and `bd list` (progress tracking) that harness-native todos can't match.
|
|
69
|
+
|
|
70
|
+
**Fallback:** If beads isn't installed, skills fall back to the harness's native todo system (TodoWrite for Claude Code, built-in todos for OpenCode).
|
|
71
|
+
|
|
72
|
+
### 5. Configuration
|
|
73
|
+
|
|
74
|
+
Single source of truth in `.atelier/config.json`:
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"version": "1.0.0",
|
|
79
|
+
"harness": "claude",
|
|
80
|
+
"skills_source": "martinffx/atelier",
|
|
81
|
+
"agents": [
|
|
82
|
+
{ "template": "scout", "model": "haiku" },
|
|
83
|
+
{ "template": "oracle", "model": "opus" },
|
|
84
|
+
{ "template": "architect", "model": "opus" }
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## CLI Commands
|
|
90
|
+
|
|
91
|
+
### `init` (default)
|
|
92
|
+
|
|
93
|
+
Initialize atelier in the current project.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
bunx atelier@latest init [options]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Options:**
|
|
100
|
+
- `--harness <type>` - Force harness type (`claude` or `opencode`)
|
|
101
|
+
- `--all` - Also install skills via `npx skills add`
|
|
102
|
+
- `--yes` - Non-interactive mode with default models
|
|
103
|
+
- `--project` - Install skills in project directory (default: global)
|
|
104
|
+
|
|
105
|
+
**Idempotent**: Re-running `init` is safe. It regenerates files without deleting anything unless you switch harnesses.
|
|
106
|
+
|
|
107
|
+
### `update`
|
|
108
|
+
|
|
109
|
+
Refresh hooks and agents from the latest templates without touching skills:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
bunx atelier@latest update
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### `remove`
|
|
116
|
+
|
|
117
|
+
Remove all atelier-generated files from the project:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
bunx atelier@latest remove
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Skills remain installed. Run `npx skills remove martinffx/atelier` to remove them separately.
|
|
124
|
+
|
|
125
|
+
## Skills
|
|
126
|
+
|
|
127
|
+
This repository includes 34 skills that enhance AI agents with specialized knowledge and workflows.
|
|
128
|
+
|
|
129
|
+
### Installing Skills
|
|
130
|
+
|
|
131
|
+
If you didn't use `--all` during init, install skills manually:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Install all skills
|
|
135
|
+
npx skills add martinffx/atelier
|
|
136
|
+
|
|
137
|
+
# Install specific skills
|
|
138
|
+
npx skills add martinffx/atelier --skill typescript-drizzle-orm
|
|
139
|
+
npx skills add martinffx/atelier --skill python-fastapi
|
|
140
|
+
npx skills add martinffx/atelier --skill spec-brainstorm
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Skill Types
|
|
144
|
+
|
|
145
|
+
Skills fall into four categories based on what they do:
|
|
146
|
+
|
|
147
|
+
#### Workflow Skills (`spec:*`)
|
|
148
|
+
|
|
149
|
+
Process-oriented skills that guide you through structured development workflows. These produce artifacts and should be followed step-by-step.
|
|
150
|
+
|
|
151
|
+
- `spec-brainstorm` → `spec.md` — Discovery, requirements, architecture
|
|
152
|
+
- `spec-plan` → `plan.json` — Break spec into implementable tasks
|
|
153
|
+
- `spec-implement` — Execute tasks with TDD
|
|
154
|
+
- `spec-finish` — Validate, review, prepare for PR
|
|
155
|
+
- `spec-orchestrator` — Route to the right skill based on context
|
|
156
|
+
|
|
157
|
+
#### Thinking Skills (`oracle:*`)
|
|
158
|
+
|
|
159
|
+
Analytical skills that provide patterns, principles, and deep reasoning. These adapt to your specific situation.
|
|
160
|
+
|
|
161
|
+
- `oracle-architect` — DDD, hexagonal architecture, component design
|
|
162
|
+
- `oracle-challenge` — Challenge assumptions, validate decisions
|
|
163
|
+
- `oracle-testing` — Stub-driven TDD, layer boundary testing
|
|
164
|
+
- `oracle-thinkdeep` — Extended sequential reasoning for complex problems
|
|
165
|
+
|
|
166
|
+
#### Domain Knowledge (`python:*`, `typescript:*`)
|
|
167
|
+
|
|
168
|
+
Technology-specific patterns and best practices. These are like having a senior engineer for that stack.
|
|
169
|
+
|
|
170
|
+
**TypeScript (8 skills)**
|
|
171
|
+
- `typescript-api-design` — REST conventions, error responses, pagination
|
|
172
|
+
- `typescript-fastify` — Fastify + TypeBox route handlers
|
|
173
|
+
- `typescript-drizzle-orm` — Type-safe SQL schemas and queries
|
|
174
|
+
- `typescript-dynamodb-toolbox` — Single-table design, GSIs
|
|
175
|
+
- `typescript-functional-patterns` — ADTs, branded types, Option/Result
|
|
176
|
+
- `typescript-effect-ts` — Functional effects, error handling, resources
|
|
177
|
+
- `typescript-build-tools` — Bun, Vitest, Biome, Turborepo
|
|
178
|
+
- `typescript-testing` — Mocking, MSW, snapshot testing
|
|
179
|
+
|
|
180
|
+
**Python (8 skills)**
|
|
181
|
+
- `python-architecture` — Functional core/shell, DDD, layered architecture
|
|
182
|
+
- `python-fastapi` — Pydantic validation, dependency injection, OpenAPI
|
|
183
|
+
- `python-sqlalchemy` — ORM patterns, queries, async, upserts
|
|
184
|
+
- `python-temporal` — Workflow orchestration, activities, error handling
|
|
185
|
+
- `python-modern-python` — Type hints, generics, pattern matching
|
|
186
|
+
- `python-monorepo` — uv workspaces, mise task orchestration
|
|
187
|
+
- `python-testing` — Stub-driven TDD, pytest patterns
|
|
188
|
+
- `python-build-tools` — uv, ruff, basedpyright, pytest config
|
|
189
|
+
|
|
190
|
+
#### Utility Skills (`code:*`)
|
|
191
|
+
|
|
192
|
+
Task-specific tools you invoke when you need them.
|
|
193
|
+
|
|
194
|
+
- `code-review` — Multi-agent code review with specialized reviewers
|
|
195
|
+
- `code-debug` — Systematic debugging workflow
|
|
196
|
+
- `code-docs` — README, API docs, changelog generation
|
|
197
|
+
- `code-security` — Security audit and vulnerability detection
|
|
198
|
+
- `code-perf` — Performance profiling and optimization
|
|
199
|
+
- `code-git-worktrees` — Isolated git worktrees for feature work
|
|
200
|
+
- `code-stacked-commit` — Manage stacked commits with Graphite
|
|
201
|
+
- `code-subagents` — Dispatch patterns for parallel implementation
|
|
202
|
+
|
|
203
|
+
Skills are auto-invoked based on their description when you work with relevant technologies. No commands needed—just install and AI agents will use them when appropriate.
|
|
204
|
+
|
|
205
|
+
## How Skills Work
|
|
206
|
+
|
|
207
|
+
Skills are auto-invoked based on context. When you say "create a spec for user auth", the AI matches this to `spec-brainstorm` and loads it automatically.
|
|
208
|
+
|
|
209
|
+
### Namespace Philosophy
|
|
210
|
+
|
|
211
|
+
Skills are organized into four categories based on their role:
|
|
212
|
+
|
|
213
|
+
| Category | Prefix | Type | Invocation | Output | Flexibility |
|
|
214
|
+
|----------|--------|------|------------|--------|-------------|
|
|
215
|
+
| **Workflow** | `spec:` | Process | User/previous skill | Artifact | Follow exactly |
|
|
216
|
+
| **Thinking** | `oracle:` | Analytical | Context-driven | Guidance | Adapt to context |
|
|
217
|
+
| **Domain Knowledge** | `python:`, `typescript:` | Technology | Context-driven | Patterns | Adapt to context |
|
|
218
|
+
| **Utility** | `code:` | Task-specific | User command | Result | Use as needed |
|
|
219
|
+
|
|
220
|
+
- **Workflow** (`spec:`) — Sequential steps that produce artifacts. Follow them in order.
|
|
221
|
+
- **Thinking** (`oracle:`) — Analytical capabilities that reason about your specific problem.
|
|
222
|
+
- **Domain Knowledge** (`python-*`, `typescript-*`) — Stack-specific patterns and best practices. Like having a senior engineer for that technology.
|
|
223
|
+
- **Utility** (`code:`) — Task-specific tools you invoke directly when needed.
|
|
224
|
+
|
|
225
|
+
### The Spec Workflow
|
|
226
|
+
|
|
227
|
+
```mermaid
|
|
228
|
+
graph LR
|
|
229
|
+
A[spec-brainstorm] -->|spec.md| B[spec-plan]
|
|
230
|
+
B -->|plan.json| C[spec-implement]
|
|
231
|
+
C --> D[spec-finish]
|
|
232
|
+
|
|
233
|
+
B -.->|design flaw| A
|
|
234
|
+
C -.->|missing tasks| B
|
|
235
|
+
C -.->|fundamental issue| A
|
|
236
|
+
D -.->|bugs found| C
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Standard flow:**
|
|
240
|
+
1. **Research** - Discovery + research + architecture → `spec.md`
|
|
241
|
+
2. **Plan** - Break into tasks → `plan.json`
|
|
242
|
+
3. **Implement** - Execute with TDD
|
|
243
|
+
4. **Finish** - Validate and review
|
|
244
|
+
|
|
245
|
+
**Iteration is normal** - Backflows (dotted lines) are expected when:
|
|
246
|
+
- Planning reveals design flaws → back to research
|
|
247
|
+
- Implementation finds missing tasks → update plan
|
|
248
|
+
- Validation finds bugs → back to implement
|
|
249
|
+
|
|
250
|
+
### When to Use Which Skill
|
|
251
|
+
|
|
252
|
+
| User says | Skill invoked |
|
|
253
|
+
|------------|---------------|
|
|
254
|
+
| "Create a spec for X" | spec-brainstorm |
|
|
255
|
+
| "What should we build" | spec-brainstorm |
|
|
256
|
+
| "Write a plan" | spec-plan |
|
|
257
|
+
| "Implement this" | spec-implement |
|
|
258
|
+
| "Review this code" | code-review |
|
|
259
|
+
| "Debug this" | code-debug |
|
|
260
|
+
| "How should I test this" | oracle-testing |
|
|
261
|
+
| "What's the architecture" | oracle-architect |
|
|
262
|
+
|
|
263
|
+
## Development
|
|
264
|
+
|
|
265
|
+
For local development with Claude Code, use the `--plugin-dir` flag to load skills directly:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
claude --plugin-dir ./atelier
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Restart Claude Code after making changes to reload skills.
|
|
272
|
+
|
|
273
|
+
To work on the CLI itself:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
# Build the CLI
|
|
277
|
+
bun run build
|
|
278
|
+
|
|
279
|
+
# Test locally
|
|
280
|
+
bun ./dist/atelier.js init --yes
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## License
|
|
284
|
+
|
|
285
|
+
MIT Copyright (c) 2026 Martin Richards
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architect
|
|
3
|
+
description: System architecture, data modeling, API contract design, and the creation of structured implementation blueprints for development teams
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Architect**, a senior technical designer and systems thinker. Your job is to translate requirements into clean, implementable technical designs. You do not write implementation code—you create the blueprint that others build from.
|
|
7
|
+
|
|
8
|
+
## Role
|
|
9
|
+
|
|
10
|
+
- Design data models, database schemas, and API contracts
|
|
11
|
+
- Apply architectural patterns (DDD, hexagonal, layered) where appropriate
|
|
12
|
+
- Break down features into dependency-ordered implementation tasks
|
|
13
|
+
- Ensure designs align with project standards and constraints
|
|
14
|
+
|
|
15
|
+
## Skills
|
|
16
|
+
|
|
17
|
+
Before beginning work, scan your environment for relevant skills and load any that apply to the task at hand. Use them to inform your design decisions and ensure alignment with project conventions.
|
|
18
|
+
|
|
19
|
+
## Checklist
|
|
20
|
+
|
|
21
|
+
Before finishing, confirm you have:
|
|
22
|
+
|
|
23
|
+
- [ ] Identified all entities, value objects, aggregates, and their relationships
|
|
24
|
+
- [ ] Defined properties, types, and validation rules for each model
|
|
25
|
+
- [ ] Specified API endpoints with methods, paths, and request/response contracts
|
|
26
|
+
- [ ] Listed error cases and handling strategy
|
|
27
|
+
- [ ] Broken work into dependency-ordered tasks (entity → repository → service → router)
|
|
28
|
+
- [ ] Written or updated the Technical Design section in `spec.md`
|
|
29
|
+
- [ ] Written or updated `plan.json` with the task breakdown
|
|
30
|
+
|
|
31
|
+
## Boundaries
|
|
32
|
+
|
|
33
|
+
- DO focus on technical design and architecture
|
|
34
|
+
- DO create dependency-ordered task lists
|
|
35
|
+
- DO apply architectural patterns and load relevant skills
|
|
36
|
+
- DON'T write implementation code (that's for `spec-implement`)
|
|
37
|
+
- DON'T conduct discovery interviews (that's `oracle`)
|
|
38
|
+
- DON'T handle file operations or template application (that's `recon`)
|
package/agents/oracle.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oracle
|
|
3
|
+
description: Requirements discovery through focused interviews, assumption challenging with evidence-based alternatives, strategic trade-off analysis, and the clarification of business rules, user stories, and acceptance criteria
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Oracle**, a strategic analyst and requirements specialist. Your job is to discover what needs to be built, challenge assumptions, and chart the path forward. You do not design systems or write code—you clarify the problem space so others can act with confidence.
|
|
7
|
+
|
|
8
|
+
## Role
|
|
9
|
+
|
|
10
|
+
- Conduct focused discovery interviews to understand needs
|
|
11
|
+
- Extract user stories, acceptance criteria, and business rules
|
|
12
|
+
- Challenge assumptions with evidence and generate alternatives
|
|
13
|
+
- Use sequential-thinking for complex or multi-faceted analysis
|
|
14
|
+
|
|
15
|
+
## Skills
|
|
16
|
+
|
|
17
|
+
Before beginning work, scan your environment for relevant skills and load any that apply to the task at hand. Use them to sharpen your analysis and ensure you follow established patterns.
|
|
18
|
+
|
|
19
|
+
## Checklist
|
|
20
|
+
|
|
21
|
+
Before finishing, confirm you have:
|
|
22
|
+
|
|
23
|
+
- [ ] Identified the core problem and the users who experience it
|
|
24
|
+
- [ ] Documented current workarounds or existing solutions
|
|
25
|
+
- [ ] Defined clear success criteria
|
|
26
|
+
- [ ] Listed technical and business constraints
|
|
27
|
+
- [ ] Written user stories with acceptance criteria (3–5 testable conditions each)
|
|
28
|
+
- [ ] Documented business rules, validations, and limits
|
|
29
|
+
- [ ] Defined scope—what is included and what is explicitly out of scope
|
|
30
|
+
- [ ] Generated 2–3 alternative approaches with trade-offs if the problem is complex
|
|
31
|
+
- [ ] Written or updated the Requirements section in `spec.md`
|
|
32
|
+
|
|
33
|
+
## Boundaries
|
|
34
|
+
|
|
35
|
+
- DO focus on requirements, strategy, and analysis
|
|
36
|
+
- DO use sequential-thinking for complex problems
|
|
37
|
+
- DO provide alternatives with honest trade-offs
|
|
38
|
+
- DON'T make technical design decisions (that's `architect`)
|
|
39
|
+
- DON'T write code or create implementation tasks
|
|
40
|
+
- DON'T assume unstated requirements—ask instead
|
package/agents/recon.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: recon
|
|
3
|
+
description: Fast codebase reconnaissance and exploration, concise summarization of findings, precise location of relevant context, and efficient workspace preparation through targeted file operations and template application
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are the **Recon**, a fast reconnaissance agent. Your job is to explore codebases, summarize what you find, highlight relevant context, and point others to exactly where things live. You move quickly, read minimally, and never break existing work.
|
|
7
|
+
|
|
8
|
+
## Role
|
|
9
|
+
|
|
10
|
+
- Explore and map codebase structure, conventions, and key files
|
|
11
|
+
- Summarize findings with clear, concise overviews
|
|
12
|
+
- Highlight relevant context and explain why it matters
|
|
13
|
+
- Point to exact locations (file paths, line numbers, symbol names) so others can dive deeper
|
|
14
|
+
- Retrieve targeted snippets on request—never dump full files unless necessary
|
|
15
|
+
- Create files from templates and set up directory structures when asked
|
|
16
|
+
- Respect existing files—never overwrite without explicit direction
|
|
17
|
+
|
|
18
|
+
## Skills
|
|
19
|
+
|
|
20
|
+
Before beginning work, scan your environment for relevant skills and load any that apply to the task at hand. Use them to guide how you explore, summarize, and present your findings.
|
|
21
|
+
|
|
22
|
+
## Checklist
|
|
23
|
+
|
|
24
|
+
Before finishing, confirm you have:
|
|
25
|
+
|
|
26
|
+
- [ ] Retrieved only the specific context requested (no unnecessary full-file reads)
|
|
27
|
+
- [ ] Verified the target file does not already exist before creating
|
|
28
|
+
- [ ] Created parent directories as needed
|
|
29
|
+
- [ ] Applied all relevant variable substitutions when using templates
|
|
30
|
+
- [ ] Confirmed the output matches the request exactly
|
|
31
|
+
- [ ] Reported what was created, retrieved, or modified
|
|
32
|
+
|
|
33
|
+
## Boundaries
|
|
34
|
+
|
|
35
|
+
- DO handle file operations and retrieval efficiently
|
|
36
|
+
- DO create files and directories as requested
|
|
37
|
+
- DON'T make design or architectural decisions
|
|
38
|
+
- DON'T conduct requirements discovery
|
|
39
|
+
- NEVER overwrite existing files unless explicitly told to
|