agentleFS
karim-bhalwanikarim-bhalwani/agentic-harness/skills/verification-before-completion/SKILL.md

verification-before-completion

Skill0 starsChanged 4 months agoMITView on GitHub

Evidence-based completion gate that enforces running verification commands before any success claim is made. Use when about to claim work is complete, fixed, or passing - requires fresh command output before declaring done. DO NOT USE FOR: debugging failures (use systematic-debugging), code review (use guardian), holdout acceptance testing (use holdout-validation), or planning tasks (use concise-planning).

189 other projects use a version of this, 142 of them edited.

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. 1 is common, 13 are distinctive, and 0 are very specific to this project.

  • 1

    Common

    Most of the 177 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Common:

    If you haven't run the verification command in this message, you cannot claim it passes.

    line 40
  2. Distinctive:

    Before any completion claim, execute these steps in order:

    line 60
  3. Distinctive:

    Execute Mid-Execution Drift Checks: if at a phase transition (see section below).

    line 63
  4. Distinctive:

    Complete the Definition of Done checklist: - all seven items must be checked.

    line 65
  5. Distinctive:

    Only after all five steps are complete may you state the completion claim.

    line 68
  6. Distinctive:

    If the same file, test, or command has failed 3 times with substantially similar attempts, do NOT retry.

    line 199
  7. Distinctive:

    If you're working on something not in your todo list, either (a) add it and justify why, or (b) stop and return to the planned work.

    line 205
  8. Distinctive:

    Run the command. Read the output.

    line 213
  9. Distinctive:

    Before wrapping up any task, run a structured quality gates triage and report in this format:

    line 244
  10. Distinctive:

    Every agent defines an Intent Contract: conditions that must be true when the agent's work is done.

    line 270
  11. Distinctive:

    Start with "When your work is done, these conditions must be true:"

    line 278
  12. Distinctive:

    Check each Intent Contract condition against evidence

    line 291
  13. Distinctive:

    Run the DoD procedural checks

    line 292
  14. Distinctive:

    Only claim completion when both are satisfied

    line 293

“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

Version: 9.0 | Updated: 01-July-2026 | Architect: Karim Bhalwani |

When to Load This Skill

Load this skill when:

  • About to claim that a task, fix, or implementation is complete
  • Running final verification commands before declaring work done
  • Reviewing whether an agent has provided fresh evidence for completion claims

Overview

Claiming work is complete without verification is dishonesty, not efficiency.

Core principle: Evidence before claims, always.

This rule applies to all implications of completion, not just exact phrases. Reframing a claim in different words does not exempt it from verification.

The Iron Law

NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE

If you haven't run the verification command in this message, you cannot claim it passes.

The Gate Function

BEFORE claiming any status or expressing satisfaction:

1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
   - If NO: State actual status with evidence
   - If YES: State claim WITH evidence
5. ONLY THEN: Make the claim

Skip any step = lying, not verifying

Completion Verification Sequence

Before any completion claim, execute these steps in order:

  1. Run the Gate Function (steps 1–5 above). If no verification command exists for the claimed scope (e.g., no test suite, no build tool available), do NOT proceed with the completion claim. Instead, state: "No verification command is available for [claim]. Cannot confirm status. Required action: [specify what must be set up or provided before this claim can be verified]."
  2. Execute Mid-Execution Drift Checks if at a phase transition (see section below).
  3. Verify each Intent Contract condition against fresh evidence.
  4. Complete the Definition of Done checklist - all seven items must be checked.
  5. Produce the Quality Gates Report in the required format.

Only after all five steps are complete may you state the completion claim. The Gate Function, Drift Checks, Intent Contract check, Definition of Done, and Quality Gates Report are all required. No step may be skipped.

Common Failures

ClaimRequiresNot Sufficient
Tests passTest command output: 0 failuresPrevious run, "should pass"
Linter cleanLinter output: 0 errorsPartial check, extrapolation
Build succeedsBuild command: exit 0Linter passing, logs look good
Bug fixedTest original symptom: passesCode changed, assumed fixed
Regression test worksRed-green cycle verifiedTest passes once
Agent completedVCS diff shows changesAgent reports "success"
Requirements metLine-by-line checklistTests passing

