[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAYA2SHVW8K5PS8C4KAJ6M":3,"skill-same:01M6DAYA2SHVW8K5PS8C4KAJ6M":82},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":13,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6DAYA2SHVW8K5PS8C4KAJ6M","refresh-snapshots",null,"Use to re-run the harness's snapshot\u002Fmirror flows so installed state matches version-controlled source — skill symlinks into ~\u002F.claude, ~\u002F.codex, ~\u002F.gemini tool homes, git submodule pointers, and shell plugin checkouts. Use after restructuring skills, when links look stale or broken, or on a periodic freshness pass. Triggers: \"refresh snapshots\", \"relink skills\", \"update submodules\", \"my installed skills are stale\".","tzeusy-org\u002Fai-bootstrap","tzeusy-org","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F141543652?v=4","01M6DAM1AP09H27BYGFY9QCNPB","01M6DAM1F4R187EK11XDN9JZKH",0,"MIT","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-tooling\u002Fsubskills\u002Frefresh-snapshots\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"refresh snapshots","snapshots","refresh","tool","triggers","active","periodic","version","use","broken","gemini","shell","dotfiles","harness","state","update","run","bootstrap","plugin","codex","2026-11-10 10:12:30",false,"---\nname: refresh-snapshots\ndescription: >\n  Use to re-run the harness's snapshot\u002Fmirror flows so installed state\n  matches version-controlled source — skill symlinks into ~\u002F.claude,\n  ~\u002F.codex, ~\u002F.gemini tool homes, git submodule pointers, and shell plugin\n  checkouts. Use after restructuring skills, when links look stale or\n  broken, or on a periodic freshness pass. Triggers: \"refresh snapshots\",\n  \"relink skills\", \"update submodules\", \"my installed skills are stale\".\nmetadata:\n  owner: tze\n  authors:\n    - tze\n    - Claude Fable 5\n  status: active\n  last_reviewed: \"2026-06-12\"\ncompatibility: Assumes ~\u002F.dotfiles with bootstrap.sh and the ai-bootstrap submodule; flows are idempotent and safe to re-run.\n---\n\n# Refresh Snapshots\n\nSeveral pieces of installed state are *snapshots* of version-controlled\nsource: symlink trees generated by `bootstrap.sh`, submodule checkouts\npinned to a recorded commit, plugin clones. They go stale silently when the\nsource moves. Every flow here is idempotent — re-running a fresh one is a\ncheap no-op.\n\n## Health check without refreshing\n\nTo answer \"is my harness healthy\" without changing anything, run the\ndoctor — it executes every flow's *verify* check (broken links, submodule\ndrift, shell load, bd doctor, required binaries) as one pass\u002Ffail report:\n\n```bash\nbash \u003Cthis-subskill>\u002Fscripts\u002Fharness_doctor.sh\n```\n\nKeep [`scripts\u002Fharness_doctor.sh`](.\u002Fscripts\u002Fharness_doctor.sh) in sync\nwhen adding a flow to the catalog.\n\n## Workflow\n\n1. Read the flow catalog:\n   [`references\u002Fsnapshot-flows.md`](.\u002Freferences\u002Fsnapshot-flows.md) — it\n   lists each snapshot, its refresh command, and its verification check.\n2. Run the refresh for the flows the task needs (or all of them on a\n   periodic pass), then run each flow's verification and report\n   refreshed\u002Falready-fresh\u002Ffailed per flow.\n3. If a refresh changed git state (e.g. a submodule pointer moved), commit\n   it per the owning repo's conventions — pointer bumps in `~\u002F.dotfiles`\n   use the existing `Update ai-bootstrap pointer` message style.\n4. **Write back** (maintenance contract): if you discover a snapshot flow\n   not in the catalog — any script that copies or links version-controlled\n   content into a runtime location — append it to\n   [`references\u002Fsnapshot-flows.md`](.\u002Freferences\u002Fsnapshot-flows.md) in the\n   same change.\n\n## Boundaries\n\n- Refreshing a *checkout* to its recorded pointer (`git submodule update`)\n  is always safe; *advancing* a pointer (`--remote`) changes behavior —\n  do it only when the task asks for updates, and report what moved.\n- If a verification fails after refresh (broken links remain, a skill\n  vanished from a tool home), stop and diagnose before re-running — the\n  flows are idempotent, so a second blind run cannot fix a real failure.\n- Some machines symlink tool homes wholesale (`~\u002F.claude` →\n  `ai-bootstrap\u002F.claude`); others may copy. Confirm with `ls -ld ~\u002F.claude`\n  before reasoning about which flow applies.\n","# Refresh Snapshots\n\nSeveral pieces of installed state are *snapshots* of version-controlled\nsource: symlink trees generated by `bootstrap.sh`, submodule checkouts\npinned to a recorded commit, plugin clones. They go stale silently when the\nsource moves. Every flow here is idempotent — re-running a fresh one is a\ncheap no-op.\n\n## Health check without refreshing\n\nTo answer \"is my harness healthy\" without changing anything, run the\ndoctor — it executes every flow's *verify* check (broken links, submodule\ndrift, shell load, bd doctor, required binaries) as one pass\u002Ffail report:\n\n```bash\nbash \u003Cthis-subskill>\u002Fscripts\u002Fharness_doctor.sh\n```\n\nKeep [`scripts\u002Fharness_doctor.sh`](.\u002Fscripts\u002Fharness_doctor.sh) in sync\nwhen adding a flow to the catalog.\n\n## Workflow\n\n1. Read the flow catalog:\n   [`references\u002Fsnapshot-flows.md`](.\u002Freferences\u002Fsnapshot-flows.md) — it\n   lists each snapshot, its refresh command, and its verification check.\n2. Run the refresh for the flows the task needs (or all of them on a\n   periodic pass), then run each flow's verification and report\n   refreshed\u002Falready-fresh\u002Ffailed per flow.\n3. If a refresh changed git state (e.g. a submodule pointer moved), commit\n   it per the owning repo's conventions — pointer bumps in `~\u002F.dotfiles`\n   use the existing `Update ai-bootstrap pointer` message style.\n4. **Write back** (maintenance contract): if you discover a snapshot flow\n   not in the catalog — any script that copies or links version-controlled\n   content into a runtime location — append it to\n   [`references\u002Fsnapshot-flows.md`](.\u002Freferences\u002Fsnapshot-flows.md) in the\n   same change.\n\n## Boundaries\n\n- Refreshing a *checkout* to its recorded pointer (`git submodule update`)\n  is always safe; *advancing* a pointer (`--remote`) changes behavior —\n  do it only when the task asks for updates, and report what moved.\n- If a verification fails after refresh (broken links remain, a skill\n  vanished from a tool home), stop and diagnose before re-running — the\n  flows are idempotent, so a second blind run cannot fix a real failure.\n- Some machines symlink tool homes wholesale (`~\u002F.claude` →\n  `ai-bootstrap\u002F.claude`); others may copy. Confirm with `ls -ld ~\u002F.claude`\n  before reasoning about which flow applies.\n",{"name":5,"metadata":43,"description":48,"compatibility":49},{"owner":44,"status":23,"authors":45,"last_reviewed":47},"tze",[44,46],"Claude Fable 5","2026-06-12","Use to re-run the harness's snapshot\u002Fmirror flows so installed state matches version-controlled source — skill symlinks into ~\u002F.claude, ~\u002F.codex, ~\u002F.gemini tool homes, git submodule pointers, and shell plugin checkouts. Use after restructuring skills, when links look stale or broken, or on a periodic freshness pass. Triggers: \"refresh snapshots\", \"relink skills\", \"update submodules\", \"my installed skills are stale\".\n","Assumes ~\u002F.dotfiles with bootstrap.sh and the ai-bootstrap submodule; flows are idempotent and safe to re-run.","main","c907d6f0bf96bd61b936e8972e0f1c66ebb8148c","skills\u002Fpersonal\u002Fth-tooling\u002Fsubskills\u002Frefresh-snapshots","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap","https:\u002F\u002Fgithub.com\u002Ftzeusy-org","2026-11-10 23:17:25",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add tzeusy-org\u002Fai-bootstrap --skill refresh-snapshots",{"tool":62,"command":63},"bunx","bunx skills add tzeusy-org\u002Fai-bootstrap --skill refresh-snapshots",{"tool":65,"command":66},"pnpm","pnpm dlx skills add tzeusy-org\u002Fai-bootstrap --skill refresh-snapshots","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-tooling\u002Fsubskills\u002Frefresh-snapshots\u002FSKILL.md",true,[70,76],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fsnapshot-flows.md","REFERENCE","参考文档",5263,"https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-tooling\u002Fsubskills\u002Frefresh-snapshots\u002Freferences\u002Fsnapshot-flows.md",{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"scripts\u002Fharness_doctor.sh","SCRIPT","脚本",2081,"https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-tooling\u002Fsubskills\u002Frefresh-snapshots\u002Fscripts\u002Fharness_doctor.sh",[83,106,133,148,167,178],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":38},"01M6DAZD21TWH2ET70V9FF75CQ","user-run","Use when a step needs privileges this session lacks (docker, sudo, another user's checkout or secrets, host access) and the owner must run it as tze. Writes a reviewable \u002Fhome\u002Forca\u002F.tmp\u002F\u003Cslug>\u002Frun.sh that impersonates tze (USER_TO_IMPERSONATE overrides), tees timestamped logs plus latest.log and collects artifacts there; Claude presents it with a risk and time brief, then continues from the logs. Triggers: \"I'll run it for you\", \"permission denied on docker.sock\", \"needs sudo\", \"sudo: a password is required\", \"run as tze\", \"\u002Fuser-run\".","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fuser-run\u002FSKILL.md",[],[90,91,34,92,93,26,94,95,22,96,23,97,98,99,100,101,102,103,104,105],"user run","user","docker","logs","host","as","permission","time","log","artifacts","session","password","access","secrets","risk","brief",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":122,"publishedAt":38},"01M6DAZAHTCBAD2WF0GAHWPST8","requesting-code-review","Use when completing tasks, implementing major features, or before merging to verify work meets requirements","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Frequesting-code-review\u002FSKILL.md",[112,117],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[123,124,125,126,127,128,23,129,130,26,131,132],"requesting code review","code","review","code review","work","requirements","upstream","superpowers","verify","tasks",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":141,"publishedAt":38},"01M6DAZ7CJ82D81XZB2YHVVY48","receiving-code-review","Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Freceiving-code-review\u002FSKILL.md",[139,140],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},[142,124,125,126,23,129,143,130,26,144,145,146,147],"receiving code review","implementation","code review feedback","technical","feedback","verification",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":38},"01M6DAZ4ER76ADXJ9KRFP7V3Q9","finishing-a-development-branch","Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Ffinishing-a-development-branch\u002FSKILL.md",[],[155,156,157,158,26,159,127,160,161,162,130,163,164,165,23,129,166,143],"branch","development","finishing a development branch","integrate","decide","how","cleanup","pr","merge","tests","structured","options",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":38},"01M6DAYZFWWW2YPKP89QNQR96H","executing-plans","Use when you have a written implementation plan to execute in a separate session with review checkpoints","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Fexecuting-plans\u002FSKILL.md",[],[174,175,176,125,177,23,129,143,130,26,100],"plans","executing plans","plan","execute",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":184,"publishedAt":38},"01M6DAYWM2YQHYCK7C35K1D29J","dispatching-parallel-agents","Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Fdispatching-parallel-agents\u002FSKILL.md",[],[185,186,187,26,130,129,32,23,188,132,189],"parallel agents","parallel","dispatching parallel agents","dependencies","shared"]