MCPInstall

verification-before-completion

Use before claiming any task is complete, any feature works, or any bug is fixed - enforces fresh verification evidence through a 5-step HARD-GATE protocol that prevents false completion claims

Installs
80
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/pixel-process-ug/superkit-agents --skill verification-before-completion
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads verification-before-completion automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Overview

The verification-before-completion skill is the terminal checkpoint for every task in the toolkit. It enforces a strict 5-step protocol that requires running fresh verification commands, reading their full output, and confirming results match the completion claim. Without this skill, agents make unverified claims that lead to broken code in production — with it, every completion claim is backed by evidence.


Iron Law

NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.

You cannot say "it works," "it's done," "the bug is fixed," or "the feature is complete" without running verification commands and reading their output in this session. Cached results, previous runs, and assumptions do not count.


Phase 1: Identify Verification Commands

Before running anything, explicitly list what needs to pass for this specific task:

Verification TypeExample CommandsWhen Required
Unit testsnpm test, pytest, go test ./..., cargo test, php artisan testAlways
Integration testsnpm run test:integration, pytest tests/integration/When applicable
Type checkingtsc --noEmit, mypy ., pyright, phpstan analyseWhen project uses type checking
Lintingeslint ., ruff check ., golint ./..., php-cs-fixer fix --dry-runAlways
Buildnpm run build, cargo build, go build ./...Always
Format checkprettier --check ., black --check ., gofmt -l ., pint --testWhen project uses formatters

Action: List which of these apply to the current project. Not all projects have all types. Be explicit about what you will run and why.

STOP: Do NOT proceed to running commands until you have identified ALL applicable verification types.


Phase 2: Run Commands Fresh

Execute every verification command identified in Phase 1.

RuleRationale
Run AFTER the latest code changePre-change results are stale
Run the FULL suite, not a subsetSubset runs miss regressions
Do NOT rely on cached resultsCode changed since last run
Do NOT skip commands because "they passed earlier"Earlier is not now
If a command takes >5 minutes, note itExplain what was run instead

STOP: All commands must complete before proceeding to Phase 3.


Phase 3: Read Full Output

Read the entire output of each verification command. Pay attention to:

Output ElementWhat to Look ForWhy It Matters
Exit codeNon-zero = failureEven if output looks ok, non-zero means something failed
Test countExpected number of tests ran? Any skipped?Skipped tests = untested code
Warning messagesNew warnings not present beforeWarnings become errors; they indicate degradation
Deprecation noticesDeprecated API usageFuture breakage risk
Performance indicatorsUnusually slow testsMay indicate performance regression
Error messagesAny error, even if tests "pass"Some frameworks report errors alongside passing tests

STOP: Do NOT proceed if you have not read the full output of every command.


Phase 4: Verify Output Matches Claim

Ask yourself these questions. ALL must be "yes" to proceed:

QuestionIf "No" or "Unsure"
Do ALL tests pass (not just the ones I wrote)?Fix failing tests before claiming done
Does the build succeed without errors?Fix build errors
Does the type checker find no errors?Fix type errors
Does the linter pass?Fix lint errors
Are there any NEW warnings that were not there before?Investigate and fix or explicitly justify
Did the full suite run (not just a subset)?Run the full suite
Is the test count what I expected?Investigate skipped or missing tests

STOP: If ANY answer is "no" or "unsure", go back to fix and restart from Phase 1. Do NOT proceed to Phase 5.


Phase 5: Claim Completion with Evidence

Only now may you say the task is complete. Include this evidence:

VERIFICATION EVIDENCE
=====================
Task: [what was being done]
Date: [timestamp]

Commands Run:
  [x] Tests:      [command] -> [result: X passed, Y failed, Z skipped]
  [x] Build:      [command] -> [result: success/failure]
  [x] Lint:       [command] -> [result: X errors, Y warnings]
  [x] Type-check: [command] -> [result: X errors]
  [x] Format:     [command] -> [result: clean/X files to format]

All Green?  [x] YES  [ ] NO
New warnings introduced?  [ ] YES  [x] NO

Completion claim: [specific claim, e.g., "Feature X is implemented and all tests pass"]

STOP: This is the end of the verification protocol. Only claims with this evidence are valid.


Decision Table: What Counts as "Fresh" Evidence

Counts as FreshDoes NOT Count as Fresh
Ran command after the latest code changeRan before the latest code change
Full test suite executedSubset of tests executed
Output read and analyzedOutput skimmed or ignored
All verification types runOnly tests run (no lint, no build)
Command run in current sessionRecalled from memory of a previous session
Actual command output available"I remember it passed"

Decision Table: Edge Cases

SituationProtocol
Full suite takes >5 minutesRun related tests + smoke suite. Note that full suite was not run. Recommend CI run before merge.
No automated tests existNote as significant risk. Perform manual verification with documented steps. Recommend adding tests as follow-up. At minimum, verify code compiles/runs.
Tests are flakyRe-run failing test in isolation. If it passes alone, note flakiness. Verify your changes did not introduce it. Do NOT use flakiness as excuse to skip.
Only config changeConfig changes are #1 cause of outages. Full verification required.
Single line changeOne-line changes cause production outages. Full verification required.
Refactoring onlyExisting tests must still pass. Run full suite.

