[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71T0VJFKPDPZKCHQTCD9F5P":3,"skill-same:01M71T0VJFKPDPZKCHQTCD9F5P":98},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":71},"01M71T0VJFKPDPZKCHQTCD9F5P","session",null,"Use at session boundaries — resume at the start of a new session (resolve a scoped handoff and brief on where to pick up), handoff at the end of a session (write it), checkpoint for a mid-session save without the full ceremony, or name to label the session. Also use to look back at recorded sessions — list, show, timeline, or recurring tool failures. Replaces \u002Fsession-handoff, \u002Fsession-resume, \u002Fname-session.","Claudfather\u002FclauDNA","Claudfather","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F281278891?v=4","01M71SX82K0TBGQ394AB2G1T5Z","01M71SX83CE1S8YC06K9P3P962",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[5,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"gh pr","worktree","mv","git worktree","log","Bash","auto","new","up","mkdir","pick","end","parse","stash","show","branch","brief","back","ls","2026-11-10 13:02:02",false,"---\nname: session\nuser-invocable: true\ndescription: \"Use at session boundaries — resume at the start of a new session (resolve a scoped handoff and brief on where to pick up), handoff at the end of a session (write it), checkpoint for a mid-session save without the full ceremony, or name to label the session. Also use to look back at recorded sessions — list, show, timeline, or recurring tool failures. Replaces \u002Fsession-handoff, \u002Fsession-resume, \u002Fname-session.\"\nargument-hint: \"[handoff|resume|name|checkpoint|list|show|timeline|failures] [--auto]\"\nallowed-tools: Bash(git status *), Bash(git branch *), Bash(git log *), Bash(git rev-parse *), Bash(git stash *), Bash(git worktree *), Bash(git check-ignore *), Bash(gh pr view *), Bash(gh pr list *), Bash(ls *), Bash(wc *), Bash(date *), Bash(grep *), Bash(stat *), Bash(mv *), Bash(mkdir *), Read, Write, Edit, Glob\n---\n\n# Session\n\n> **Codex:** Read `..\u002F_shared\u002Fcodex-tools.md` before following this skill. Apply its tool, root and dispatch mappings throughout.\n\nOne engine for session continuity — `handoff`, `resume`, `name`, and `checkpoint` as verb modes. Continuity is owned by the native session at `R\u002Fsessions\u002F\u003Cnative-sid>\u002Fhandoff.md`; scoped pointers in `R\u002Fcontinuity\u002F` discover prior handoffs and separately published artifacts. Session continuity only — durable knowledge capture is `\u002Fclaudna:capture` territory.\n\n## Mode dispatch\n\nArguments to dispatch (first token = verb, the rest belong to the verb): $ARGUMENTS\n\n| Verb | When | Auto | Depth |\n|------|------|------|-------|\n| `resume` | Start of a new session — read the handoff, reap, scan live state, brief | yes | `resume.md` |\n| `handoff` | End of a session — capture, reap, write the handoff | yes | `handoff.md` |\n| `checkpoint` | Mid-session save — append new items, no reaping, no ceremony | yes | `checkpoint.md` |\n| `name` | Label the session for `\u002Fresume` discovery | no | `name.md` |\n| `list`, `show`, `timeline`, `failures` | Look back at what the session store recorded: past sessions, one session's events, recurring tool failures | yes | `history.md` |\n\nFor the selected verb, read ONLY its depth file in this skill directory and follow it exactly — never load another verb's depth.\n\n[`templates.md`](.\u002Ftemplates.md) is the one exception, because it is not a verb depth: it holds the v2 content format, reaper rules, migration notes, and narrow source-level stable surface. Load it alongside the verb's depth file whenever a verb reads or writes continuity.\n\n**No verb token → deterministic inference only (F2, epic #165), rules checked in order — first match wins:**\n- Fresh session (little prior conversation) and a unique scoped handoff resolves → `resume` (checked first: the read-only mode wins any tie).\n- The request contains an explicit wrap-up cue — one of: \"wrap up\", \"wrapping up\", \"done for the day\", \"end of session\", \"handoff\", \"sign off\", \"calling it\" → `handoff`.\n- Anything else → print the table above and stop. Never infer `checkpoint` or `name`, and never ask a blocking question — the table is the answer.\n- **Headless \u002F `--auto`: the verb is required** — never inferred. `--auto` on the `name` verb emits the structured result with `\"outcome\": \"blocked\"` and a `blocker_description` naming it interactive-only (it hands the user a `\u002Frename` command).\n\n## Shared conventions\n\n- **Identity:** use the actual native SID and host from a qualified host surface. Never derive one from cwd, time, or an operation ID. Missing or conflicting identity means no continuity write.\n- **Ownership:** write only `R\u002Fsessions\u002F\u003Ccurrent-native-sid>\u002Fhandoff.md`; predecessors remain immutable. Resolve scoped pointers without selecting “latest”.\n- **CLI:** `session-store` below is shorthand for `python3 -B \"\u003Cloaded-package>\u002Flib\u002Fclaudna\u002Fsession_store\"`; append the documented verb and arguments to that executable. Follow `documentation\u002Fguides\u002FSTORAGE_OWNERSHIP.md` for the effective root and ownership contract.\n- **Permissions:** use the host's ordinary command and destination permission controls for that exact loaded helper. The frontmatter grants no generic Python pre-approval. If permission is denied or unavailable, report partial persistence with `handoff_path: null`; retain existing content and never change global grants or substitute another writer. Native interactive and `--auto` permission acceptance remain separate qualification gates.\n- **Atomic writes:** submit the complete v2 content to `session-store handoff-write`; do not create shell temp files or use `mv`.\n- **Capture-off:** `CLAUDNA_SESSION_STORE=0` disables background checkpointing. An explicit user-requested manual handoff may still persist with verified native identity; it does not initialize lifecycle state. Artifact-only cross-session discovery requires explicit public-context opt-in.\n- **No compound commands:** separate parallel tool calls; `allowed-tools` patterns match simple commands only.\n- **`--auto` is silent:** no questions, reaper as the only pruning mechanism, and a §10.C structured result (per `..\u002F_shared\u002Forchestration-guide.md`) as the final output — `\"skill\": \"session\"` with `\"mode\"` inside `artifacts`.\n- **Speed over thoroughness:** resume under 30 seconds; handoff under 60 with `--auto`; checkpoint faster than both.\n","# Session\n\n> **Codex:** Read `..\u002F_shared\u002Fcodex-tools.md` before following this skill. Apply its tool, root and dispatch mappings throughout.\n\nOne engine for session continuity — `handoff`, `resume`, `name`, and `checkpoint` as verb modes. Continuity is owned by the native session at `R\u002Fsessions\u002F\u003Cnative-sid>\u002Fhandoff.md`; scoped pointers in `R\u002Fcontinuity\u002F` discover prior handoffs and separately published artifacts. Session continuity only — durable knowledge capture is `\u002Fclaudna:capture` territory.\n\n## Mode dispatch\n\nArguments to dispatch (first token = verb, the rest belong to the verb): $ARGUMENTS\n\n| Verb | When | Auto | Depth |\n|------|------|------|-------|\n| `resume` | Start of a new session — read the handoff, reap, scan live state, brief | yes | `resume.md` |\n| `handoff` | End of a session — capture, reap, write the handoff | yes | `handoff.md` |\n| `checkpoint` | Mid-session save — append new items, no reaping, no ceremony | yes | `checkpoint.md` |\n| `name` | Label the session for `\u002Fresume` discovery | no | `name.md` |\n| `list`, `show`, `timeline`, `failures` | Look back at what the session store recorded: past sessions, one session's events, recurring tool failures | yes | `history.md` |\n\nFor the selected verb, read ONLY its depth file in this skill directory and follow it exactly — never load another verb's depth.\n\n[`templates.md`](.\u002Ftemplates.md) is the one exception, because it is not a verb depth: it holds the v2 content format, reaper rules, migration notes, and narrow source-level stable surface. Load it alongside the verb's depth file whenever a verb reads or writes continuity.\n\n**No verb token → deterministic inference only (F2, epic #165), rules checked in order — first match wins:**\n- Fresh session (little prior conversation) and a unique scoped handoff resolves → `resume` (checked first: the read-only mode wins any tie).\n- The request contains an explicit wrap-up cue — one of: \"wrap up\", \"wrapping up\", \"done for the day\", \"end of session\", \"handoff\", \"sign off\", \"calling it\" → `handoff`.\n- Anything else → print the table above and stop. Never infer `checkpoint` or `name`, and never ask a blocking question — the table is the answer.\n- **Headless \u002F `--auto`: the verb is required** — never inferred. `--auto` on the `name` verb emits the structured result with `\"outcome\": \"blocked\"` and a `blocker_description` naming it interactive-only (it hands the user a `\u002Frename` command).\n\n## Shared conventions\n\n- **Identity:** use the actual native SID and host from a qualified host surface. Never derive one from cwd, time, or an operation ID. Missing or conflicting identity means no continuity write.\n- **Ownership:** write only `R\u002Fsessions\u002F\u003Ccurrent-native-sid>\u002Fhandoff.md`; predecessors remain immutable. Resolve scoped pointers without selecting “latest”.\n- **CLI:** `session-store` below is shorthand for `python3 -B \"\u003Cloaded-package>\u002Flib\u002Fclaudna\u002Fsession_store\"`; append the documented verb and arguments to that executable. Follow `documentation\u002Fguides\u002FSTORAGE_OWNERSHIP.md` for the effective root and ownership contract.\n- **Permissions:** use the host's ordinary command and destination permission controls for that exact loaded helper. The frontmatter grants no generic Python pre-approval. If permission is denied or unavailable, report partial persistence with `handoff_path: null`; retain existing content and never change global grants or substitute another writer. Native interactive and `--auto` permission acceptance remain separate qualification gates.\n- **Atomic writes:** submit the complete v2 content to `session-store handoff-write`; do not create shell temp files or use `mv`.\n- **Capture-off:** `CLAUDNA_SESSION_STORE=0` disables background checkpointing. An explicit user-requested manual handoff may still persist with verified native identity; it does not initialize lifecycle state. Artifact-only cross-session discovery requires explicit public-context opt-in.\n- **No compound commands:** separate parallel tool calls; `allowed-tools` patterns match simple commands only.\n- **`--auto` is silent:** no questions, reaper as the only pruning mechanism, and a §10.C structured result (per `..\u002F_shared\u002Forchestration-guide.md`) as the final output — `\"skill\": \"session\"` with `\"mode\"` inside `artifacts`.\n- **Speed over thoroughness:** resume under 30 seconds; handoff under 60 with `--auto`; checkpoint faster than both.\n",{"name":5,"description":7,"allowed-tools":47,"argument-hint":48,"user-invocable":49},"Bash(git status *), Bash(git branch *), Bash(git log *), Bash(git rev-parse *), Bash(git stash *), Bash(git worktree *), Bash(git check-ignore *), Bash(gh pr view *), Bash(gh pr list *), Bash(ls *), Bash(wc *), Bash(date *), Bash(grep *), Bash(stat *), Bash(mv *), Bash(mkdir *), Read, Write, Edit, Glob","[handoff|resume|name|checkpoint|list|show|timeline|failures] [--auto]",true,"main","17096951d140527accf05a94d7269b77e64a9197","skills\u002Fsession",1,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA","https:\u002F\u002Fgithub.com\u002FClaudfather","https:\u002F\u002Fcrog.gg","Rise of the machines","2026-11-12 21:12:12",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":49},[61,64,67],{"tool":62,"command":63},"npx","npx skills add Claudfather\u002FclauDNA --skill session",{"tool":65,"command":66},"bunx","bunx skills add Claudfather\u002FclauDNA --skill session",{"tool":68,"command":69},"pnpm","pnpm dlx skills add Claudfather\u002FclauDNA --skill session","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002FSKILL.md",[72,78,82,86,90,94],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"checkpoint.md","REFERENCE","参考文档",3834,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002Fcheckpoint.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"handoff.md",7569,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002Fhandoff.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"history.md",2448,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002Fhistory.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"name.md",4685,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002Fname.md",{"path":91,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":92,"sourceHtmlUrl":93},"resume.md",8884,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002Fresume.md",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"templates.md",3858,"https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fsession\u002Ftemplates.md",[99,124,134,156,179,196],{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":42},"01M71T1STJ99BE1C0JYHCQW0XN","example-review","Use when you want to review pull requests with detailed, actionable feedback on code quality, correctness, and maintainability.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fvalid-package\u002FSKILL.md",[],[106,107,108,109,110,111,112,113,28,114,115,116,117,23,118,119,120,121,122,123],"review","example","example review","actionable","pull requests","with","code","correctness","you","when","use","gh","diff","view","pr","code quality","feedback","pull",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":42},"01M71T1RMCD30MAJC954JC7580","bad-skill","Too short","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Ffailing-package\u002FSKILL.md",[],[131,132,133],"bad","bad skill","short",{"skillNo":135,"name":24,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":42},"01M71T1NS97NJ2MQ993V7FBES7","Use when starting feature work that needs isolation from the current workspace, or when running multiple Claude sessions in parallel on different branches — creates and manages git worktrees. For fetching latest main into every existing worktree and branch across your sibling repos, use \u002Fclaudna:sync-branches instead.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fworktree\u002FSKILL.md",[],[24,140,141,142,143,144,145,146,147,148,149,150,115,151,50,152,38,153,154,155],"sync","repos","git","isolation","running","sessions","worktrees","work","across","needs","git worktrees","claude sessions","branches","parallel","for","feature",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":42},"01M71T1HNVG1CZY8P904P6RB7P","weigh-development-paths","Use when at a development junction with multiple viable approaches — architecture choices, refactoring strategies, where to put new code, or which pattern to follow. Triggers on 'which approach', 'how should I', 'Option A vs B', or any point where the next step isn't obvious and the wrong choice creates rework.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fweigh-development-paths\u002FSKILL.md",[],[163,164,165,166,167,168,169,170,171,172,173,174,175,112,115,29,30,176,177,178],"development","weigh development paths","paths","next step","path","refactoring","choice","pattern","at","how","next","strategies","architecture","junction","option","which",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":42},"01M71T1ECV1T5E168GH70AY5B3","verify-completion","Use when about to claim work is complete, fixed, or passing -- requires running verification commands and confirming output before making any success claims.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fverify-completion\u002FSKILL.md",[],[186,187,188,189,144,190,191,192,147,193,194,195,115,116],"verify completion","verify","claim","complete","true","commands","about","verification","claims","output",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":207,"publishedAt":42},"01M71T1BC1HA7XQH0Q1H574FYS","vercel","Use for Vercel operations — deploy to production or preview (or roll back), view, filter, or debug deployment logs, or check project status (deployments, domains, env vars, config). Replaces \u002Fvercel-deploy, \u002Fvercel-logs, \u002Fvercel-status.","https:\u002F\u002Fgithub.com\u002FClaudfather\u002FclauDNA\u002Fblob\u002Fmain\u002Fskills\u002Fvercel\u002FSKILL.md",[202],{"categoryNo":203,"categoryName":204,"taxonomyType":205,"taxonomyTypeDesc":206},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[198,208,209,210,211,212,213,214,215,116,216,190,217,218,219,220,154,119,221,40],"inspection","check","filter","env","logs","preview","debug deployment","debug","deployments","domains","deployment","env vars","project","project status"]