agentleFS
REPOZYREPOZY/superpowers-optimized/skills/verification-before-completion/SKILL.md

verification-before-completion

Skill146 starsChanged 7 months agoMITView on GitHub

Invoke BEFORE saying "done", "tests pass", "ready to merge", or any completion claim. Requires fresh command output as evidence — no completion without proof. Also routed by using-superpowers at task end.

189 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use chinese-code-review, chinese-commit-conventions and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Leodorareluctant259Skill

    chinese-code-review

    中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈

    Also in 8 projects that use this

  • Leodorareluctant259Skill

    chinese-commit-conventions

    中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化

    Also in 8 projects that use this

  • obraSkill

    diagnosing-superpowers

    Use when a superpowers session went wrong and your human partner wants to know why — repeated work, ignored plans, stumbles, poor results, a skill that didn't fire, "it took too long", "why is it so expensive", "what is it doing" — or wants to build a bug report for the superpowers maintainers, for the current session or a past one identified by id or path, on any harness.

    Also in 20 projects that use this

  • jh941213Skill

    docs-ci

    문서 CI(링크·OpenAPI lint·breaking 게이트·mermaid 검증)나 문서 드리프트 감지(docs.yaml 신선도 검사)를 설치하거나 돌릴 때 사용. 문서 내용 작성은 docs-architecture·docs-interfaces·docs-manuals.

    Also in 3 projects that use this

  • jh941213Skill

    docs-interfaces

    API·이벤트 인터페이스 문서(OpenAPI·swagger·AsyncAPI 명세, 엔드포인트 레퍼런스, API 구성도·시퀀스, API CHANGELOG)를 만들거나 코드와 맞출 때 사용. 시스템 구성도는 docs-architecture, API 설계 원칙은 api-design-principles.

    Also in 3 projects that use this

  • +3 more from Leodorareluctant259
  • +4 more from jh941213

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 13 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 177 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not claim success without fresh command evidence.

    line 11
  2. Distinctive:

    Before any completion claim:

    line 15
  3. Distinctive:

    Run that command now, in full — no truncated invocation, no reading a previous run's output.

    line 18
  4. Distinctive:

    Widen on evidence, not pre-emptively: Run the narrow command first.

    line 39
  5. Distinctive:

    A project's own matrix wins: If the repo's CLAUDE.md defines verification scope, follow it over this table.

    line 45
  6. Distinctive:

    When verifying completion of any task that created or modified production code, run a stub scan before claiming done:

    line 75
  7. Distinctive:

    When verifying a bugfix with a regression test, the test must prove it catches the bug:

    line 87
  8. Distinctive:

    When a subagent reports success, verify independently:

    line 98
  9. Distinctive:

    If evidence is missing, report current status as unverified and run the command.

    line 107
  10. Very specific:

    When the verification reasoning is non-trivial (multi-step inference, ambiguous evidence, or configuration changes), apply multi-path …

    line 111
  11. Distinctive:

    When a change affects provider selection, feature flags, environment variables, or credentials:

    line 124
  12. Distinctive:

    Do not claim success based on operation success alone.

    line 126
  13. Distinctive:

    Run: a command that shows the observable difference.

    line 138
  14. Distinctive:

    Verify: output contains the expected difference — not just that the operation completed.

    line 139

“Common” is measured: kept by at least 6 in 10 of the 177 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Verification Before Completion

Do not claim success without fresh command evidence.

Gate

Before any completion claim:

  1. Identify the command that proves the claim.
  2. Run that command now, in full — no truncated invocation, no reading a previous run's output. Scope it per Scale Verification to the Change below.
  3. Inspect exit code and output.
  4. State results exactly as observed.
  5. If the change includes a condition or gate that determines when something applies: explicitly state what it does NOT cover. If the answer reveals a gap that should be covered, fix it before proceeding.

Scale Verification to the Change

The gate says run the command that proves the claim. It does not say every edit earns a full-matrix run. Pick the narrowest command that could actually catch a break from this change — a five-minute suite run after a one-line edit is not rigor, it is a reflex.

