Agent skill

Wf Spec Report

by changkun in changkun/wallfacer

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

MITAuto-check passedDevelopment

Install Wf Spec Report

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

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

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

At a glance

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

  • Works in 6 steps: Parse arguments → Discover specs and tasks → Classify each spec → …
  • Where do things stand
  • SKILL.md covers Step 0: Parse arguments, Step 1: Discover specs and tasks, Step 2: Classify each spec and Step 3: Check dependencies, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • Where do things stand
  • Use validate to check the tree is structurally sound

Example prompts

  • “where do things stand”
  • “/wf-spec-report”

Requirements

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

Workflow steps

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

  1. Parse arguments
  2. Discover specs and tasks
  3. Classify each spec
  4. Check dependencies
  5. Identify what's next
  6. Generate report

What it can do on your machine

Read from SKILL.md and the folder at commit 9fc9f06. 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
    • Agent
    • Bash(git log *)
    • 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 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.

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

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 9fc9f06, republished under its MIT licence (© changkun). 688 words, ~1,603 tokens.

Download SKILL.mdSave it as .claude/skills/wf-spec-report/SKILL.md (or your agent's skills folder).
name
wf-spec-report
description
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.
allowed-tools
Read, Grep, Glob, Agent, Bash(git log *), Bash(ls *)
argument-hint
[spec-file.md]

Spec Tree Report

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.

Step 0: Parse arguments

If an argument is provided, treat it as a spec file path for focused status. Otherwise, report on the full project.

Step 1: Discover specs and tasks

  1. Glob for all spec files recursively: 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.
  2. For each spec, parse YAML frontmatter to extract title, status, depends_on, affects, effort, dispatched_task_id, and track (where the path does not already supply it).
  3. Determine parent-child relationships from the filesystem: a spec at specs/<track>/foo.md with a directory specs/<track>/foo/ is a non-leaf spec; its children are the specs inside that directory.
  4. Read specs/README.md for track organization and dependency context.

Step 2: Classify each spec

For each spec file, use the frontmatter status field as the primary source of truth:

  1. Read the 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.
  2. For non-leaf specs (those with a child directory), compute progress by recursively counting leaf specs in the subtree:
    • Count leaves with status: complete vs total leaves.
    • Report progress as N/M leaves done (X%).
    • Archived leaves contribute 0 to both done and total.
    • An archived non-leaf masks its entire subtree from progress — ancestors aggregate nothing from an archived branch.
  3. For leaf specs, check dispatched_task_id to see if the spec has been dispatched to the board. If dispatched, cross-reference the task status if possible.
  4. Cross-check with codebase — for specs that claim 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.
Show full SKILL.md (288 more words)Show less

Step 3: Check dependencies

For each non-complete spec:

  1. Read the depends_on list from frontmatter. Each entry is a path to another spec file.
  2. For each dependency, check its frontmatter status. A dependency is met only when its status is complete.
  3. Flag specs that are actionable — 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.
  4. Flag specs that are blocked — at least one depends_on entry is not complete.
  5. Flag specs that are stale — their status is stale and they need human review before proceeding.

Step 4: Identify what's next

From the actionable specs, determine the recommended next steps:

  • Validated leaf specs (small enough to build in one pass) → /wf-spec-implement directly; it builds and finalizes (delegating to /wf-spec-wrapup).
  • Large specs ready to decompose → /wf-spec-breakdown <spec> tasks first, then dispatch the leaves.
  • Specs in testing (verdict pending) → /wf-spec-wrapup to render the drift verdict (testing → complete/stale).
  • Specs that need updating → suggest /wf-spec-refine first.
  • To advance a spec hands-off through the whole lifecycle → /wf-spec-drive <spec> (pair with a /goal to run it autonomously to complete).

Step 5: Generate report

For a single spec:
## 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>
For the full project:

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>

Notes

  • This skill is read-only. It does not modify any files.
  • Status is derived from source of truth (files, git), not from manually maintained tables in README.md.
  • If the report reveals that 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

Files

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

Open the folder on GitHubat commit 9fc9f06

Compare with similar skills

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.

Wf Spec Report compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wf Spec Report this skillchangkun/wallfacer112—~1.6kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins11k9 repos~2.6kAutomated safety check: PassNone
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost56k—~3.8kAutomated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • 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
  • Official

    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.

    11k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • 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.

    56k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • 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.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Writes Conventional Commits whose bodies carry action lines recording the intent, decisions and constraints behind a change, not only what changed.

    29k GitHub starsUsed in 1 repo~2.7k 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 yesterday
    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 yesterday
    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 yesterday
    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 yesterday
    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 yesterday
    Auto-check passed
  • Wf Spec Validate

    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.

    112 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Wf Spec Report

What does Wf Spec Report do?

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.

When should I use Wf Spec Report?

Wf Spec Report fits situations like: where do things stand; use validate to check the tree is structurally sound.

How do I install Wf Spec Report in Claude Code?

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.

How do I install Wf Spec Report in Codex?

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.

Can I use Wf Spec Report 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-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.

What does Wf Spec Report need to run?

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 *).

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

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.

How many tokens does Wf Spec Report use?

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.

What are the alternatives to Wf Spec Report?

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.

Who maintains Wf Spec Report?

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.