Atelier — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Atelier (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Atelier - A collaborative workshop for software development
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.
>
Wikipedia
A personal development toolkit for AI agents - spec-driven development, code quality, deep thinking, and ecosystem patterns.
Install Atelier with a single command. It auto-detects your AI harness (Claude Code or OpenCode), configures agents, and sets up session hooks:
# Initialize atelier in your project
bunx @martinffx/atelier@latest init
# Or install everything including skills
bunx @martinffx/atelier@latest init --all
# Non-interactive mode (CI/CD)
bunx @martinffx/atelier@latest init --yesThat's it. Your project is now configured for spec-driven development.
Atelier sets up three things in your project:
Specialized knowledge modules that auto-invoke based on context. Install them via the CLI (--all flag) or separately:
npx skills add martinffx/atelierHarness-agnostic agent definitions configured with appropriate models:
| Agent | Role | Claude | OpenCode |
|---|---|---|---|
| Scout | Fast codebase reconnaissance | haiku | deepseek-v4-flash |
| Oracle | Strategic thinking, requirements, analysis | opus | kimi-k2.6 |
| Architect | DDD, system design, architecture | opus | deepseek-v4-pro |
Agents are generated into .claude/agents/ or .opencode/agents/ with harness-specific model identifiers.
Context injection that runs on every session start, clear, or compact:
hooks/atelier-session-start outputs project context as JSON.opencode/plugins/atelier.js provides config and transform hooksThe spec workflow skills support beads for dependency-aware task tracking:
# Install beads (optional but recommended)
npm install -g beadsWhy 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.
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).
Single source of truth in .atelier/config.json:
{
"version": "1.0.0",
"harness": "claude",
"skills_source": "martinffx/atelier",
"agents": [
{ "template": "scout", "model": "haiku" },
{ "template": "oracle", "model": "opus" },
{ "template": "architect", "model": "opus" }
]
}init (default)Initialize atelier in the current project.
bunx @martinffx/atelier@latest init [options]Options:
--harness <type> - Force harness type (claude or opencode)--all - Also install skills via npx skills add--yes - Non-interactive mode with default models--project - Install skills in project directory (default: global)Idempotent: Re-running init is safe. It regenerates files without deleting anything unless you switch harnesses.
updateRefresh hooks and agents from the latest templates without touching skills:
bunx @martinffx/atelier@latest updateremoveRemove all atelier-generated files from the project:
bunx @martinffx/atelier@latest removeSkills remain installed. Run npx skills remove martinffx/atelier to remove them separately.
This repository includes 34 skills that enhance AI agents with specialized knowledge and workflows.
If you didn't use --all during init, install skills manually:
# Install all skills
npx skills add martinffx/atelier
# Install specific skills
npx skills add martinffx/atelier --skill typescript-drizzle-orm
npx skills add martinffx/atelier --skill python-fastapi
npx skills add martinffx/atelier --skill spec-brainstormSkills fall into four categories based on what they do:
#### Workflow Skills (spec:*)
Process-oriented skills that guide you through structured development workflows. These produce artifacts and should be followed step-by-step.
spec-brainstorm → spec.md — Discovery, requirements, architecturespec-plan → plan.json — Break spec into implementable tasksspec-implement — Execute tasks with TDDspec-finish — Validate, review, prepare for PRspec-orchestrator — Route to the right skill based on context#### Thinking Skills (oracle:*)
Analytical skills that provide patterns, principles, and deep reasoning. These adapt to your specific situation.
oracle-architect — DDD, hexagonal architecture, component designoracle-challenge — Challenge assumptions, validate decisionsoracle-doubt — Adversarial review of non-trivial decisionsoracle-grillme — Socratic interrogation of plans against domain modeloracle-security — Security architecture and threat modelingoracle-testing — Stub-driven TDD, layer boundary testingoracle-thinkdeep — Extended sequential reasoning for complex problems#### Domain Knowledge (python:*, typescript:*)
Technology-specific patterns and best practices. These are like having a senior engineer for that stack.
TypeScript (8 skills)
typescript-api-design — REST conventions, error responses, paginationtypescript-fastify — Fastify + TypeBox route handlerstypescript-drizzle-orm — Type-safe SQL schemas and queriestypescript-dynamodb-toolbox — Single-table design, GSIstypescript-functional-patterns — ADTs, branded types, Option/Resulttypescript-effect-ts — Functional effects, error handling, resourcestypescript-build-tools — Bun, Vitest, Biome, Turborepotypescript-testing — Mocking, MSW, snapshot testingPython (8 skills)
python-architecture — Functional core/shell, DDD, layered architecturepython-fastapi — Pydantic validation, dependency injection, OpenAPIpython-sqlalchemy — ORM patterns, queries, async, upsertspython-temporal — Workflow orchestration, activities, error handlingpython-modern-python — Type hints, generics, pattern matchingpython-monorepo — uv workspaces, mise task orchestrationpython-testing — Stub-driven TDD, pytest patternspython-build-tools — uv, ruff, basedpyright, pytest config#### Utility Skills (code:*)
Task-specific tools you invoke when you need them.
code-commit — Generate and validate conventional commitscode-debug — Systematic debugging workflowcode-docs — README, API docs, changelog generationcode-handoff — Compact conversation into handoff documentcode-review — Multi-agent code review with specialized reviewerscode-subagents — Dispatch patterns for parallel implementationSkills 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.
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.
Skills are organized into four categories based on their role:
| Category | Prefix | Type | Invocation | Output | Flexibility |
|---|---|---|---|---|---|
| Workflow | spec: | Process | User/previous skill | Artifact | Follow exactly |
| Thinking | oracle: | Analytical | Context-driven | Guidance | Adapt to context |
| Domain Knowledge | python:, typescript: | Technology | Context-driven | Patterns | Adapt to context |
| Utility | code: | Task-specific | User command | Result | Use as needed |
spec:) — Sequential steps that produce artifacts. Follow them in order.oracle:) — Analytical capabilities that reason about your specific problem.python-*, typescript-*) — Stack-specific patterns and best practices. Like having a senior engineer for that technology.code:) — Task-specific tools you invoke directly when needed.graph LR
A[spec-brainstorm] -->|spec.md| B[spec-plan]
B -->|plan.json| C[spec-implement]
C --> D[spec-finish]
B -.->|design flaw| A
C -.->|missing tasks| B
C -.->|fundamental issue| A
D -.->|bugs found| CStandard flow:
spec.mdplan.jsonIteration is normal - Backflows (dotted lines) are expected when:
| User says | Skill invoked |
|---|---|
| "Create a spec for X" | spec-brainstorm |
| "What should we build" | spec-brainstorm |
| "Write a plan" | spec-plan |
| "Implement this" | spec-implement |
| "Review this code" | code-review |
| "Debug this" | code-debug |
| "How should I test this" | oracle-testing |
| "What's the architecture" | oracle-architect |
For local development with Claude Code, use the --plugin-dir flag to load skills directly:
claude --plugin-dir ./atelierRestart Claude Code after making changes to reload skills.
To work on the CLI itself:
# Build the CLI
bun run build
# Test locally
bun ./dist/atelier.js init --yesMIT Copyright (c) 2026 Martin Richards
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.