{"id":"b4954a56-edea-4e4d-b01b-1b3239af2e8b","shortId":"Vw97Fe","kind":"skill","title":"verify-when-complete","tagline":"Run format, lint, build, and test verification before claiming work is complete. Detects the project toolchain (Taskfile, Makefile, or raw Go) and runs the appropriate commands. Use before committing, pushing, creating PRs, claiming a fix works, or any completion assertion.","description":"# Verify When Complete\n\nNo completion claims without fresh verification evidence.\n\nThis skill is the operational arm of `~/.claude/rules/probe-not-assume.md`: claims of completion require fresh, probed evidence, not implementer self-report.\n\n## Core Principle\n\nEvidence before claims, always. If you haven't run the verification command in this message, you cannot claim it passes.\n\n## Gate Rule\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\n## Red Flags: Stop and Verify\n\n- Using \"should\", \"probably\", \"seems to\"\n- Expressing satisfaction before verification (\"Great!\", \"Done!\")\n- About to commit/push/PR without verification\n- Relying on a previous run, not a fresh one\n- Trusting subagent success reports without independent verification\n\n## Detected Toolchain\n\n!`if [ -f Taskfile.yaml ]; then echo \"taskfile\"; elif [ -f Makefile ]; then echo \"makefile\"; else echo \"raw\"; fi`\n\nUse the detected toolchain above to select commands from the tables below.\n\n## Verification Steps\n\nRun each step in order. If any step fails, stop and report the error.\n\n### Format\n\n| Toolchain | Command |\n|-----------|---------|\n| Taskfile | `task fmt` (if exists) |\n| Makefile | `make fmt` (if exists) |\n| Raw Go | `go fmt ./...` |\n\n### Lint\n\n| Toolchain | Command |\n|-----------|---------|\n| Taskfile | `task lint` (if exists) |\n| Makefile | `make lint` (if exists) |\n| Raw Go | `go vet ./...` |\n\n### Build\n\n| Toolchain | Command |\n|-----------|---------|\n| Taskfile | `task build` (if exists) |\n| Makefile | `make build` (if exists) |\n| Raw Go | `go build ./...` |\n\n### Test\n\n| Toolchain | Command |\n|-----------|---------|\n| Taskfile | `task test` (if exists) |\n| Makefile | `make test` (if exists) |\n| Raw Go | `go test -race -count 1 -v ./...` |\n\nIf a specific task/target doesn't exist, fall back to the raw Go equivalent. Run tests uncached (`-count 1`), with race detection, no `-short` flag.\n\n## When to Apply\n\n- Before committing or pushing\n- Before creating or updating a pull request\n- Before claiming a bug is fixed\n- Before claiming a rebase or conflict resolution succeeded\n- Before moving to the next task after making changes\n- Before any statement asserting correctness or completion\n\n## Cross-references\n\n- The narrowest verification command this skill produces (e.g. `task test -- -run '^TestX$' -count=1`) is the natural reproducer for the `bisect` skill. When a test that this skill once green-lit is now red, bisect with that exact command.","tags":["verify","when","complete","skill","issue","paultyng","agent-skills","ai-tools","claude-code","cursor","dotfiles"],"capabilities":["skill","source-paultyng","skill-verify-when-complete","topic-agent-skills","topic-ai-tools","topic-claude-code","topic-cursor","topic-dotfiles"],"categories":["skill-issue"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/paultyng/skill-issue/verify-when-complete","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add paultyng/skill-issue","source_repo":"https://github.com/paultyng/skill-issue","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (2,783 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:09:03.316Z","embedding":null,"createdAt":"2026-05-18T13:21:28.391Z","updatedAt":"2026-05-18T19:09:03.316Z","lastSeenAt":"2026-05-18T19:09:03.316Z","tsv":"'/.claude/rules/probe-not-assume.md':62 '1':106,309,329,396 '2':113 '3':121 '4':130 '5':150 'actual':140 'alway':80 'appli':338 'appropri':29 'arm':60 'assert':44,376 'back':319 'bisect':403,418 'bug':353 'build':8,273,278,283,289 'cannot':93 'chang':372 'check':125 'claim':13,37,50,63,79,94,100,112,136,147,155,351,357 'code':127 'command':30,88,109,118,218,241,258,275,292,386,422 'commit':33,340 'commit/push/pr':174 'complet':4,16,43,47,49,65,120,379 'confirm':134 'conflict':361 'core':75 'correct':377 'count':128,308,328,395 'creat':35,344 'cross':381 'cross-refer':380 'detect':17,193,213,332 'doesn':315 'done':171 'e.g':390 'echo':199,205,208 'elif':201 'els':207 'equival':324 'error':238 'evid':54,69,77,143,149 'exact':421 'execut':115 'exist':246,251,263,268,280,285,297,302,317 'exit':126 'express':104,166 'f':196,202 'fail':233 'failur':129 'fall':318 'fi':210 'fix':39,355 'flag':157,335 'fmt':244,249,255 'format':6,239 'fresh':52,67,119,184 'full':117,123 'gate':97 'go':25,253,254,270,271,287,288,304,305,323 'great':170 'green':413 'green-lit':412 'haven':83 'identifi':107 'implement':71 'independ':191 'lint':7,256,261,266 'lit':414 'make':153,248,265,282,299,371 'makefil':22,203,206,247,264,281,298 'messag':91 'move':365 'narrowest':384 'natur':399 'next':368 'one':185 'oper':59 'order':229 'output':124,133 'pass':96 'previous':180 'principl':76 'probabl':163 'probe':68 'produc':389 'project':19 'prove':110 'prs':36 'pull':348 'push':34,342 'race':307,331 'raw':24,209,252,269,286,303,322 'read':122 'rebas':359 'red':156,417 'refer':382 'reli':177 'report':74,189,236 'reproduc':400 'request':349 'requir':66 'resolut':362 'rule':98 'run':5,27,85,114,181,225,325,393 'satisfact':105,167 'seem':164 'select':217 'self':73 'self-report':72 'short':334 'skill':56,388,404,410 'skill-verify-when-complete' 'source-paultyng' 'specif':313 'state':139,146 'statement':375 'status':102,141 'step':224,227,232 'stop':158,234 'subag':187 'succeed':363 'success':188 'tabl':221 'task':243,260,277,294,369,391 'task/target':314 'taskfil':21,200,242,259,276,293 'taskfile.yaml':197 'test':10,290,295,300,306,326,392,407 'testx':394 'toolchain':20,194,214,240,257,274,291 'topic-agent-skills' 'topic-ai-tools' 'topic-claude-code' 'topic-cursor' 'topic-dotfiles' 'trust':186 'uncach':327 'updat':346 'use':31,161,211 'v':310 'verif':11,53,87,169,176,192,223,385 'verifi':2,45,131,160 'verify-when-complet':1 'vet':272 'without':51,175,190 'work':14,40 'yes':145","prices":[{"id":"42a873e1-d39a-4d42-98c3-d6f7a4af1aee","listingId":"b4954a56-edea-4e4d-b01b-1b3239af2e8b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"paultyng","category":"skill-issue","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:28.391Z"}],"sources":[{"listingId":"b4954a56-edea-4e4d-b01b-1b3239af2e8b","source":"github","sourceId":"paultyng/skill-issue/verify-when-complete","sourceUrl":"https://github.com/paultyng/skill-issue/tree/main/skills/verify-when-complete","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:28.391Z","lastSeenAt":"2026-05-18T19:09:03.316Z"}],"details":{"listingId":"b4954a56-edea-4e4d-b01b-1b3239af2e8b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"paultyng","slug":"verify-when-complete","github":{"repo":"paultyng/skill-issue","stars":8,"topics":["agent-skills","ai-tools","claude-code","cursor","dotfiles"],"license":"mit","html_url":"https://github.com/paultyng/skill-issue","pushed_at":"2026-05-18T18:26:54Z","description":"Personal Claude Code / Cursor agent skills, rules, and config","skill_md_sha":"dc4a8897d2f1ab421029141205ce10607e0c6ae1","skill_md_path":"skills/verify-when-complete/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/paultyng/skill-issue/tree/main/skills/verify-when-complete"},"layout":"multi","source":"github","category":"skill-issue","frontmatter":{"name":"verify-when-complete","description":"Run format, lint, build, and test verification before claiming work is complete. Detects the project toolchain (Taskfile, Makefile, or raw Go) and runs the appropriate commands. Use before committing, pushing, creating PRs, claiming a fix works, or any completion assertion."},"skills_sh_url":"https://skills.sh/paultyng/skill-issue/verify-when-complete"},"updatedAt":"2026-05-18T19:09:03.316Z"}}