Failure Taxonomy

Failure ModeSymptomImmediate Recovery
claim_without_evidence"Tests pass" stated without running testsRun the command. Get the output. State the claim with the output as evidence.
partial_verificationOnly some tests run; claiming full passRun the full suite. Partial runs are not verification.
stale_evidenceCiting a test run from earlier in the sessionEvidence is stale if the verification was not run in the current message turn. Re-run any command whose output was not produced in this exact response.
agent_self_report_trustedAccepting subagent "success" without VCS diff checkRun git diff or check file modification timestamps. Agent reports are claims, not evidence.
exit_code_ignoredCommand ran but exit code not checkedExit code 0 = success. Any other = failure. Always check.

Red Flags - STOP

  • Using "should", "probably", "seems to"
  • Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
  • About to commit/push/PR without verification
  • Trusting agent success reports
  • Relying on partial verification
  • Thinking "just this once"
  • Tired and wanting work over
  • ANY wording implying success without having run verification

Rationalization Prevention

ExcuseReality
"Should work now"RUN the verification
"I'm confident"Confidence ≠ evidence
"Just this once"No exceptions
"Linter passed"Linter ≠ compiler
"Agent said success"Verify independently
"I'm tired"Exhaustion ≠ excuse
"Partial check is enough"Partial proves nothing
"Different words so rule doesn't apply"No wording escapes this rule

Key Patterns

Tests

✅ [Run test command] [See: 34/34 pass] "All tests pass"
❌ "Should pass now" / "Looks correct"

Regression tests (TDD Red-Green)

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

Build

✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)

Requirements

✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"

Agent delegation

✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report

Why This Matters

From 24 failure memories:

  • your human partner said "I don't believe you" - trust broken
  • Undefined functions shipped - would crash
  • Missing requirements shipped - incomplete features
  • Time wasted on false completion → redirect → rework
  • Violates: "Honesty is a core value. If you lie, you'll be replaced."

When To Apply

ALWAYS before:

  • ANY variation of success/completion claims
  • ANY expression of satisfaction
  • ANY positive statement about work state
  • Committing, PR creation, task completion
  • Moving to next task
  • Delegating to agents

Checkpoint Templates

For standardized evidence presentation, use the role-specific paste templates in references/checkpoint-templates.md. Fill the sections that apply to your role; skip what doesn't. These ensure verification evidence is consistent and auditable across agents and sessions. If references/checkpoint-templates.md is not available in context, use the Quality Gates Report Format defined in this document as the fallback template.

Rule applies to:

  • Exact phrases
  • Paraphrases and synonyms
  • Implications of success
  • ANY communication suggesting completion/correctness

Mid-Execution Drift Checks

At every phase transition (moving between todo items, switching investigation phases, starting a new section of work), pause and run these three self-checks:

1. Scope Drift

"Am I still solving the original problem?"

Re-read the task description or spec. If your current action doesn't trace back to a stated requirement, you are drifting. Stop, note the drift, and return to the plan.

2. Retry Loop Detection

"Have I attempted this same fix or approach before?"

If the same file, test, or command has failed 3 times with substantially similar attempts, do NOT retry. Escalate to the user with: what was tried, what failed, and what alternative approaches exist.

3. Plan Adherence

"Does my todo list reflect what I'm actually doing?"

If you're working on something not in your todo list, either (a) add it and justify why, or (b) stop and return to the planned work. Untracked work is invisible work.

When to skip: Single-step tasks with no plan (quick-fix, config change, typo). If there's no plan to drift from, these checks don't apply.

The Bottom Line

No shortcuts for verification.

Run the command. Read the output. THEN claim the result.

This is non-negotiable.

Outputs & Deliverables

  • Primary Output: Verification evidence (command outputs, test logs, CI run links)
  • Secondary Output: Checklist of verification commands and required acceptance criteria
  • Success Criteria: Evidence confirms the claimed status (exit codes, zero failures)
  • Quality Gate: Attach verification artifacts to PRs or closure reports when claiming completion

