[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EPDX3DY4C46D463X4AM3MB":3,"skill-same:01M6EPDX3DY4C46D463X4AM3MB":118},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6EPDX3DY4C46D463X4AM3MB","verification-before-completion",null,"Verification discipline for completion claims. Use when about to assert success, claim a fix is complete, report tests passing, or before commits and PRs. Enforces evidence-first workflow.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fcodingcossack\u002Fverification-before-completion\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37],"verification","verification before completion","workflow","verification discipline","report","first","commits","fix","use","discipline","evidence","claim","tests","complete","2026-11-10 10:12:30",false,"---\nname: verification-before-completion\ndescription: Verification discipline for completion claims. Use when about to assert success, claim a fix is complete, report tests passing, or before commits and PRs. Enforces evidence-first workflow.\n---\n\n# Verification Before Completion\n\n> **NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE**\n\n## Core Protocol\n\nEvidence before claims, always. If you haven't run the verification command in this message, you cannot claim it passes.\n\n```\nBEFORE any completion claim:\n1. IDENTIFY: What verification 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   - NO → State actual status with evidence\n   - YES → State claim WITH evidence\n5. ONLY THEN: Make the claim\n```\n\n### Command Selection\n\nWhen multiple verification options exist (mono-repo, multiple suites):\n- Run the **most specific** command that covers the changed code\n- When uncertain, run the **broadest** command (full test suite > single file)\n- Lint ≠ build ≠ test — each verifies different claims\n\n### Evidence Format\n\n```\n✅ Ran: npm test\n   Exit: 0\n   Result: 47 passed, 0 failed\n   \"All tests pass.\"\n\n❌ \"Tests should pass now\" (no command output)\n```\n\n## Verification Requirements by Claim Type\n\n| Claim | Required Evidence | Insufficient |\n|-------|-------------------|--------------|\n| Tests pass | Test output: 0 failures | Previous run, \"should pass\" |\n| Linter clean | Linter output: 0 errors | Partial check, extrapolation |\n| Build succeeds | Build exit code: 0 | Linter passing |\n| Bug fixed | Original symptom test passes | Code changed |\n| Regression test | Red-green cycle verified | Single green |\n| Agent completed | VCS diff shows changes | Agent \"success\" report |\n| Requirements met | Line-by-line checklist | Tests passing |\n\n## Red Flags — STOP\n\n- Words: \"should\", \"probably\", \"seems to\"\n- Satisfaction before verification: \"Great!\", \"Perfect!\", \"Done!\"\n- About to commit\u002Fpush\u002FPR without verification\n- Trusting agent success reports\n- Partial verification\n- **ANY wording implying success without verification output**\n\n## Rationalization Prevention\n\n| Excuse | Response |\n|--------|----------|\n| \"Should work now\" | Run the verification |\n| \"I'm confident\" | Confidence ≠ evidence |\n| \"Just this once\" | No exceptions |\n| \"Linter passed\" | Linter ≠ build |\n| \"Agent said success\" | Verify independently |\n| \"Partial check enough\" | Partial proves nothing |\n\n## Key Patterns\n\n**Tests:**\n```\n✅ [Run test] → [See: 34\u002F34 pass] → \"All tests pass\"\n❌ \"Should pass now\"\n```\n\n**Regression (TDD):**\n```\n✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)\n❌ \"Wrote regression test\" (no red-green)\n```\n\n**Requirements:**\n```\n✅ Re-read plan → Checklist each item → Report gaps or completion\n❌ \"Tests pass, phase complete\"\n```\n\n**Agent delegation:**\n```\n✅ Agent reports → Check VCS diff → Verify changes → Report actual state\n❌ Trust agent report\n```\n","# Verification Before Completion\n\n> **NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE**\n\n## Core Protocol\n\nEvidence before claims, always. If you haven't run the verification command in this message, you cannot claim it passes.\n\n```\nBEFORE any completion claim:\n1. IDENTIFY: What verification 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   - NO → State actual status with evidence\n   - YES → State claim WITH evidence\n5. ONLY THEN: Make the claim\n```\n\n### Command Selection\n\nWhen multiple verification options exist (mono-repo, multiple suites):\n- Run the **most specific** command that covers the changed code\n- When uncertain, run the **broadest** command (full test suite > single file)\n- Lint ≠ build ≠ test — each verifies different claims\n\n### Evidence Format\n\n```\n✅ Ran: npm test\n   Exit: 0\n   Result: 47 passed, 0 failed\n   \"All tests pass.\"\n\n❌ \"Tests should pass now\" (no command output)\n```\n\n## Verification Requirements by Claim Type\n\n| Claim | Required Evidence | Insufficient |\n|-------|-------------------|--------------|\n| Tests pass | Test output: 0 failures | Previous run, \"should pass\" |\n| Linter clean | Linter output: 0 errors | Partial check, extrapolation |\n| Build succeeds | Build exit code: 0 | Linter passing |\n| Bug fixed | Original symptom test passes | Code changed |\n| Regression test | Red-green cycle verified | Single green |\n| Agent completed | VCS diff shows changes | Agent \"success\" report |\n| Requirements met | Line-by-line checklist | Tests passing |\n\n## Red Flags — STOP\n\n- Words: \"should\", \"probably\", \"seems to\"\n- Satisfaction before verification: \"Great!\", \"Perfect!\", \"Done!\"\n- About to commit\u002Fpush\u002FPR without verification\n- Trusting agent success reports\n- Partial verification\n- **ANY wording implying success without verification output**\n\n## Rationalization Prevention\n\n| Excuse | Response |\n|--------|----------|\n| \"Should work now\" | Run the verification |\n| \"I'm confident\" | Confidence ≠ evidence |\n| \"Just this once\" | No exceptions |\n| \"Linter passed\" | Linter ≠ build |\n| \"Agent said success\" | Verify independently |\n| \"Partial check enough\" | Partial proves nothing |\n\n## Key Patterns\n\n**Tests:**\n```\n✅ [Run test] → [See: 34\u002F34 pass] → \"All tests pass\"\n❌ \"Should pass now\"\n```\n\n**Regression (TDD):**\n```\n✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)\n❌ \"Wrote regression test\" (no red-green)\n```\n\n**Requirements:**\n```\n✅ Re-read plan → Checklist each item → Report gaps or completion\n❌ \"Tests pass, phase complete\"\n```\n\n**Agent delegation:**\n```\n✅ Agent reports → Check VCS diff → Verify changes → Report actual state\n❌ Trust agent report\n```\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fcodingcossack\u002Fverification-before-completion",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill verification-before-completion",{"tool":58,"command":59},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill verification-before-completion",{"tool":61,"command":62},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill verification-before-completion","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fcodingcossack\u002Fverification-before-completion\u002FSKILL.md",true,[66,72,78,82,86,90,94,98,102,106,110,114],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},".DS_Store","OTHER","其他",6148,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002F.DS_Store",{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"resources\u002Fcommon-patterns.md","REFERENCE","参考文档",8369,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Fcommon-patterns.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"resources\u002Fcomplete-examples.md",24524,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Fcomplete-examples.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"resources\u002Fcomponent-patterns.md",10804,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Fcomponent-patterns.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"resources\u002Fdata-fetching.md",19817,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Fdata-fetching.md",{"path":91,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":92,"sourceHtmlUrl":93},"resources\u002Ffile-organization.md",11871,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Ffile-organization.md",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"resources\u002Floading-and-error-states.md",12036,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Floading-and-error-states.md",{"path":99,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":100,"sourceHtmlUrl":101},"resources\u002Fperformance.md",9639,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Fperformance.md",{"path":103,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":104,"sourceHtmlUrl":105},"resources\u002Frouting-guide.md",7193,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Frouting-guide.md",{"path":107,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":108,"sourceHtmlUrl":109},"resources\u002Fstyling-guide.md",7905,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Fstyling-guide.md",{"path":111,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":112,"sourceHtmlUrl":113},"resources\u002Ftypescript-standards.md",8439,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Ffrontend-development\u002Fresources\u002Ftypescript-standards.md",{"path":115,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":116,"sourceHtmlUrl":117},"skill-report.json",9148,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fcodingcossack\u002Fverification-before-completion\u002Fskill-report.json",[119,129,139,148,154,161],{"skillNo":120,"name":121,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":125,"publishedAt":38},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[124],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[126,127,128],"model","model hierarchy","model hierarchy skill",{"skillNo":130,"name":131,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":135,"publishedAt":38},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[134],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[136,137,138],"MCP","zoom","zoom mcp",{"skillNo":140,"name":141,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":38},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[145,146,147,137],"sdk","zoom apps sdk","apps",{"skillNo":149,"name":150,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":38},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[150],{"skillNo":155,"name":156,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":38},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[159],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[156],{"skillNo":162,"name":163,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":38},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[163]]