Agent skill

Wf Spec Implement

by changkun in changkun/wallfacer

Build a spec: plan the work, implement each item with tests and docs, commit, then finalize.

MITAuto-check passedDevelopment

Install Wf Spec Implement

skills CLI
$ npx skills add changkun/wallfacer --skill wf-spec-implement -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install changkun/wallfacer wf-spec-implement --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/changkun/wallfacer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/wf-spec-implement .claude/skills/wf-spec-implement && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
wf-spec-implement
GitHub stars
112
Token cost
~2.7k tokens
SKILL.md length
1,500 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Build a spec: plan the work, implement each item with tests and docs, commit, then finalize.

  • Works in 7 steps: Parse arguments and read the spec → Assess readiness → Build a plan → …
  • The user says implement spec
  • SKILL.md covers Step 0: Parse arguments and…, Step 1: Assess readiness, Step 2: Build a plan and Step 3: Implement, plus 4 more sections
  • Calls git

What it does

Wf Spec Implement is an agent skill from changkun/wallfacer. Build a spec: plan the work, implement each item with tests and docs, commit, then finalize. The only skill here that writes production code. Use when the user says "implement spec" or "build spec", or names a spec file to build.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. The repository describes itself as: Chat, specs, tasks, and code. An autonomous engineering platform. Full autonomy when you trust it. Full control when you don't. The licence is MIT.

When your agent uses it

  • The user says implement spec
  • Names a spec file to build

Example prompts

  • “implement spec”
  • “build spec”
  • “/wf-spec-implement”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Parse arguments and read the spec
  2. Assess readiness
  3. Build a plan
  4. Implement
  5. Final verification
  6. Finalize the spec
  7. Summary

What it can do on your machine

Read from SKILL.md and the folder at commit 5b3cea1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Wf Spec Implement loads about 2.7k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,500 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from changkun/wallfacer at commit 5b3cea1, republished under its MIT licence (© changkun). 1,500 words, ~2,694 tokens.

