sdd:implement
SDD — Spec-Driven Development: execute tasks, run checkpoints, commit and open PR.
Skill by alfredoperez
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/alfredoperez-sdd-implement
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/sdd-implement
What's inside
- Skill name
sdd:implement- Description
- SDD — Spec-Driven Development: execute tasks, run checkpoints, commit and open PR.
- License
- MIT
- Instructions
- 438 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
- name: "sdd:implement" does not match folder "implement"
Files (1)
- SKILL.md
SKILL.md (first lines)
## Shared Instructions
- [Event Journal](../../lib/instructions/event-journal.md) — append context updates to a per-spec write-ahead log; a single drain script materializes them into `.spec-context.json`
- [Transition Logging](../../lib/instructions/transition-logging.md) — transition entry shape and millisecond `at` precision (the drainer materializes one transition per journal event)
- [Hook Execution](../../lib/instructions/hook-execution.md) — run user-configured hooks at supported pipeline points
- [Branch Creation](../../lib/instructions/branch-creation.md) — optional feature-branch creation driven by `.sdd.json` `branchStage`
- [Layered Context](../../lib/instructions/layered-context.md) — Layer 2 → Layer 1 delta sync at CP3 (Step 7b)
## Context writes: journal + drain
This skill does **not** read-merge-write `.spec-context.json` on every task.
Per [event-journal](../../lib/instructions/event-journal.md), each context
update is a one-line **append** to `specs/{NNN}-{slug}/.spec-context.events.jsonl`
(cheap; no read, no merge), and a single **drain** materializes the journal into
`.spec-context.json` at the boundaries called out below.
- **On entry**, read `drainedSeq` from `.spec-context.json` (default 0) and the
last journal line's `seq` (default 0); set your run counter to the max. Each
append increments it by 1. Each append carries `at` (ms precision via
`date -u +%Y-%m-%dT%H:%M:%S.%3NZ`), the current `step`/`substep`, and the
`from` (prior step+substep) — the drainer turns each event into exactly one
transition.
- **To drain**, run:
```bash
python3 lib/scripts/drain-spec-context.py specs/{NNN}-{slug}/
```
Drain at: Context Recovery (first), every ~3 solo tasks and before yielding the
turn, each parallel-group end, before each checkpoint display (CP1/CP2/CP3),
and before `git add` in Steps 8 and 8b. The drainer is idempotent.
## Steps
### 1. Load
If `$ARGUMENTS` is provided, use `specs/{$ARGUMENTS}/` as the target directory.
Otherwise, find the most recently modified directory under `specs/` that contains `tasks.md`.
Read in parallel:
- `specs/{NNN}-{slug}/tasks.md` — all Phase 1 tasks
- `specs/{NNN}-{slug}/spec.md` — feature name, requirements, scenarios (for CP1 verification)
- `specs/{NNN}-{slug}/plan.md` — approach, files, issue number if present
- `specs/{NNN}-{slug}/.spec-context.json` — current step/task (if exists; note if resuming mid-implement)
Determine commit scope from the primary directory being modified (e.g., `toolbar`, `ui`, `core`). If unclear, omit scope.
Determine issue number from plan.md or spec.md if present.
If no tasks found, stop: "Run `/sdd:specify`, `/sdd:plan`, and `/sdd:tasks` first."
Append a `progress` event to the journal per [event-journal](../../lib/instructions/event-journal.md) (seq counter initialized as described above):
```json
{ "seq": <n>, "at": "<ms-ISO>", "kind": "progress", "step": "implement", "substep": "phase1", "from": { "step": "tasks", "substep": null }, "set": { "currentStep": "implement", "currentTask": "T001", "progress": "phase1", "next": "implement" } }
```
(No drain needed yet — Context Recovery and the first checkpoint will drain.)
---
### 1b. Optional Branch Creation
**Skip this step on resume** — if `.spec-context.json` already showed `currentStep = "implement"` on entry, branch creation has already run (or been skipped) on the first pass.
Follow [branch-creation](../../lib/instructions/branch-creation.md) with `stage="implement"`. It is a no-op unless `.sdd.json` has `branchStage: "implement"`.
Run `pre:implement` hooks per [hook-execution](../../lib/instructions/hook-execution.md) with `vars = { slug, spec-dir, files: <empty string — no files modified yet> }`.
---
### Context Recovery (if resuming)
If `.spec-context.json` shows `currentStep = "implement"`:
0. **Drain first.** Run `python3 lib/scripts/drain-spec-context.py specs/{NNN}-{slug}/` so any events appended before the interruption are materialized before you read. The drainer is idempotent. Then initialize your seq counter (see "Context writes" above).
1. Read `.spec-context.json` fully — extract `approach`, `last_action`, `task_summaries`, `concerns`, `decisions`, `files_modified`, and `step_summaries` if present
2. Use these fields to reconstruct context efficiently:
- `approach` tells you the implementation strategy without re-reading plan.md
- `last_action` tells you what just happened before context was lost
- `task_summaries` for completed tasks tells you what each task did, what files it touched, and any concerns — without re-deriving from code
- `step_summaries.plan` (if present) provides the planned approach, file count, and risks — skip re-reading plan.md
- `concerns` and `decisions` carry forward flagged issues and key choices
3. Read `tasks.md` — `[x]` = done, `[ ]` = remaining (still needed for remaining task definitions)
4. Read `spec.md` for scenarios (needed at CP1 for verification). If `step_summaries.specify` exists in .spec-context.json, you can skip re-reading spec.md for feature context (use the key_finding instead) — but still read it for CP1 scenario verification.
5. Skip re-reading `plan.md` if `step_summaries.plan` and `approach` exist in .spec-context.json — these provide sufficient context
6. Read `progress` from `.spec-context.json` and use it to skip completed phases:
| `progress` value | Resume point |
|-----------------|-------------|
| `phase1` | Resume from first unchecked task in Phase 1 |
| `hooks` | Skip Phase 1, resume at hooks execution |
| `code-review` | Skip Phase 1 + hooks, resume at CP1 — Code Review |
| `test-results` | Skip through CP1, resume at CP2 — Test Results |
| `commit-review` | Skip through CP2, resume at CP3 — Commit Review |
| `commit` | Skip through CP3, resume at Step 8 (stage + commit) |
| `null` or missing | Fall back to task-based recovery: resume from first unchecked task |
4. Do NOT re-run completed phases — trust the progress marker and existing checkmarks
---
### 2. Phase 1 — Core Implementation
Walk Phase 1 tasks in order. Tasks group into two execution shapes:
- **Solo task** — any task that does not start with `[P]`. Execute it by itself.
- **Parallel group** — a run of consecutive `[P]` tasks. Execute them as a batch of concurrent subagents.
#### 2a. Solo task execution
For each solo task:
1. Perform the work described in the **Do** field.
2. Run the **Verify** check.
3. Mark complete in `specs/{NNN}-{slug}/tasks.md`: `- [ ]` → `- [x]`.
4. Append one `task_done` event to the journal per [event-journal](../../lib/instructions/event-journal.md) (no read-merge; `files_modified` is `union`, `decisions`/`concerns` are `append`, the rest is `set`):
```json
{ "seq": <n>, "at": "<ms-ISO>", "kind": "task_done", "step": "implement", "substep": "phase1", "from": { "step": "implement", "substep": "phase1" },
"set": { "task_summaries.{taskId}": { "status": "DONE|DONE_WITH_CONCERNS", "did": "<one line>", "files": ["..."], "concerns": ["..."] }, "currentTask": "<next T### or null>", "last_action": "<one line>" },From alfredoperez/sdd, MIT.
More from alfredoperez/sdd
- 0.493score
sdd:tasks
alfredoperez
SDD — Spec-Driven Development: generate a lean phased task list.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:drift
alfredoperez
SDD — Spec-Driven Development: detect code that drifted from .specs/<domain>/spec.md (changed without spec update).
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:init
alfredoperez
SDD — Spec-Driven Development: scaffold .sdd/ and adopt living specs for an existing repo, one area at a time.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:plan
alfredoperez
SDD — Spec-Driven Development: write a lean implementation plan.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:auto
alfredoperez
SDD — Spec-Driven Development: run the full pipeline automatically.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:specify
alfredoperez
SDD — Spec-Driven Development: write a lean spec for rapid iteration.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:adr
alfredoperez
SDD — Spec-Driven Development: scaffold a new Architectural Decision Record.
SkillCFreshness: C★ 2Claude Code +9 - 0.428score
sdd:resume
alfredoperez
SDD — Spec-Driven Development: advance to the next pipeline step.
SkillDFreshness: D★ 2Claude Code +9 - 0.428score
sdd:pause
alfredoperez
SDD — Spec-Driven Development: pause a spec to prevent auto-advance.
SkillDFreshness: D★ 2Claude Code +9 - 0.425score
sdd:status
alfredoperez
SDD — Spec-Driven Development: show spec states dashboard.
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 23, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/alfredoperez/sdd
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from alfredoperez
- 0.687score

SpecKit Companion
alfredoperez
See and steer everything your AI builds.
PluginAFreshness: A★ 99VS Code +3 - 0.493score
sdd:drift
alfredoperez
SDD — Spec-Driven Development: detect code that drifted from .specs/<domain>/spec.md (changed without spec update).
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:specify
alfredoperez
SDD — Spec-Driven Development: write a lean spec for rapid iteration.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:tasks
alfredoperez
SDD — Spec-Driven Development: generate a lean phased task list.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:init
alfredoperez
SDD — Spec-Driven Development: scaffold .sdd/ and adopt living specs for an existing repo, one area at a time.
SkillCFreshness: C★ 2Claude Code +9 - 0.493score
sdd:plan
alfredoperez
SDD — Spec-Driven Development: write a lean implementation plan.
SkillCFreshness: C★ 2Claude Code +9
Cite this page
sdd:implement skill. Agent Mart. https://agentmart.dev/skills/alfredoperez-sdd-implement (last updated 2026-10-24)