Agent skill

Wf Spec Refine

by changkun in changkun/wallfacer

Rewrite an existing spec so it matches what the codebase does now: drop shipped items, update partially-done ones, fix stale paths and names, remove obsolete scope.

MITAuto-check passedDevelopment

Install Wf Spec Refine

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

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

GitHub CLI
$ gh skill install changkun/wallfacer wf-spec-refine --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-refine .claude/skills/wf-spec-refine && 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-refine
GitHub stars
112
Token cost
~1.7k tokens
SKILL.md length
951 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Rewrite an existing spec so it matches what the codebase does now: drop shipped items, update partially-done ones, fix stale paths and names, remove obsolete scope.

  • Works in 6 steps: Parse arguments → Read the spec → Audit each item against the codebase → …
  • A spec no longer describes reality
  • SKILL.md covers Step 0: Parse arguments, Step 1: Read the spec, Step 2: Audit each item… and Step 3: Rewrite the spec, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Wf Spec Refine is an agent skill from changkun/wallfacer. Rewrite an existing spec so it matches what the codebase does now: drop shipped items, update partially-done ones, fix stale paths and names, remove obsolete scope. Takes optional feedback after the path to steer the rewrite. Use when a spec no longer describes reality; use create when there is no spec yet.

Its SKILL.md is about 1.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

  • A spec no longer describes reality
  • Use create when there is no spec yet

Example prompts

  • “/wf-spec-refine”

Requirements

  • Pre-approved tools (allowed-tools): Read, Grep, Glob, Edit, Write, Agent, Bash(git log *), Bash(git show *), Bash(git diff *), Bash(ls *)

Workflow steps

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

  1. Parse arguments
  2. Read the spec
  3. Audit each item against the codebase
  4. Rewrite the spec
  5. Write the updated spec
  6. 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 these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Glob
    • Edit
    • Write
    • Agent
    • Bash(git log *)
    • Bash(git show *)
    • Bash(git diff *)
    • Bash(ls *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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 Refine loads about 1.7k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 951 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~1.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). 951 words, ~1,747 tokens.

