Finishing a Development Branch
obra/superpowers
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.
Survey the whole spec tree: what is complete, in progress, blocked, and actionable next.
$ npx skills add changkun/wallfacer --skill wf-spec-report -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install changkun/wallfacer wf-spec-report --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/changkun/wallfacer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/wf-spec-report .claude/skills/wf-spec-report && rm -rf skills-srcUse ~/.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/
Install the "wf-spec-report" agent skill from https://github.com/changkun/wallfacer/tree/main/.claude/skills/wf-spec-report into .claude/skills/wf-spec-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-spec-report", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/changkun/wallfacer/tree/main/.claude/skills/wf-spec-reportType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add changkun/wallfacer --skill wf-spec-report -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install changkun/wallfacer wf-spec-report --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/changkun/wallfacer.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/wf-spec-report .agents/skills/wf-spec-report && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wf-spec-report" agent skill from https://github.com/changkun/wallfacer/tree/main/.claude/skills/wf-spec-report into .agents/skills/wf-spec-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-spec-report", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add changkun/wallfacer --skill wf-spec-report -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install changkun/wallfacer wf-spec-report --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/changkun/wallfacer.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/wf-spec-report .cursor/skills/wf-spec-report && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wf-spec-report" agent skill from https://github.com/changkun/wallfacer/tree/main/.claude/skills/wf-spec-report into .cursor/skills/wf-spec-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-spec-report", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/changkun/wallfacer.git --path .claude/skills/wf-spec-report--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add changkun/wallfacer --skill wf-spec-report -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install changkun/wallfacer wf-spec-report --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/changkun/wallfacer.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/wf-spec-report .gemini/skills/wf-spec-report && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wf-spec-report" agent skill from https://github.com/changkun/wallfacer/tree/main/.claude/skills/wf-spec-report into .gemini/skills/wf-spec-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-spec-report", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install changkun/wallfacer wf-spec-reportInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add changkun/wallfacer --skill wf-spec-report -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/changkun/wallfacer.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/wf-spec-report .github/skills/wf-spec-report && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wf-spec-report" agent skill from https://github.com/changkun/wallfacer/tree/main/.claude/skills/wf-spec-report into .github/skills/wf-spec-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-spec-report", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add changkun/wallfacer --skill wf-spec-report -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install changkun/wallfacer wf-spec-report --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/changkun/wallfacer.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/wf-spec-report .opencode/skills/wf-spec-report && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wf-spec-report" agent skill from https://github.com/changkun/wallfacer/tree/main/.claude/skills/wf-spec-report into .opencode/skills/wf-spec-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wf-spec-report", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wf-spec-reportSurvey the whole spec tree: what is complete, in progress, blocked, and actionable next.
Wf Spec Report is an agent skill from changkun/wallfacer. Survey the whole spec tree: what is complete, in progress, blocked, and actionable next. Reads the spec files, task files, and git history rather than any hand-maintained table. Read-only. Use for "where do things stand"; use validate to check the tree is structurally sound.
Its SKILL.md is about 1.6k 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, covering Git workflow. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9fc9f06. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobAgentBash(git log *)Bash(ls *)From allowed-tools in the SKILL.md frontmatter.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Wf Spec Report loads about 1.6k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 688 words of instructions outside code blocks.
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.
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.
The full file from changkun/wallfacer at commit 9fc9f06, republished under its MIT licence (© changkun). 688 words, ~1,603 tokens.
.claude/skills/wf-spec-report/SKILL.md (or your agent's skills folder).Generate a live status report by reading specs, task files, and git history. If a specific spec is given, report on that spec only. Otherwise, report across all specs.
If an argument is provided, treat it as a spec file path for focused status. Otherwise, report on the full project.
specs/**/*.md (excluding README.md).
Specs are grouped by track: a directory under specs/ where one exists,
otherwise the track: frontmatter field. An NNN- filename prefix is an
independent, per-directory ordering convention — report in that order where
it is present, but never read it as the dependency order. Take the track set
from what is on disk, not from a list remembered from an earlier run.title, status,
depends_on, affects, effort, dispatched_task_id, and track (where
the path does not already supply it).specs/<track>/foo.md with a directory specs/<track>/foo/ is a non-leaf
spec; its children are the specs inside that directory.specs/README.md for track organization and dependency context.For each spec file, use the frontmatter status field as the primary source of
truth:
status from frontmatter: vague, drafted, validated,
testing, complete, stale, or archived. testing is the transient
drift-verdict state (implementation landed, awaiting the verdict) — report it as
"in testing", and surface testing_pending if set (the drift tester is stuck).
An archived spec is retired from the
live graph — read-only, hidden by default, and excluded from progress,
impact, drift, and dispatch.status: complete vs total leaves.N/M leaves done (X%).done and total.dispatched_task_id to see if the spec has been
dispatched to the board. If dispatched, cross-reference the task
status if possible.complete, optionally
verify the affects paths exist and look implemented. For specs that claim
validated but may be partially done, check git log for commits referencing
the spec or its affects paths.For each non-complete spec:
depends_on list from frontmatter. Each entry is a path to another
spec file.status. A dependency is met
only when its status is complete.status is validated, all
depends_on entries are complete, and the spec is a leaf (or has a child
breakdown ready). archived specs are never actionable — do not count them
in blocked or unblocked totals.depends_on entry is not
complete.status is stale and they need
human review before proceeding.From the actionable specs, determine the recommended next steps:
/wf-spec-implement
directly; it builds and finalizes (delegating to /wf-spec-wrapup)./wf-spec-breakdown <spec> tasks first, then
dispatch the leaves.testing (verdict pending) → /wf-spec-wrapup to render the drift
verdict (testing → complete/stale)./wf-spec-refine first./wf-spec-drive <spec> (pair with a /goal to run it autonomously to complete).## Status: <title> (<spec-path>)
Status: <frontmatter status>
Track: <track>
Effort: <effort>
Progress: N/M leaves complete (X%) [for non-leaf specs]
Blocked by: <nothing or list of incomplete depends_on entries>
Affects: <list of code paths from frontmatter>
### Child Specs [if non-leaf]
| Spec | Status | Effort | Depends on |
|------|--------|--------|-----------|
| <title> | complete | small | — |
| <title> | validated | medium | <sibling> |
### Next Action
<what to do next for this spec>Group specs by the tracks discovered in Step 1 — one section per live track, in
the order specs/README.md presents them — then by lifecycle state within each
track:
## Project Status
### <track>
- <spec-name> (complete) — <one-line summary>
- <spec-name> (validated, 3/5 leaves done) — <progress note>
### <next track>
- <spec-name> (drafted) — <one-line summary>
### Actionable (ready to implement)
- <spec-name> — validated, all depends_on complete, <has/needs> child breakdown
### Blocked
- <spec-name> — waiting on: <depends_on list with statuses>
### Stale (needs review)
- <spec-name> — <reason for staleness or last updated date>
### Archived (hidden by default)
- <spec-name> — retired from the live graph; resurrect via `archived → drafted` transition
### Recommended Next Steps
1. <most impactful actionable item>
2. <second priority>
3. <third priority>specs/README.md status is stale, note the
discrepancies but do not fix them (suggest /wf-spec-refine or manual update).© changkun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/wf-spec-report of changkun/wallfacer.
Open the folder on GitHubat commit 9fc9f06
Wf Spec Report 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Wf Spec Report this skillchangkun/wallfacer | 112 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Code Design Rationale Investigatorcursor/plugins | 11k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Migrate Internal Package into GhostTryGhost/Ghost | 56k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 |
obra/superpowers
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.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
yamadashy/repomix
Writes Conventional Commits whose bodies carry action lines recording the intent, decisions and constraints behind a change, not only what changed.
changkun/wallfacer
Split one spec into children — sub-design specs when questions are still open, or implementation-ready leaves when the plan is clear.
changkun/wallfacer
Write a new spec from scratch when none exists for the idea yet.
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.
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…
changkun/wallfacer
Read-only verdict on whether an implementation meets its spec: each acceptance criterion classified, unintended changes flagged, test coverage checked.
changkun/wallfacer
Structural lint over the spec tree — required frontmatter fields, valid status and effort values, track location, DAG acyclicity, dispatch consistency, orphans, status consistency.
Categories
Survey the whole spec tree: what is complete, in progress, blocked, and actionable next. Wf Spec Report is an agent skill from changkun/wallfacer. Survey the whole spec tree: what is complete, in progress, blocked, and actionable next.
Wf Spec Report fits situations like: where do things stand; use validate to check the tree is structurally sound.
Run `npx skills add changkun/wallfacer --skill wf-spec-report -a claude-code`. Or copy the skill folder (.claude/skills/wf-spec-report in changkun/wallfacer) into .claude/skills/wf-spec-report in your project. Claude Code loads it when a task matches its description.
Run `npx skills add changkun/wallfacer --skill wf-spec-report -a codex`. Or copy the skill folder (.claude/skills/wf-spec-report in changkun/wallfacer) into .agents/skills/wf-spec-report in your project. Codex loads it when a task matches its description.
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-report -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-report, .gemini/skills/wf-spec-report, .github/skills/wf-spec-report and .opencode/skills/wf-spec-report in your project.
SKILL.md names no scripts, command-line tools or credentials: Wf Spec Report is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Grep, Glob, Agent, Bash(git log *), Bash(ls *).
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.
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.
Wf Spec Report is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Wf Spec Report: Finishing a Development Branch (obra/superpowers, 297k stars), Code Design Rationale Investigator (cursor/plugins, 11k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Migrate Internal Package into Ghost (TryGhost/Ghost, 56k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 9, 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.