ChangeVerify with
Comment, docstring, one-line editthat file's tests; nothing else
One module, component, or panelits suite, plus a typecheck if types moved
Several modules inside one subsystemthe suites for those modules
A shared type, a public contract, a cross-cutting rule, or two subsystems togetherthe full suite / matrix
Dependency, build config, or CI changethe full suite / matrix

Rules:

  • Widen on evidence, not pre-emptively. Run the narrow command first. Widen when something connected actually breaks — not because it might.
  • Never imply an unrun suite is green. Report it as unrun. "Radar suite passes; full core suite not run" is honest. "Tests pass" is not.
  • The bottom two rows are not negotiable. Shared contracts and dependency changes have unbounded blast radius — targeted tests are blindest exactly there.
  • A project's own matrix wins. If the repo's CLAUDE.md defines verification scope, follow it over this table.

Scoping the command is not a licence to skip the gate. The narrow command still has to run, and its real output still has to be read.

Applies To

  • "Tests pass"
  • "Bug is fixed"
  • "Build succeeds"
  • "Ready to merge"
  • Any equivalent wording

Not Acceptable

  • "Should pass"
  • "Looks good"
  • Trusting old outputs
  • Trusting subagent reports without verification

Minimum Evidence Examples

  • Tests: command output with zero failures
  • Build: successful exit code
  • Bugfix: reproduction case now passes
  • Requirements: explicit checklist against plan

Stub Scan (Implementation Tasks)

When verifying completion of any task that created or modified production code, run a stub scan before claiming done:

grep -rn "TODO\|FIXME\|placeholder\|NotImplementedError\|raise NotImplementedError" <src-dir> \
  --include="*.ts" --include="*.js" --include="*.py" --include="*.go" --include="*.rs" \
  | grep -v -i "test\|spec\|__tests__"

Adjust <src-dir> and --include patterns to the project's language and source structure. If any match falls in a file this task created or modified: the task is not done. Remove the stub or confirm with the user it is intentional before claiming completion.

Regression Test Verification (Red-Green Cycle)

When verifying a bugfix with a regression test, the test must prove it catches the bug:

✅ Write test → Run (PASS) → Revert fix → Run (MUST FAIL) → Restore fix → Run (PASS)
❌ "I've written a regression test" (without red-green verification)

A regression test that has never been seen failing proves nothing — it might pass for the wrong reason.

Agent Delegation Verification

When a subagent reports success, verify independently:

✅ Agent reports success → Check VCS diff → Verify changes match task → Report actual state
❌ Trust agent report at face value

Rule

If evidence is missing, report current status as unverified and run the command.

Self-Consistency Verification

When the verification reasoning is non-trivial (multi-step inference, ambiguous evidence, or configuration changes), apply multi-path reasoning (see self-consistency-reasoner) before declaring the verdict:

  1. Generate 3 independent reasoning paths evaluating: "Does this evidence actually prove the claim?"
  2. Each path should approach the evaluation differently: one checks what the evidence proves, one checks what it doesn't prove, one considers alternative explanations for the output.
  3. Take the majority-vote verdict:
    • All agree "verified": claim is proven.
    • Majority agrees but minority dissents: flag what the dissenting path identified — it may reveal a gap in the evidence.
    • No majority: evidence is insufficient. Do not claim completion. State what additional evidence is needed.

The paths are written by you in one pass, so they share your assumptions: a dissent is a real signal to act on, while unanimity only means none of your three angles found a gap. It targets the most expensive verification failure — confidently declaring "done" on evidence that doesn't prove what you think it proves — but it narrows that risk; it does not remove it.

Configuration Change Verification

When a change affects provider selection, feature flags, environment variables, or credentials:

Do not claim success based on operation success alone. Verify the outcome reflects the intended change.

ChangeInsufficientRequired
Switch API/LLM providerStatus 200Response contains expected provider or model name
Enable feature flagNo errorsFeature behavior is actually active
Change environmentDeploy succeedsLogs or env vars reference the new environment
Set credentialsAuth succeedsAuthenticated identity or context is correct

Gate:

  1. Identify: what should be different after this change?
  2. Locate: where is that difference observable? (response field, log line, runtime behavior)
  3. Run: a command that shows the observable difference.
  4. Verify: output contains the expected difference — not just that the operation completed.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.