Download SKILL.mdSave it as .claude/skills/wf-spec-refine/SKILL.md (or your agent's skills folder).
name
wf-spec-refine
description
Rewrite an existing spec so it matches what the codebase does now: drop shipped items, update partially-done ones, fix stale paths and names, remove obsolete scope. Takes optional feedback after the path to steer the rewrite. Use when a spec no longer describes reality; use create when there is no spec yet.
allowed-tools
Read, Grep, Glob, Edit, Write, Agent, Bash(git log *), Bash(git show *), Bash(git diff *), Bash(ls *)
argument-hint
<spec-file.md> [feedback...]

Refine Spec

Update a spec file so it accurately reflects the current state of the project. Remove work that is already done, update partially-done items, and revise descriptions to match what actually exists in the codebase.

Step 0: Parse arguments

$ARGUMENTS has the form: <spec-file.md> [feedback...]

  • The first token is the spec file path (e.g., specs/windows-support.md).
  • Everything after the first token is feedback — free-form instructions from the user that guide the refinement. Feedback may request specific changes such as: removing certain sections, rewriting scope, changing priorities, splitting or merging items, adding new items, or adjusting tone/structure.

If feedback is present, apply it in addition to the standard codebase audit below. Feedback takes precedence over the default rules when they conflict (e.g., if feedback says "keep the done items as a checklist", do that instead of removing them per rule 3a).

Step 1: Read the spec

Read the spec file identified in Step 0. Parse YAML frontmatter to extract title, status, depends_on, affects, effort, created, updated, author, dispatched_task_id.

Note the current lifecycle state — this guides the refinement:

  • vague → focus on fleshing out design, adding detail
  • drafted → focus on accuracy, removing done items, updating references
  • validated → focus on keeping the spec in sync with implementation reality
  • complete → the spec should not normally need refinement; if it does, it may need to move to stale
  • stale → the primary goal is to refresh the spec; may transition to drafted or validated after refinement

Parse the body into a list of proposed work items, features, or changes. For each item, note:

  • What it proposes (the deliverable or change)
  • Any acceptance criteria or sub-tasks
  • Its stated priority or tier

Step 2: Audit each item against the codebase

For every item in the spec, determine its current status by searching the codebase. Use Grep, Glob, and Read to find evidence. Launch Agent subagents in parallel for independent items to speed this up.

Classify each item as one of:

  • Done — fully implemented and working. Evidence: code exists, tests pass, docs updated.
  • Partially done — some sub-tasks complete, others remain. Note exactly which parts are done and which are not.
  • Not started — no evidence of implementation in the codebase.
  • Obsolete — the item is no longer relevant due to architectural changes, new dependencies, or revised project direction.

For each classification, record the specific files, functions, tests, or commits that serve as evidence.

Step 3: Rewrite the spec

Apply these rules:

3a. Remove done items

Delete items that are fully implemented. Do not leave them as "completed" checkboxes — they clutter the spec. If the done work is context for remaining items, mention it briefly in a "Current State" or "Already Implemented" summary section at the top (keep this concise — a few bullet points, not a full recap).

3b. Update partially done items

For items that are partially complete:

  • Strike or remove the finished sub-tasks
  • Update descriptions to reflect the current starting point (e.g., "Add path translation" becomes "Add Windows drive-letter translation in ContainerSpec.Build(); runtime detection and mount-option filtering are already implemented")
  • Update file/function references if they have changed
3c. Keep not-started items

Retain these, but revise their descriptions if the surrounding code has changed since the spec was written (new function names, moved files, changed APIs).

3d. Remove obsolete items

Delete items that no longer apply. If the reason for obsolescence is non-obvious, add a one-line note explaining why it was removed.

Show full SKILL.md (391 more words)Show less
3e. Update metadata
  • Update frontmatter fields:
    • updated → set to today's date
    • status → adjust if warranted (e.g., stale → drafted after refresh, complete → stale if significant drift found)
    • affects → add or remove paths to match what the spec actually describes
    • depends_on → add or remove entries if dependencies have changed
    • effort → re-estimate if scope changed significantly
  • Fix file paths, function names, and code references in the body to match the codebase
  • Ensure the spec's title and introduction still accurately describe the remaining work
3f. Apply user feedback

If feedback was provided in $ARGUMENTS (see Step 0), apply it now. Feedback may include directives such as:

  • Add items: Add new work items the user describes; audit the codebase to fill in status, effort, and file references just like existing items.
  • Remove/drop items: Remove specific items the user no longer wants, regardless of their codebase status.
  • Reprioritize: Change the ordering, effort estimates, or dependencies.
  • Restructure: Split, merge, rename, or reorganize sections.
  • Scope changes: Narrow or expand what the spec covers.
  • Style/tone: Rewrite prose to match a requested voice or level of detail.

When feedback conflicts with rules 3a–3e (e.g., "keep done items visible"), follow the feedback. When feedback is ambiguous, make a reasonable choice and flag it in the Step 5 summary.

Step 4: Write the updated spec

Use Edit (preferred) or Write to update the spec file in place. Preserve the original markdown style (heading levels, list format, code fence style).

Step 5: Summary

Report to the user:

  • How many items were removed (done)
  • How many items were updated (partially done)
  • How many items remain unchanged (not started)
  • How many items were removed as obsolete
  • Any items where the status was ambiguous and you made a judgment call

Guidelines

  • Always READ actual source code — never classify items based on memory or assumptions about what "should" exist
  • When in doubt about whether something is "done", check for both the implementation AND tests/docs. Code without tests may be partially done.
  • Preserve the spec's voice and structure — this is a refinement, not a rewrite from scratch
  • Do not add new items to the spec unless the user explicitly asks
  • If the spec references external systems (CI, release pipelines, etc.), check those too (e.g., read workflow YAML files for CI items)
  • Keep the refined spec actionable — every remaining item should clearly state what needs to be built or 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-refine of changkun/wallfacer.

Open the folder on GitHubat commit 5b3cea1

Compare with similar skills

Wf Spec Refine 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 Refine compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wf Spec Refine this skillchangkun/wallfacer112—~1.7kAutomated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k58 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 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 58 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.

    297k 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 5 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 5 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 5 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 5 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 5 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 5 days ago
    Auto-check passed

Categories

Questions about Wf Spec Refine

What does Wf Spec Refine do?

Rewrite an existing spec so it matches what the codebase does now: drop shipped items, update partially-done ones, fix stale paths and names, remove obsolete scope. Wf Spec Refine is an agent skill from changkun/wallfacer. Rewrite an existing spec so it matches what the codebase does now: drop shipped items, update partially-done ones, fix stale paths and names, remove obsolete scope.

When should I use Wf Spec Refine?

Wf Spec Refine fits situations like: A spec no longer describes reality; use create when there is no spec yet.

How do I install Wf Spec Refine in Claude Code?

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

How do I install Wf Spec Refine in Codex?

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

Can I use Wf Spec Refine 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-refine -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-refine, .gemini/skills/wf-spec-refine, .github/skills/wf-spec-refine and .opencode/skills/wf-spec-refine in your project.

What does Wf Spec Refine need to run?

SKILL.md names no scripts, command-line tools or credentials: Wf Spec Refine is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Grep, Glob, Edit, Write, Agent, Bash(git log *), Bash(git show *), Bash(git diff *), Bash(ls *).

Does Wf Spec Refine access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Wf Spec Refine 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 Refine use?

Wf Spec Refine 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 Refine use?

About 1.7k tokens (SKILL.md is roughly 7k 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 Refine?

Skills that share tags, products or a category with Wf Spec Refine: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 297k 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 Refine?

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.