Skip to content
Development
Skill

/verification-before-completion

Verify claims by executing, not asserting, before declaring work done. TRIGGER when: about to report a task complete, confirming a fix/build/deploy works, or delegating work to another agent or tool. SKIP: scoring research/plan quality pre-implementation (use

From plugin
scaffolding
1639 skills13 agents21 commands25 hooks

Claude Code

$ npx -y skills add komluk/scaffolding --skill verification-before-completion --agent claude-code

SKILL.md

verification-before-completion.SKILL.md
name: verification-before-completion
description: "Verify claims by executing, not asserting, before declaring work done. TRIGGER when: about to report a task complete, confirming a fix/build/deploy works, or delegating work to another agent or tool. SKIP: scoring research/plan quality pre-implementation (use quality-validation); deciding test coverage strategy (use testing-strategy)."

Verification Before Completion Skill

Purpose

A claim of "done" is only as good as the check that produced it. This skill encodes the rule that every completion claim, and every fact a claim depends on, must be backed by something actually executed and observed — not assumed, remembered, or guessed — before it is reported.

When to Apply

Apply this skill when:

  • About to report a task, fix, or feature as complete
  • Confirming that a build, test, deploy, or query actually succeeded
  • Stating a fact about a file, branch, or config that the response depends on
  • Delegating a task to another agent or tool

Do NOT apply this skill for:

  • Scoring a ResearchPack or Implementation Plan against quality gates before work starts — use `quality-validation`
  • Deciding what and how much to test — use `testing-strategy`

---

Verification Rules

| Rule | Requirement | |------|-------------| | Prove before claiming | Run the actual command that demonstrates the outcome (test suite, build, the real query) and read its output. Exit code 0 alone is not proof of correctness — check the output content. | | Verify against the authoritative source | Confirm facts (file existence, path, branch content, config value) against the actual target (e.g. `main`, prod). A stale checkout, cached artifact, or side branch is not evidence about the target. | | One failure = investigate | After a failed attempt, diagnose the actual cause before trying again. Do not retry the same action with a blind variation. | | Two guesses = stop | If a second consecutive guess is about to be made without new evidence, stop. Search the codebase for an existing pattern (grep) instead of guessing again. | | Check capability before delegating | Confirm the executor (agent or tool) actually has the access/tools the task requires before handing it off. | | Absence of error is not success | Not seeing an error is not the same as confirming success. Only a positive, observed result counts as verification. | | State the verification | Report what was verified and how (command run, output observed) so the claim is auditable by someone else. |

Decision: Guess vs. Investigate vs. Search

| Situation | Action | |-----------|--------| | First attempt fails | Read the error, diagnose the actual cause | | About to try a second unverified variation | Stop — grep the repo/docs for the existing pattern instead | | Uncertain which transport/config/convention applies | Search for how the codebase already does it before picking one | | A fact is needed about `main`/production | Re-check it on that actual target, not a local/stale copy | | Delegating a task | Confirm the recipient's tool/access list covers the task first |

---

Anti-Patterns

| Anti-Pattern | Problem | Instead | |--------------|---------|---------| | Guessing a transport/config repeatedly (e.g. try HTTPS, then try SSH) | Wastes turns on trial-and-error the repo already answers | Grep the repo for the existing pattern already in use | | Citing a file/path read from a stale checkout or different branch | Claim doesn't hold on the actual target branch | Re-read the fact from the actual target before stating it | | Delegating to an agent/tool that lacks the needed capability | Failure surfaces only after the delegate returns | Confirm required tools/access before handoff | | Declaring "done" because no error appeared | Silent failures pass unnoticed | Run a command that positively demonstrates the result and read its output | | Retrying an identical failed action | Same failure repeats, no progress | Diagnose the cause before the next attempt |

---

Quality Checklist

  • [ ] The command/query that proves completion was actually run, and its output read (not just its exit code)
  • [ ] Facts about files/branches/configs were checked against the authoritative target, not a stale or local copy
  • [ ] No two consecutive unverified guesses were made — the first failure triggered investigation, not a retry
  • [ ] The delegate's toolset/access was confirmed sufficient before handoff
  • [ ] The completion claim states what was verified and how (command + observed output)
Read more
@komluk
Ships withscaffolding

Spec-driven multi-agent orchestration for Claude Code — pure markdown, zero backend, runs on the stock runtime. 13 agents, 39 skills, 21 commands, 20 hooks, per-phase model tiers, opt-in lifecycle hooks, optional cross-device semantic memory.

1639 skills13 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
16
Star history of komluk/scaffolding on GitHub, a chart by star-history.com

Other skills on scaffolding.

agent-comms

agent-comms

SendMessage recipient validation and worktreePath safety (CWE-59). TRIGGER when: validating a SendMessage `to:` recipient against…

@komluk@komlukInstall Skill
agent-memory

agent-memory

Repo-local file memory under .scaffolding/ (shared/agent/conversation tiers). TRIGGER when: reading or writing .scaffolding/…

@komluk@komlukInstall Skill
api-design

api-design

RESTful API design standards: resource naming, HTTP methods, status codes, pagination, versioning. TRIGGER when: designing new…

@komluk@komlukInstall Skill
context-engineering

context-engineering

Optimize Claude Code context-window usage for accuracy and cost. TRIGGER when: hitting context limits, structuring prompts for an…

@komluk@komlukInstall Skill
database-optimization

database-optimization

Schema design, index strategy, migration safety, and query analysis. TRIGGER when: designing tables or indexes, writing a…

@komluk@komlukInstall Skill
distill

distill

Knowledge distillation: candidate extraction, confidence scoring, tier routing. Invoked by /learn and the memory-ingest Stop…

@komluk@komlukInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about verification-before-completion.

Which coding agents can use verification-before-completion?
verification-before-completion installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.