Common Failure Patterns

PatternWhat HappensWhy It Is Dangerous
Tests pass but lint failsCode works but has quality issuesLint failures often indicate real problems (unused vars, unreachable code)
Tests pass but build failsTest environment differs from buildProduction deployments will fail
Tests pass but type-check failsRuntime works but types are wrongBugs hiding behind any types, wrong interfaces
Tests pass in isolation but fail togetherShared state between testsFlaky CI, unreliable test suite
Manual testing passes but automated failsManual test missed edge casesThe automated test is right
Tests pass but new warnings appearedSomething degradedWarnings become errors over time
Subset of tests passOnly ran related testsRegression in unrelated area possible
Tests pass but coverage decreasedNew code is not testedUntested code is unverified code
Old test run used as evidenceResults are staleCode changed since that run
"It compiled, so it works"Compilation is necessary but not sufficientCompiled code can still be wrong

Anti-Patterns / Common Mistakes

What NOT to DoWhy It FailsWhat to Do Instead
Claim done without running testsUnverified code breaks in productionRun all verification commands fresh
Use "it passed earlier" as evidenceCode changed since thenRun fresh after every change
Skip lint because "it is just warnings"Warnings indicate real problemsFix warnings or explicitly justify each one
Run only the tests you wroteMisses regressions in other areasRun the full suite
Read test output partiallyMissed failures hidden in outputRead every line of output
Use manual testing as sole evidenceManual testing is incomplete and unrepeatableRun automated verification
Verify once, then make "small" additional changesThose changes are unverifiedRe-verify after every change
Suppress warnings without commentHides real issuesIf truly false positive, add suppression comment explaining why

Anti-Rationalization Guards

ExcuseReality
"I only changed one line"One-line changes cause production outages. Verify.
"The tests passed 5 minutes ago"You made changes since then. Run them again.
"I have tested this pattern before"This is a different instance. Verify this specific one.
"The change is obviously correct"Obvious changes fail more often because they are not verified.
"Running tests takes too long"Not running tests takes longer when the bug reaches production.
"I will verify after I submit"You will not. And if verification fails, you will undo and redo.
"It is just a config change"Config changes are the #1 cause of outages. Verify.
"The linter warnings are false positives"Review each one. Suppress with comment if truly false.
"The type errors are in unrelated code"They might interact. Run the full check.
"I tested it manually"Manual testing is incomplete and unrepeatable. Run automated verification.

Do NOT claim completion without Phase 5 evidence. There are zero exceptions.


Integration Points

SkillWhen Verification Is Required
test-driven-developmentAfter completing RED-GREEN-REFACTOR cycle for a feature
systematic-debuggingAfter applying a bug fix
executing-plansAfter each task and after each batch
subagent-driven-developmentAfter implementer delivers (via Agent tool), after reviewers approve
code-reviewBefore approving any code review
resilient-executionBefore marking any task as complete
autonomous-loopBefore setting EXIT_SIGNAL to true
finishing-a-development-branchBefore merge or PR creation

Integration Flow

[Do the work using other skills]
    |
    v
[Think you are done?]
    |
    v
[Invoke verification-before-completion]
    |
    +-- All checks pass -> Claim completion with Phase 5 evidence
    |
    +-- Any check fails -> Fix and re-verify (do NOT claim completion)

Enforcement by Other Skills

This skill is invoked by ALL other skills at completion time. It is not optional. It is a terminal checkpoint — called at the end of work, never at the beginning.


Skill Type

RIGID — The 5-step protocol is a HARD-GATE. Every step must be executed in order. No step may be skipped. No completion claim is valid without Phase 5 evidence. Do not relax these requirements for any reason.

FAQ

What does the verification-before-completion skill do?

Use before claiming any task is complete, any feature works, or any bug is fixed - enforces fresh verification evidence through a 5-step HARD-GATE protocol that prevents false completion claims

How do I install verification-before-completion?

Run npx skills add https://github.com/pixel-process-ug/superkit-agents --skill verification-before-completion in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/verification-before-completion/ (personal) or .claude/skills/verification-before-completion/ (project).

Which AI agents can use verification-before-completion?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is verification-before-completion safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains verification-before-completion?

It is published by pixel-process-ug in pixel-process-ug/superkit-agents. It has 80 recorded installs.

More from pixel-process-ug/superkit-agents

View all →

ui-ux-pro-max

pixel-process-ug/superkit-agents

Use when the user needs full UI/UX design intelligence — styles, palettes, fonts, UX guidelines, chart selection, and accessible, performant implementation across any supported stack. Triggers: user says "design", "UI", "UX", "color palette", "typography", "accessibility", "responsive design", "chart type", "style guide", building any user-facing interface.

Frontend & Design1.2K installs

frontend-ui-design

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

Frontend & Design117 installs

reverse-engineering-specs

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

107 installs

canvas-design

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

90 installs

autonomous-loop

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

88 installs

mobile-design

pixel-process-ug/superkit-agents

Open the skill to read its SKILL.md instructions.

Mobile87 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.