Implements the plan tasks following specs and design, marking progress as it goes.
Triggers: /sdd-apply <change-name>, implement change, write code, apply changes, sdd apply
Purpose
The implementation phase converts the task plan into real code. The implementer follows the specs (WHAT to do) and the design (HOW to do it), marking tasks as completed in real time.
Skill resolution
Project-local → global, in order:
1. .claude/skills/sdd-apply/SKILL.md (project-local — highest priority)
2. ~/.claude/skills/sdd-apply/SKILL.md (global catalog — fallback)
See docs/SKILL-RESOLUTION.md for the full algorithm.
Claude execution wiring
These notes bind the tool-neutral logic above to the Claude Code harness. They are the EXECUTION layer that does not port to other tools.
- Step 0a/0b preload — follow
skills/_shared/sdd-phase-common.mdSection F (Project Context Load) and Section G (Spec Context Preload). Non-blocking. - Artifact reads — use the harness
Read("docs/sdd/{change-name}/<artifact>.md")tool. If a disk file is absent (legacy change), fall back tomem_search(query: "sdd/{change-name}/<artifact>")→mem_get_observation(id). - Tech skill mapping — the neutral "stack-to-skill" step resolves to these
harness paths:
~/.claude/skills/solid-ddd/SKILL.md(always, non-doc),~/.claude/skills/react-native/SKILL.md,~/.claude/skills/react-19/SKILL.md,~/.claude/skills/nextjs-15/SKILL.md,~/.claude/skills/typescript/SKILL.md,~/.claude/skills/zustand-5/SKILL.md,~/.claude/skills/tailwind-4/SKILL.md,~/.claude/skills/go-testing/SKILL.md. Order matters:react native/expobeforereact. - Task-plan persistence — every check-off, BLOCKED marking, and progress
update MUST be persisted by
Edit-ingdocs/sdd/{change-name}/tasks.mddirectly, in real time. Do NOT mark tasks only in memory or viamem_save. - Orchestrator output — return the neutral Output Contract as the JSON block
the orchestrator expects; the manual next step is
/sdd-verify <change-name>. The summary MUST NOT suggest/commitorgit commitat any phase.