Skip to content
Development
Skill

/spec-implement

Continue an approved Spec-backed workflow when the user says "implement", "go", "start", or "do it". After Codex Plan Mode, persist the next missing design.md or plan.json artifact and stop. When both artifacts exist, execute plan.json with TDD and report between batches.

From plugin
atelier
4916 skills4 agents

Claude Code

$ npx -y skills add martinffx/atelier --skill spec-implement --agent claude-code

SKILL.md

spec-implement.SKILL.md
name: spec-implement
description: >
  Continue an approved Spec-backed workflow when the user says "implement", "go", "start", or
  "do it". After Codex Plan Mode, persist the next missing design.md or plan.json artifact and
  stop. When both artifacts exist, execute plan.json with TDD and report between batches.
user-invocable: true

Spec Implement

Execute the approved Spec-backed Plan. Track progress when it uses tracked tasks. Report. Stop when blocked.

**Announce at start:** "I'm using the spec-implement skill to execute this plan."

This skill does not make design decisions or change approved content. It may persist approved content from the conversation when Plan Mode could not write the required artifact. If the plan is wrong, go back to spec-plan. If the design is wrong, go back to spec-brainstorm.

Prerequisites

Resolve required artifacts in order before starting product implementation:

1. If `docs/specs/YYYY-MM-DD-<feature>/design.md` is missing, write it from the approved design in the current conversation. Validate the file, report its path, and stop. Do not create `plan.json` or start implementation in the same invocation. 2. Otherwise, if `docs/specs/YYYY-MM-DD-<feature>/plan.json` is missing, write it from the approved plan in the current conversation. Validate it against the schema in `spec-plan`, report its path, and stop. Do not start implementation in the same invocation. 3. If the approved content needed for the next missing artifact is not available in the current conversation, stop and tell the human what content is unavailable. Do not ask the human to create the file. 4. When both artifacts exist, verify that any tracker entries selected during planning are available, along with `docs/agents/issue-tracker.md` when tracking is configured. 5. Verify that you are not on main/master without explicit user consent. Create a branch or use a git worktree first.

Each invocation creates at most one missing artifact. Only proceed to product implementation when both approved artifacts existed at the start of the invocation.

---

Step 1: Load and Review the Plan

Read plan.json critically before writing code. Look for:

  • Unclear or ambiguous tasks
  • Missing file paths or incomplete validation criteria
  • Tasks that conflict with each other
  • Dependencies that don't match what you see in the codebase
  • Existing code or platform behavior that already satisfies a planned capability
  • Duplicate IDs, parsers, errors, schemas, lifecycle handling, or test utilities
  • Shared abstractions with fewer than two current consumers
  • Tests whose only purpose is validating a new wrapper

If planned machinery fails these checks, stop before implementing it and return to `spec-plan` with a smaller revision for human review. Preserve the approved behavior and scope; do not force an unsupported structure through implementation.

For other concerns, **raise them with the human before starting**. Don't guess. Don't assume. Don't force through blockers.

If no concerns, proceed. Use existing tracker entries when present.

---

Step 2: Choose Execution Style

If the human has not specified an execution style, ask.

Autonomous Mode

> "Implement it all. Don't stop until you're done."

  • Execute all tasks in dependency order
  • Track progress when the Spec-backed Plan has tracker entries
  • Run type checking / linting continuously
  • Only stop if blocked
  • To run unattended to a draft PR, use **spec-loop**

Batched Mode (default)

> "Do a few tasks at a time."

  • Execute 3-5 tasks
  • Stop and report: what was done, test output, anything unexpected
  • Wait for human feedback before continuing

Delegation (all modes)

In any mode, delegate a task to a fresh subagent when **the design is already settled and the file just needs to be made**, as defined by the **code-subagents** "When to Use" criteria.

  • Invoke **code-subagents** for eligibility, dispatch patterns, and the implementer template
  • Paste the relevant design excerpt into the dispatch so the subagent makes no design decisions
  • Select the agent explicitly (see Delegation in `atelier-orchestrator`)
  • Keep coupled, exploratory, or design-sensitive tasks in the main thread
  • The main agent runs the combined plan and code-quality review per completed batch, and the

validation commands itself

Subagent Mode

> "Use subagents."

Delegate every eligible task. Independent tasks dispatch in parallel, dependent tasks run sequentially.

Default to batched if the human hasn't expressed a preference; delegation still applies per task.

---

Step 3: Execute the Plan

Preserve the approved behavior and scope. Treat the plan's proposed structure as a hypothesis that must remain supported by repository evidence.

For each task, find the next unblocked task directly from `plan.json`. When tracker entries exist, use `docs/agents/issue-tracker.md` to keep their execution state in sync; tracker state never overrides the plan's dependency graph.

When a tracker exists, mark it in progress according to `docs/agents/issue-tracker.md`.

For each task

Read the task's **inputs** and **description** first.

For behavior-changing code tasks, write tests that cover the validation criteria before writing implementation. For documentation, configuration, migration, or verification-only tasks, use the task's stated validation instead. Invoke an installed language-specific testing skill when needed. Write tests at the module's interface (see **oracle-codebase-design**), and use its red flags when refactoring.

1. Read task inputs and description
2. Write failing tests (cover validation criteria)
3. Run them — verify they fail for the RIGHT reason
4. Implement minimal code to make tests pass
5. Refactor if needed (tests stay green)

For behavior-changing code, do NOT write implementation before tests. Do NOT skip "verify it fails." Do NOT write more code than needed to pass the test.

Verify the task ag

Read more
@martinffx
Ships withatelier

A personal development toolkit for AI agents. It covers spec-driven development, code quality, and deep thinking. Atelier gives coding agents a disciplined way to move from an idea to reviewed, verified code without taking control away from the developer.

4916 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
49
Star history of martinffx/atelier on GitHub, a chart by star-history.com

Other skills on atelier.

atelier-orchestrator

atelier-orchestrator

Skill routing and workflow orchestration. Selects Inline Plan or Spec-backed Plan, routes to the correct workflow skill, and…

@martinffx@martinffxInstall Skill
atelier-setup

atelier-setup

Configure a repository for Atelier's development workflow. Use only when explicitly invoked; inspect existing guidance,…

@martinffx@martinffxInstall Skill
code-commit

code-commit

Generate and validate conventional commit messages following the conventionalcommits.org spec. Use whenever the user wants to…

@martinffx@martinffxInstall Skill
code-pull-request

code-pull-request

Manage GitHub pull requests or GitLab merge requests: create, read/leave/respond to comments, and merge. Triggers on "open a PR",…

@martinffx@martinffxInstall Skill
code-review

code-review

Multi-agent code review run as a debate. Critics raise findings in parallel, an Author defends the change, Critics concede or…

@martinffx@martinffxInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about spec-implement.

Which coding agents can use spec-implement?
spec-implement installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.