Download SKILL.mdSave it as .claude/skills/wf-spec-implement/SKILL.md (or your agent's skills folder).
name
wf-spec-implement
description
Build a spec: plan the work, implement each item with tests and docs, commit, then finalize. The only skill here that writes production code. Use when the user says "implement spec" or "build spec", or names a spec file to build.
argument-hint
<spec-file> [items to focus on...]
user-invocable
true

Implement a Spec

Implement the design spec at $ARGUMENTS. The first token is the spec file path (e.g., specs/04-file-explorer.md). Remaining tokens are optional focus instructions — if provided, implement only the specified items/sections instead of the full spec.

Step 0: Parse arguments and read the spec

  1. Extract the spec file path (first token of $ARGUMENTS).
  2. Read the spec file in full. If the path doesn't exist, check specs/ for a matching filename.
  3. Parse YAML frontmatter — extract structured fields between --- fences: title, status, depends_on, affects, effort, created, updated, author, dispatched_task_id. These drive readiness checks and completion updates below.
  4. Read specs/README.md to understand where this spec sits in the track organization and dependency graph.
  5. Extract any focus instructions from the remaining tokens.

Step 1: Assess readiness

Before writing any code, verify:

  1. Spec lifecycle gate — check the frontmatter status field:
    • validated → ready to implement. Proceed.
    • drafted → warn the user that the spec has not been reviewed/validated. Ask whether to proceed anyway.
    • vague → stop. The spec is not ready for implementation.
    • testing → the implementation already landed and the drift verdict is pending. Do not re-implement; run /wf-spec-wrapup to render the verdict.
    • complete → already done. Confirm with the user before re-implementing.
    • stale → warn the user the spec may not match reality. Suggest /wf-spec-refine first.
  2. Dependencies are met — read the depends_on list from frontmatter. For each dependency path, read that spec's frontmatter and confirm its status is complete. If any dependency is not complete, report which ones block this spec and ask the user how to proceed.
  3. Spec is current — use the affects list from frontmatter to locate the relevant code files. Skim the spec for file paths, function names, and API references. If any look stale, update them (or flag to the user) before proceeding.
  4. No conflicts — run git status to confirm the working tree is clean. If dirty, ask the user how to proceed.

Step 2: Build a plan

Break the spec into an ordered list of implementation tasks. For each task:

  • State what will be built or changed
  • List the files that will be created or modified
  • Note any test files needed
  • Note any doc files that need updating

Present this plan to the user for approval (in Claude Code, through plan mode). Group tasks into logical commits (small, focused). Order tasks so each commit leaves the project in a working state.

Wait for user approval before proceeding. The user may adjust scope, reorder items, or skip sections.

Autonomous mode (goal-driven / driven by /wf-spec-drive): plan-mode approval is an interactive gate — it hangs an unattended /goal loop. So when this skill is invoked by /wf-spec-drive under a goal, or with an explicit auto token in the arguments, the goal itself is the standing approval: skip plan mode and the approval wait, and go straight to Step 3. Stay conservative — keep commits small, and if the plan turns out ambiguous, risky, or larger than a single focused leaf, stop and report (surfacing it to the goal loop / user) rather than guessing. Reserve autonomous mode for leaf specs you can build in one pass; anything needing real design judgment should still pause for a human.

Step 3: Implement

For each task in the approved plan:

3a. Write the code
  • Read all files you plan to modify before changing them.
  • Discover the repository's working agreements and commands from files such as AGENTS.md, CLAUDE.md, CONTRIBUTING.md, README.md, package manifests, build files, and CI workflows. Treat the live repository as authoritative.
  • Follow existing code patterns — match style, naming, error handling, and structure of surrounding code.
  • Keep changes minimal and focused on what the spec requires.
  • When changing a generated surface, find and edit its source of truth, then run the repository's documented generation command.
3b. Write tests
  • Follow the repository's test framework, placement, naming, and coverage conventions.
  • Every new or changed behavior must have a focused test. Every bug fix needs a regression test that fails without the fix.
  • Cover the happy path and relevant error or boundary cases in proportion to the change's risk.
3c. Verify

After implementing each task, run the repository's documented gates in this order where they exist:

  1. Format and lint the changed files.
  2. Run the smallest relevant test target for fast feedback.
  3. Run the broader test suite required by the repository.
  4. Run build, type-check, generation-drift, or static-analysis checks required by the affected area.
  5. Fix every failure before moving on. If no command is documented, infer it from package manifests and CI, then report the command you chose.
3d. Update docs

If the task adds, removes, or modifies any API route, CLI flag, env variable, data model field, or user-visible behavior:

  • Update the repository's relevant user guide or reference page.
  • Update architecture or internals documentation when internal contracts changed.
  • Update repository instruction files when commands or conventions changed.
3e. Commit
  • Stage only the files for this task.
  • Write a scoped, imperative commit message matching the repo style (e.g., api: add file content endpoint).
  • Do NOT push unless the user explicitly asks.
3f. Update progress

After each commit, mark the completed task done and show the user a brief status update: what was done, what's next.

Step 4: Final verification

After all tasks are implemented, run the full verification set required by the repository, including its test suite and build or type-check command where they exist. If any gate fails, diagnose and fix it before finishing.

Show full SKILL.md (598 more words)Show less

Step 5: Finalize the spec

How you finalize depends on whether the whole spec shipped or only a subset (focus instructions, deferred/blocked items).

5a. Full implementation → delegate to wrap-up

If every item in the spec was implemented, do not hand-roll the completion write-up here — invoke /wf-spec-wrapup <spec-file>. It owns the canonical finalization: driving the spec through the testing gate to complete (or stale on significant drift) — never a raw validated → complete jump — writing the ## Outcome section (What Shipped + Design Evolution + the decisions/surprises/follow-ups detail), updating specs/README.md, the reverse-dependency scan, and the single spec commit. This keeps direct-implement and dispatch converging on one finalizer and one section convention, instead of two skills writing divergent sections.

Hand wrap-up the knowledge you accumulated this session as the Outcome source — the commit SHAs, the judgment calls, the deviations from the spec, the gotchas — so it documents what actually happened rather than reconstructing it from git. If a deviation made the spec body itself wrong, fix the body inline (wrap-up's Outcome explains the change; the body must read as current reality).

5b. Partial implementation → lightweight in-place notes

If only a subset shipped, do NOT mark the spec complete (that would let wrap-up close it). Instead:

  1. Leave status at validated (the lifecycle has no in_progress / implemented state — a spec stays validated until it goes through testing to complete, which only the full-completion wrap-up does); set updated to today; record dispatched_task_id if this is a dispatched leaf.
  2. Append an ## Implementation notes section capturing the running state, with tight bullets (omit a subsection only if genuinely empty):
    • Status — commit SHAs/PR, date, and that the spec is partially done.
    • What was done — concrete changes that shipped, grouped by area (backend / frontend / docs / tests), linking primary files or commits.
    • What was not done — spec items skipped/deferred/descoped, each with why (out of scope this pass, blocked by X, user deferred, found unnecessary) and whether a follow-up is expected.
    • Decisions made during implementation — choices not spelled out in the spec (naming, error semantics, defaults, schema shapes, ordering, UX micro-details, test strategy), each with its reasoning. Most valuable subsection — captures judgment that would otherwise be lost.
    • Deviations from the spec — where the implementation intentionally differs (signatures, renamed fields, reordered/removed/added items); what the spec said vs. what was done, and why. Fix a now-wrong spec body inline.
    • Surprises / gotchas — hidden coupling, fragile assumptions, perf cliffs, test-infra quirks, undocumented external behavior.
    • Follow-ups — concrete next steps not done here; link new specs/issues, or write "None."
  3. Update the specs/README.md status column to the in-progress state and run the reverse-depends_on scan for factual corrections to dependents only.
  4. Commit the spec + README updates as one small commit (e.g., specs: record partial progress on <spec-name>).

Run /wf-spec-wrapup later, once the remaining items land, to do the full completion write-up.

Step 6: Summary

Report to the user:

  • What was implemented (list of commits with one-line descriptions)
  • What was deferred or skipped (if any), and why
  • Any follow-up work or known limitations
  • Whether the spec is now fully done or if items remain

Guidelines

  • Read before writing — never modify a file you haven't read in this session.
  • One logical change per commit — don't bundle unrelated changes.
  • No over-engineering — implement exactly what the spec says. Don't add features, abstractions, or configurability beyond what's specified.
  • Ask when ambiguous — if the spec is unclear or contradicts the codebase, ask the user rather than guessing.
  • Preserve existing patterns — follow the repository's instruction files and the surrounding code rather than importing conventions from another project.
  • Follow the repository checklist — include the tests, docs, and review steps required by the project being changed.

© changkun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/wf-spec-implement of changkun/wallfacer.

Open the folder on GitHubat commit 5b3cea1

Compare with similar skills

Wf Spec Implement next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Wf Spec Implement compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wf Spec Implement this skillchangkun/wallfacer112—~2.7kAutomated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from changkun/wallfacer

All 14 skills in this repo
  • Wf Spec Breakdown

    changkun/wallfacer

    Split one spec into children — sub-design specs when questions are still open, or implementation-ready leaves when the plan is clear.

    112 GitHub stars~2.6k tokensUpdated 4 days ago
    Auto-check passed
  • Wf Spec Create

    changkun/wallfacer

    Write a new spec from scratch when none exists for the idea yet.

    112 GitHub stars~2.3k tokensUpdated 4 days ago
    Auto-check passed
  • Wf Spec Dispatch

    changkun/wallfacer

    Mark a validated spec ready to build and resolve its dependency wiring; where a task board with a transition API is present, create the linked task atomically.

    112 GitHub stars~1.6k tokensUpdated 4 days ago
    Auto-check passed
  • Wf Spec Drive

    changkun/wallfacer

    Run the whole lifecycle for one spec, calling the other skills in order and advancing one legal transition at a time until it reaches a target state (default complete), stopping to ask at…

    112 GitHub stars~2.3k tokensUpdated 4 days ago
    Auto-check passed
  • Wf Spec Report

    changkun/wallfacer

    Survey the whole spec tree: what is complete, in progress, blocked, and actionable next.

    112 GitHub stars~1.6k tokensUpdated 4 days ago
    Auto-check passed
  • Wf Spec Review Impl

    changkun/wallfacer

    Read-only verdict on whether an implementation meets its spec: each acceptance criterion classified, unintended changes flagged, test coverage checked.

    112 GitHub stars~1.1k tokensUpdated 4 days ago
    Auto-check passed

Categories

Questions about Wf Spec Implement

What does Wf Spec Implement do?

Build a spec: plan the work, implement each item with tests and docs, commit, then finalize. Wf Spec Implement is an agent skill from changkun/wallfacer. Build a spec: plan the work, implement each item with tests and docs, commit, then finalize.

When should I use Wf Spec Implement?

Wf Spec Implement fits situations like: the user says implement spec; names a spec file to build.

How do I install Wf Spec Implement in Claude Code?

Run `npx skills add changkun/wallfacer --skill wf-spec-implement -a claude-code`. Or copy the skill folder (.claude/skills/wf-spec-implement in changkun/wallfacer) into .claude/skills/wf-spec-implement in your project. Claude Code loads it when a task matches its description.

How do I install Wf Spec Implement in Codex?

Run `npx skills add changkun/wallfacer --skill wf-spec-implement -a codex`. Or copy the skill folder (.claude/skills/wf-spec-implement in changkun/wallfacer) into .agents/skills/wf-spec-implement in your project. Codex loads it when a task matches its description.

Can I use Wf Spec Implement in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add changkun/wallfacer --skill wf-spec-implement -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wf-spec-implement, .gemini/skills/wf-spec-implement, .github/skills/wf-spec-implement and .opencode/skills/wf-spec-implement in your project.

What does Wf Spec Implement need to run?

Going by SKILL.md and its folder, Wf Spec Implement needs the command-line tools its instructions call (git).

Does Wf Spec Implement access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Wf Spec Implement safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Wf Spec Implement use?

Wf Spec Implement is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Wf Spec Implement use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Wf Spec Implement?

Skills that share tags, products or a category with Wf Spec Implement: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wf Spec Implement?

changkun (a GitHub user) maintains it in changkun/wallfacer, which has 112 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 4, 2026.

Source: changkun/wallfacer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.