{"id":"b8986c3e-319b-4b0a-8b73-c9d997fe1fce","shortId":"pgSRLP","kind":"skill","title":"verification-before-completion","tagline":"Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","description":"# Verification Before Completion\n\n## Overview\n\nClaiming work is complete without verification is dishonesty, not efficiency.\n\n**Core principle:** Evidence before claims, always.\n\n**Violating the letter of this rule is violating the spirit of this rule.**\n\n## The Iron Law\n\n```\nNO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE\n```\n\nIf you haven't run the verification command in this message, you cannot claim it passes.\n\n## The Gate Function\n\n```\nBEFORE claiming any status or expressing satisfaction:\n\n1. IDENTIFY: What command proves this claim?\n2. RUN: Execute the FULL command (fresh, complete)\n3. READ: Full output, check exit code, count failures\n4. VERIFY: Does output confirm the claim?\n   - If NO: State actual status with evidence\n   - If YES: State claim WITH evidence\n5. ONLY THEN: Make the claim\n\nSkip any step = lying, not verifying\n```\n\n## Common Failures\n\n| Claim | Requires | Not Sufficient |\n|-------|----------|----------------|\n| Tests pass | Test command output: 0 failures | Previous run, \"should pass\" |\n| Linter clean | Linter output: 0 errors | Partial check, extrapolation |\n| Build succeeds | Build command: exit 0 | Linter passing, logs look good |\n| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |\n| Regression test works | Red-green cycle verified | Test passes once |\n| Agent completed | VCS diff shows changes | Agent reports \"success\" |\n| Requirements met | Line-by-line checklist | Tests passing |\n\n## Red Flags - STOP\n\n- Using \"should\", \"probably\", \"seems to\"\n- Expressing satisfaction before verification (\"Great!\", \"Perfect!\", \"Done!\", etc.)\n- About to commit/push/PR without verification\n- Trusting agent success reports\n- Relying on partial verification\n- Thinking \"just this once\"\n- Tired and wanting work over\n- **ANY wording implying success without having run verification**\n\n## Rationalization Prevention\n\n| Excuse | Reality |\n|--------|---------|\n| \"Should work now\" | RUN the verification |\n| \"I'm confident\" | Confidence ≠ evidence |\n| \"Just this once\" | No exceptions |\n| \"Linter passed\" | Linter ≠ compiler |\n| \"Agent said success\" | Verify independently |\n| \"I'm tired\" | Exhaustion ≠ excuse |\n| \"Partial check is enough\" | Partial proves nothing |\n| \"Different words so rule doesn't apply\" | Spirit over letter |\n\n## Key Patterns\n\n**Tests:**\n```\n✅ [Run test command] [See: 34/34 pass] \"All tests pass\"\n❌ \"Should pass now\" / \"Looks correct\"\n```\n\n**Regression tests (TDD Red-Green):**\n```\n✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)\n❌ \"I've written a regression test\" (without red-green verification)\n```\n\n**Build:**\n```\n✅ [Run build] [See: exit 0] \"Build passes\"\n❌ \"Linter passed\" (linter doesn't check compilation)\n```\n\n**Requirements:**\n```\n✅ Re-read plan → Create checklist → Verify each → Report gaps or completion\n❌ \"Tests pass, phase complete\"\n```\n\n**Agent delegation:**\n```\n✅ Agent reports success → Check VCS diff → Verify changes → Report actual state\n❌ Trust agent report\n```\n\n## Why This Matters\n\nFrom 24 failure memories:\n- your human partner said \"I don't believe you\" - trust broken\n- Undefined functions shipped - would crash\n- Missing requirements shipped - incomplete features\n- Time wasted on false completion → redirect → rework\n- Violates: \"Honesty is a core value. If you lie, you'll be replaced.\"\n\n## When To Apply\n\n**ALWAYS before:**\n- ANY variation of success/completion claims\n- ANY expression of satisfaction\n- ANY positive statement about work state\n- Committing, PR creation, task completion\n- Moving to next task\n- Delegating to agents\n\n**Rule applies to:**\n- Exact phrases\n- Paraphrases and synonyms\n- Implications of success\n- ANY communication suggesting completion/correctness\n\n## The Bottom Line\n\n**No shortcuts for verification.**\n\nRun the command. Read the output. THEN claim the result.\n\nThis is non-negotiable.","tags":["verification","before","completion","dolu","agents","skills","dolutech","agent-skills","opencode"],"capabilities":["skill","source-dolutech","skill-verification-before-completion","topic-agent-skills","topic-opencode","topic-skills"],"categories":["dolu-agents-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/dolutech/dolu-agents-skills/verification-before-completion","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add dolutech/dolu-agents-skills","source_repo":"https://github.com/dolutech/dolu-agents-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (3,863 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:40.992Z","embedding":null,"createdAt":"2026-05-18T13:22:10.855Z","updatedAt":"2026-05-18T19:14:40.992Z","lastSeenAt":"2026-05-18T19:14:40.992Z","tsv":"'0':173,183,193,385 '1':106 '2':113 '24':432 '3':121 '34/34':342 '4':130 '5':150 'actual':140,423 'agent':220,226,260,308,412,414,426,507 'alway':36,56,479 'appli':331,478,509 'assert':35 'assum':207 'believ':442 'bottom':524 'broken':445 'bug':199 'build':188,190,380,382,386 'cannot':92 'chang':206,225,421 'check':125,186,319,393,417 'checklist':235,401 'claim':9,32,41,55,75,93,100,112,136,147,155,164,485,537 'clean':180 'code':127,205 'command':24,87,109,118,171,191,340,532 'commit':17,496 'commit/push/pr':256 'common':162 'communic':520 'compil':307,394 'complet':4,12,39,44,74,120,221,407,411,460,500 'completion/correctness':522 'confid':296,297 'confirm':26,134 'core':51,467 'correct':351 'count':128 'crash':450 'creat':19,400 'creation':498 'cycl':215 'deleg':413,505 'diff':223,419 'differ':325 'dishonesti':48 'doesn':329,391 'done':252 'effici':50 'enough':321 'error':184 'etc':253 'evid':33,53,79,143,149,298 'exact':511 'except':303 'excus':286,317 'execut':115 'exhaust':316 'exit':126,192,384 'express':104,246,487 'extrapol':187 'fail':365 'failur':129,163,174,433 'fals':459 'featur':455 'fix':13,200,208,362 'flag':239 'fresh':77,119 'full':117,123 'function':98,447 'gap':405 'gate':97 'good':198 'great':250 'green':214,357,378 'haven':82 'honesti':464 'human':436 'identifi':107 'impli':278 'implic':516 'incomplet':454 'independ':312 'iron':71 'key':335 'law':72 'letter':59,334 'lie':159,471 'line':232,234,525 'line-by-lin':231 'linter':179,181,194,304,306,388,390 'll':473 'log':196 'look':197,350 'm':295,314 'make':29,153 'matter':430 'memori':434 'messag':90 'met':230 'miss':451 'move':501 'must':364 'negoti':544 'next':503 'non':543 'non-negoti':542 'noth':324 'origin':202 'output':27,124,133,172,182,535 'overview':40 'paraphras':513 'partial':185,265,318,322 'partner':437 'pass':15,95,169,178,195,204,218,237,305,343,346,348,360,368,387,389,409 'pattern':336 'perfect':251 'phase':410 'phrase':512 'plan':399 'posit':491 'pr':497 'prevent':285 'previous':175 'principl':52 'probabl':243 'prove':110,323 'prs':20 'ration':284 're':397 're-read':396 'read':122,398,533 'realiti':287 'red':213,238,356,377 'red-green':212,355,376 'redirect':461 'regress':209,352,373 'reli':263 'replac':475 'report':227,262,404,415,422,427 'requir':21,165,229,395,452 'restor':366 'result':539 'revert':361 'rework':462 'rule':62,69,328,508 'run':22,84,114,176,282,291,338,359,363,367,381,530 'said':309,438 'satisfact':105,247,489 'see':341,383 'seem':244 'ship':448,453 'shortcut':527 'show':224 'skill' 'skill-verification-before-completion' 'skip':156 'source-dolutech' 'spirit':66,332 'state':139,146,424,495 'statement':492 'status':102,141 'step':158 'stop':240 'succeed':189 'success':31,228,261,279,310,416,518 'success/completion':484 'suffici':167 'suggest':521 'symptom':203 'synonym':515 'task':499,504 'tdd':354 'test':168,170,201,210,217,236,337,339,345,353,374,408 'think':267 'time':456 'tire':271,315 'topic-agent-skills' 'topic-opencode' 'topic-skills' 'trust':259,425,444 'undefin':446 'use':5,241 'valu':468 'variat':482 'vcs':222,418 've':370 'verif':2,23,37,46,78,86,249,258,266,283,293,379,529 'verifi':131,161,216,311,402,420 'verification-before-complet':1 'violat':57,64,463 'want':273 'wast':457 'without':45,76,257,280,375 'word':277,326 'work':10,42,211,274,289,494 'would':449 'write':358 'written':371 'yes':145","prices":[{"id":"fbbdb700-8e56-4e00-9516-32dee30419ab","listingId":"b8986c3e-319b-4b0a-8b73-c9d997fe1fce","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"dolutech","category":"dolu-agents-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:10.855Z"}],"sources":[{"listingId":"b8986c3e-319b-4b0a-8b73-c9d997fe1fce","source":"github","sourceId":"dolutech/dolu-agents-skills/verification-before-completion","sourceUrl":"https://github.com/dolutech/dolu-agents-skills/tree/main/skills/verification-before-completion","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:10.855Z","lastSeenAt":"2026-05-18T19:14:40.992Z"}],"details":{"listingId":"b8986c3e-319b-4b0a-8b73-c9d997fe1fce","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"dolutech","slug":"verification-before-completion","github":{"repo":"dolutech/dolu-agents-skills","stars":6,"topics":["agent-skills","opencode","skills"],"license":"mit","html_url":"https://github.com/dolutech/dolu-agents-skills","pushed_at":"2026-03-21T12:00:55Z","description":"Dolu Agents Skills - Open-source collection of modular and extensible skills for AI agents.","skill_md_sha":"2f14076e59e6ce5cd6f88007421a85f0bd772520","skill_md_path":"skills/verification-before-completion/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/dolutech/dolu-agents-skills/tree/main/skills/verification-before-completion"},"layout":"multi","source":"github","category":"dolu-agents-skills","frontmatter":{"name":"verification-before-completion","description":"Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always"},"skills_sh_url":"https://skills.sh/dolutech/dolu-agents-skills/verification-before-completion"},"updatedAt":"2026-05-18T19:14:40.992Z"}}