[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M719KPWRSEFS2MGG9M4ZDXKK":3,"skill-same:01M719KPWRSEFS2MGG9M4ZDXKK":60},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M719KPWRSEFS2MGG9M4ZDXKK","history-hygiene",null,"Record final outcomes to history.md, not intermediate requests or reversed decisions","DeDuva\u002Fsquad","DeDuva","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8153108?v=4","01M719BQB25861D0TKS3RVHMN2","01M719BQBSWR380PSYDD5M9YD4",1,"MIT","https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Fpackages\u002Fsquad-sdk\u002Ftemplates\u002Fskills\u002Fhistory-hygiene\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31],"history","history hygiene","hygiene","documentation","record","outcomes","high","requests","incident","collaboration","v0","decisions","intermediate","team","2026-11-10 10:12:30",false,"---\nname: history-hygiene\ndescription: Record final outcomes to history.md, not intermediate requests or reversed decisions\ndomain: documentation, team-collaboration\nconfidence: high\nsource: earned (Kobayashi v0.6.0 incident, team intervention)\n---\n\n## Context\n\nHistory files (.md files tracking decisions, spawns, outcomes) are read cold by future agents. Stale or incorrect entries poison decision-making downstream. The Kobayashi incident proved this: history said \"Brady decided v0.6.0\" when Brady had reversed that to v0.8.17. Future spawns read the wrong truth and repeated the mistake.\n\n## Patterns\n\n- **Record the final outcome**, not the initial request.\n- **Wait for confirmation** before writing to history — don't log intermediate states.\n- **If a decision reverses**, update the entry immediately — don't leave stale data.\n- **One read = one truth.** A future agent should never need to cross-reference other files to understand what actually happened.\n\n## Examples\n\n✓ **Correct:**\n- \"Migration target: v0.8.17 (initially discussed as v0.6.0, corrected by Brady)\"\n- \"Reverted to Node 18 per Brady's explicit request on 2024-01-15\"\n\n✗ **Incorrect:**\n- \"Brady directed v0.6.0\" (when later reversed)\n- Recording what was *requested* instead of what *actually happened*\n- Logging entries before outcome is confirmed\n\n## Anti-Patterns\n\n- Writing intermediate or \"for now\" states to disk\n- Attributing decisions without confirming final direction\n- Treating history like a draft — history is the source of truth\n- Assuming readers will cross-reference or verify; they won't\n","## Context\n\nHistory files (.md files tracking decisions, spawns, outcomes) are read cold by future agents. Stale or incorrect entries poison decision-making downstream. The Kobayashi incident proved this: history said \"Brady decided v0.6.0\" when Brady had reversed that to v0.8.17. Future spawns read the wrong truth and repeated the mistake.\n\n## Patterns\n\n- **Record the final outcome**, not the initial request.\n- **Wait for confirmation** before writing to history — don't log intermediate states.\n- **If a decision reverses**, update the entry immediately — don't leave stale data.\n- **One read = one truth.** A future agent should never need to cross-reference other files to understand what actually happened.\n\n## Examples\n\n✓ **Correct:**\n- \"Migration target: v0.8.17 (initially discussed as v0.6.0, corrected by Brady)\"\n- \"Reverted to Node 18 per Brady's explicit request on 2024-01-15\"\n\n✗ **Incorrect:**\n- \"Brady directed v0.6.0\" (when later reversed)\n- Recording what was *requested* instead of what *actually happened*\n- Logging entries before outcome is confirmed\n\n## Anti-Patterns\n\n- Writing intermediate or \"for now\" states to disk\n- Attributing decisions without confirming final direction\n- Treating history like a draft — history is the source of truth\n- Assuming readers will cross-reference or verify; they won't\n",{"name":5,"domain":37,"source":38,"confidence":24,"description":7},"documentation, team-collaboration","earned (Kobayashi v0.6.0 incident, team intervention)","dev","4ffda80d1bb1043d9169688cf161e53097345c72","packages\u002Fsquad-sdk\u002Ftemplates\u002Fskills\u002Fhistory-hygiene",0,"https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad","https:\u002F\u002Fgithub.com\u002FDeDuva","2026-11-09 20:24:44",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add DeDuva\u002Fsquad --skill history-hygiene",{"tool":52,"command":53},"bunx","bunx skills add DeDuva\u002Fsquad --skill history-hygiene",{"tool":55,"command":56},"pnpm","pnpm dlx skills add DeDuva\u002Fsquad --skill history-hygiene","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Fpackages\u002Fsquad-sdk\u002Ftemplates\u002Fskills\u002Fhistory-hygiene\u002FSKILL.md",true,[],[61,77,85,101,124,138],{"skillNo":62,"name":63,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":71,"publishedAt":32},"01M719NE6ZPZT80MKVWFDECJZ3","My Skill","https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Ftest-fixtures\u002Fskills-test-abb30454\u002Fmy-skill\u002FSKILL.md",[66],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[72,73,74,75,76],"my","my skill","testing","vitest","tester",{"skillNo":78,"name":79,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":32},"01M719NDJAMEWM8D9H355SCNA8","bad-skill","https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Ftest-fixtures\u002Fskills-test-abb30454\u002Fbad-skill\u002FSKILL.md",[],[83,84],"bad skill","bad",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":32},"01M719NCC1AZ02GHZ1V71YPEV7","squad-conventions","Core conventions and patterns used in the Squad codebase","https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Ftemplates\u002Fskills\u002Fsquad-conventions\u002FSKILL.md",[],[92,93,94,95,96,97,98,24,99,100],"conventions","squad","squad conventions","project-conventions","core","project","manual","codebase","patterns",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":32},"01M719NAYM17B7X8MGP681EHKQ","rework-rate","Measure and interpret PR rework rate — the emerging 5th DORA metric","https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Ftemplates\u002Fskills\u002Frework-rate\u002FSKILL.md",[],[108,109,110,111,24,112,113,114,93,115,116,117,118,98,119,120,121,31,122,123],"rate","rework rate","health","analyze","review efficiency","quality","metric","metrics","efficiency","code quality","pr","prs","when","code","code-review","review",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":32},"01M719NA136PDC3SQ10R4R88TH","nap","Context hygiene — compress, prune, archive .squad\u002F state","https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Ftemplates\u002Fskills\u002Fnap\u002FSKILL.md",[],[126,131,132,133,134,135,20,136,93,137],"prune","state","maintenance","context hygiene","archive","compress","context",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":148,"publishedAt":32},"01M719N7B4PBQPNXW78TEJY4HQ","e2e-template-testing","End-to-end validation of coordinator and agent template changes","https:\u002F\u002Fgithub.com\u002FDeDuva\u002Fsquad\u002Fblob\u002Fdev\u002Ftemplates\u002Fskills\u002Fe2e-template-testing\u002FSKILL.md",[144,147],{"categoryNo":145,"categoryName":146,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},[74,149,150,151,152,153,154,98,155,24,156],"e2e template testing","e2e","template","end","coordinator","development","changes","validation"]