Common Pitfalls

  • Premature Satisfaction: Saying "done" before running verification. Always execute the full verification command.
  • Partial Evidence: "Most tests pass" is not passing. 100% success rate or state the actual failure count.
  • Ignoring Exit Codes: Assuming "looks good" means success. Check exit codes; 0 = success, non-zero = failure.
  • Stale Verification: Running verification once per project is not enough. Re-verify when claiming completion each time.
  • Mixing Concerns: Testing one thing but claiming another passes. Verify exactly what you're claiming.
  • Trusting Reports: Agent says "success" but you didn't verify. Always run the check yourself independently.

Integration Points

PhaseInput FromOutput ToContext
Completion ClaimAny agent finishing workVerification gateRequire fresh evidence before accepting completion
TestingImplementation completeEvidence collectionRun full test suite, capture output, check exit codes
PR/MergeCode ready for reviewArtifact attachmentInclude verification evidence in PR comments or closure
Requirements CheckFeature specificationLine-by-line validationVerify each requirement is met with evidence

Quality Gates Report Format

Before wrapping up any task, run a structured quality gates triage and report in this format:

## Quality Gates

| Gate           | Status | Evidence             |
| -------------- | ------ | -------------------- |
| Build          | PASS   | exit 0, 0 errors     |
| Lint/Typecheck | PASS   | 0 warnings, 0 errors |
| Unit Tests     | PASS   | 34/34 pass           |
| Smoke Test     | PASS   | endpoint returns 200 |

## Requirements Coverage

| Requirement        | Status   | Notes                     |
| ------------------ | -------- | ------------------------- |
| Add login endpoint | Done     | POST /api/login           |
| Rate limiting      | Deferred | Needs Redis, out of scope |
  • Report deltas only (PASS/FAIL). No verbose logs unless a gate fails.
  • Include a requirements coverage line mapping each requirement to Done/Deferred + reason.
  • If a gate fails, apply one fix, re-run the full verification command, and report the new output. Repeat this cycle up to 3 times. If the gate still fails after 3 attempts, stop and message the user with: what was tried, what failed each time, and what you believe the root cause is.

Intent Contracts

Every agent defines an Intent Contract: conditions that must be true when the agent's work is done. These are NOT procedural checklists ("run the tests"). They are outcome statements ("the user can complete their workflow without errors").

Purpose

Intent contracts shift agent accountability from process compliance ("did you follow the steps?") to outcome delivery ("does the software work for the user?"). A passing test suite that misses the user's actual need is a failure, not a success.

How to Write Intent Contracts

  • Start with "When your work is done, these conditions must be true:"
  • Each condition should be verifiable by a third party who has never seen the code
  • Focus on what is true in the world, not what is true in the code
  • Include at least one condition about what should NOT happen (failure modes)

Relationship to Definition of Done

The Intent Contract supplements, not replaces, the Definition of Done. The DoD contains procedural checks (tests pass, types clean). The Intent Contract contains outcome checks (user workflow succeeds, edge cases handled). Both must be satisfied.

Relationship to Verification

Intent contracts define WHAT to verify. The verification gate (above) defines HOW to verify it. When running verification before completion:

  1. Check each Intent Contract condition against evidence
  2. Run the DoD procedural checks
  3. Only claim completion when both are satisfied

Definition of Done

  • Verification command executed fresh (not cached or stale)
  • Exit code is 0 and output confirms zero failures
  • Evidence attached (command output, test log, or screenshot)
  • Each claim matches a specific verification artifact
  • No "should", "probably", or "seems" language in completion statement
  • Quality Gates report produced with PASS/FAIL for each gate
  • Requirements coverage checklist maps every requirement to Done/Deferred

Constraints

  • Technical Constraints: Verification requires running the canonical commands in the project environment; do not rely on stale outputs
  • Governance Constraints: Claims without attached verification are invalid for closure

References

  • checklist.md - Verification checklist template for pre-completion gates
  • checkpoint-templates.md - Role-specific paste templates for standardized evidence presentation

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.