
Sdd Apply
Run the SDD implementation phase: execute tasks from an approved change plan while updating tasks.md against specs and design.
Install
npx skills add https://github.com/fearovex/claude-config --skill sdd-applyWhat is this skill?
- Triggered by /sdd-apply <change-name> and implement-change phrases
- Resolves project-local .claude/skills/sdd-apply before global ~/.claude/skills fallback
- Preloads project context and spec context via shared sdd-phase-common sections F and G
- Tech skill preload with documentation-only skip when design matrix is only .md/.yaml
- Marks tasks completed in real time while honoring specs (what) and design (how)
Adoption & trust: 1 installs on skills.sh; 1 GitHub stars; 1/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Grill Memattpocock/skills
Grill With Docsmattpocock/skills
Brainstormingobra/superpowers
Lark Tasklarksuite/cli
Lark Workflow Standup Reportlarksuite/cli
Cavemanjuliusbrussee/blueprint
Journey fit
Primary fit
Build PM shelf fits turning an approved SDD change into code with live task tracking—not ideation or post-ship marketing. PM subphase reflects plan-driven execution, File Change Matrix awareness, and incremental progress marks in tasks.md.
Common Questions / FAQ
Is Sdd Apply safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Sdd Apply
# sdd-apply > 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. --- ## Process ### Step 0 — Preload **0a. Project context** — follow `skills/_shared/sdd-phase-common.md` **Section F** (Project Context Load). Non-blocking. **0b. Spec context preload** — follow `skills/_shared/sdd-phase-common.md` **Section G** (Spec Context Preload). Non-blocking. **0c. Tech skill preload**: 1. **Scope guard** — read `design.md` File Change Matrix via `mem_search`/`mem_get_observation`. If every file extension is in `[.md, .yaml, .yml]` → documentation-only. Report `"Tech skill preload: skipped (documentation-only change)"` and skip the rest of Step 0c. 2. **Stack detection** — sources, in priority order: - Primary: `ai-context/stack.md` — extract technology keywords (case-insensitive, free text). - Secondary: `config.yaml` at project root — read `project.stack` keys. - Neither → report `"Tech skill preload: skipped (no stack source found)"` and skip. 3. **Stack-to-skill mapping** (case-insensitive substring match, top-to-bottom): | Keyword(s) | Skill path | |---------------------------|-----------------------------------------------| | always (non-doc changes) | `~/.claude/skills/solid-ddd/SKILL.md` | | react native, expo | `~/.claude/skills/react-native/SKILL.md` | | react | `~/.claude/skills/react-19/SKILL.md` | | next, nextjs, next.js | `~/.claude/skills/nextjs-15/SKILL.md` | | typescript, ts | `~/.claude/skills/typescript/SKILL.md` | | zustand | `~/.claude/skills/zustand-5/SKILL.md` | | tailwind | `~/.claude/skills/tailwind-4/SKILL.md` | | go, golang | `~/.claude/skills/go-testing/SKILL.md` | Order matters: `react native`/`expo` come before `react`. The `always` row is skipped when the scope guard triggered. 4. **Load** — for each matched path: file exists → read and load patterns into context; absent → skip silently with note `"<skill-name>: skipped (file not found at <path>)"`. This step MUST NOT produce `status: blocked` or `status: failed`. 5. **Report** — list loaded skills + skipped ones. Carry the list to Step 2 detection output: `"Technology skills loaded: [typescript, react-19, tailwind-4]"` (or `"none"`). **0d. Initialize retry counter**: - Read `apply_max_retries` from project `config.yaml` if present. Otherwise default to `3`. - Initialize `attempt_counter = {}` (in-memory, per-invocation). Each `/sdd-apply` run starts fresh. - When `attempt_counter[task_id] >= max_attempts` before a new attempt → task immediately `[BLOCKED]`, phase halts. User must resolve and re-run `/sdd-apply` to resume. ### Step 1 — Read full context Read in this order: 1. Tasks artifact — `mem_search(query: "sdd/{change-name}/tasks")` → `mem_get_observation(id)`. Engram unreachable → orchestrator passes inline. 2. Spec artifact — same pattern with `sdd/{change-name}/spec`. 3. Design artifact — same pattern with `sdd/{change-name}/design`. 4