Skip to content
AI & Agents
Skill

/implement-spec

Implement an existing spec through committed passes. Use for long or multi-pass specs that need maintenance checkpoints to periodically clean code, handoffs, priorities, and plan bloat before drift accumulates.

BOOST
From plugin
dzhng-skills
1.3k30 skills
Install
$ npx -y skills add dzhng/skills --skill implement-spec --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/implement-spec

Context preview

The summary Claude sees to decide when to auto-load this skill.

Implement an existing spec through committed passes. Use for long or multi-pass specs that need maintenance checkpoints to periodically clean code, handoffs, priorities, and plan bloat before drift accumulates.

SKILL.md

implement-spec.SKILL.md
name: implement-spec
description: Implement an existing spec through committed passes. Use for long or multi-pass specs that need maintenance checkpoints to periodically clean code, handoffs, priorities, and plan bloat before drift accumulates.

Implement Spec

Build the active spec to completion, one reviewable pass at a time. The spec is the implementation plan; user constraints and accepted experimental evidence remain binding when the architecture changes.

A pass (usually one slice) is a **commit checkpoint, not a stopping point.** The job is the whole spec — every slice, every global TODO — not the first green commit. Finishing a pass means starting the next one, not handing back to the user. Only stop when the spec is fully implemented (or a genuine blocker needs a decision only the user can make).

**Work in parallel wherever the graph allows.** Do not walk the ladder one slice at a time when slices are independent. Read the spec's dependency graph as a wavefront and **delegate independent passes to subagents that run concurrently** (see Rules) — you orchestrate and integrate; only serialize what genuinely depends on prior work.

Workflow

1. Read the repo README, the spec README, and the next slice before editing. Load any skills named by the spec. Identify the current pickup point, global TODOs, required gates, and what must stay green. If a multi-slice spec lacks a live handoff prompt, add one before the first pass ends. For a validated spike, apply **Preserve the winner** below before editing. 2. Reconcile the plan with the current code. If the slice would preserve a development-only shim, duplicated type, weak wrapper, or obsolete path, replace it with the simpler architecture and update the spec handoff. 3. Implement one coherent pass: usually one slice, one vertical checkpoint, or one architecture correction. Keep the review surface small enough to audit. 4. Verify the actual contract. For behavior changes, run the focused unit tests first; for browser-visible work, use the real browser/harness and inspect screenshots so the subject is framed and readable, not merely nonblank. A visual CHANGE carries two extra proofs before you claim it: a byte/pixel diff against the pre-change baseline on the production route (static checks and re-anchored assertions all pass on a no-op — a palette pass once shipped "verified" while the production frame was byte-identical), and an unprimed [screenshot-critique](../../visual/screenshot-critique/SKILL.md) — at the user's reported framing when the pass answers their visual bug report — before declaring it fixed; the implementer's eyes are primed by the fix and repeatedly pass what fresh eyes catch. Never weaken an existing default gate or repin a failing contract without proving the old contract is wrong. 5. **Review the change list and clean up after every pass, before committing.** Read `git status`/`git diff --stat` line by line and account for every path: one-off probes, shot scripts, scratch files, `nohup.out`, ad-hoc screenshot dirs, and disposable SPIKE/debug notes never enter a commit — scratch stays out of the tree. Preserve frozen references, fixtures, and research evidence in the project's reference or spec assets area. A file without a durable purpose does not ship. Delegated agents leak these; the integrating reviewer re-checks the merged tree with the same eye.

Sizing the pass — measuring what it cost and reworking it when the line count is out of proportion to the behaviour it delivers — belongs to the shape pass in step 6, under [refactor-clean](../refactor-clean/SKILL.md). 6. Run [review](../review/SKILL.md) at the end of every pass, before committing. It sequences the three closeout lenses — refactor-clean on the shape, code-review on the settled diff, write-docs on what the change touched — and you apply the fixes from all three. Long specs are where sediment compounds, so hold the shape pass to this pass's own output: dev-only shims, duplicated concepts, parallel abstractions, and compatibility wrappers it introduced collapse into the clean contract with one owner, so the code reads as designed today, not tacked on. Last, run [audit-choices](../audit-choices/SKILL.md) on the cleaned pass — a pure audit that appends every decision made where the spec was silent (your own, and each delegated subagent's when integrating) to the spec's choices ledger (`specs/<feature>/choices.md`) with verdicts, changing no code itself. You act on its findings: redo unsound choices from their corrected decisions, adopt the recorded provisional call on any user-only entry — the audit never blocks the run. Rerun the affected checks, then commit only the focused changes from this pass. 7. Update the spec README's "Next Agent Prompt": status, completed work, next pickup point, blockers, changed gates, and any architecture decision that changed the plan. 8. Run a **maintenance checkpoint** as part of the loop, not as endgame cleanup. Trigger it after a red pass, after every two or three slice commits, after a rebase/resume/compaction, before changing feature areas, when evidence invalidates the plan, when the handoff contradicts the TODO/graph, when the choices ledger's entries cluster around one slice, or when the active prompt grows hard to scan. Long specs bloat repeatedly; cleanup is a normal pass, not a cosmetic chore.

A checkpoint cleans both plan and code before more feature work:

  • Shorten the README handoff to one current pickup, one priority order, and

one compact evidence ledger; move play-by-play into slice files or assets.

  • Correct completed/rejected/next markers; delete stale TODOs, stale

acceptance claims, duplicated status sections, and obsolete prompts.

  • Re-rank remaining work so the next red/high-risk contract is explicit, and
Read more
Ships withdzhng-skills

AI skills for building software factories. My personal library of domain-agnostic agent skills, reused across every project.

Get the whole plugin
Stats
1,337
Stars
81
Forks
Active
Maintenance
HTML
Language
MIT
License
13h ago
Last commit
3mo ago
Created
5h ago
Added

Repo: dzhng/skills

Other skills on dzhng-skills.