[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7DN76V4R0NETKW5QMNAHFXV":3,"skill-same:01M7DN76V4R0NETKW5QMNAHFXV":45},{"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":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M7DN76V4R0NETKW5QMNAHFXV","handover",null,"Write the one-sentence handover that lets a cold session continue the work after \u002Fclear. Use WITHOUT being asked when an MR\u002FPR has merged, or a task or issue is done and the next one is known; also when the user asks for a handover, a restart sentence or what to paste into a new session.","schreibse\u002Fclaude-code-mods","schreibse","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F30500338?v=4","01M7DN741DFXS3804C220K4S1Z","Stephan Schreiber","01M7DN7421V3QJ746JBWHW0M6F",3,"MIT","https:\u002F\u002Fgithub.com\u002Fschreibse\u002Fclaude-code-mods\u002Fblob\u002Fmain\u002Fhandover\u002Fskills\u002Fhandover\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: handover\ndescription: Write the one-sentence handover that lets a cold session continue the work after \u002Fclear. Use WITHOUT being asked when an MR\u002FPR has merged, or a task or issue is done and the next one is known; also when the user asks for a handover, a restart sentence or what to paste into a new session.\n---\n\n# Handover\n\nOne sentence the user pastes into a fresh session after `\u002Fclear`. The session that reads it knows\nnothing else, so the sentence carries everything needed to start.\n\n## The sentence\n\n- **What landed:** the MR\u002FPR and its number, what it did in a few words, the merge commit (short\n  sha) and branch it is on.\n- **What is next:** the issue or task by number and in a few words, plus any constraint the next\n  session would otherwise get wrong (a rule from a review, a decision, an invariant).\n- **Where to start:** the plan file to read first, by repo-relative path.\n\nOne sentence, however long; semicolons and an em dash are fine. **Never start it with `!`** — the\nprompt reads a leading `!` as bash mode, so a GitLab MR opens as `MR !2376 (…)`, not `!2376 (…)`. No greeting, no \"you\", no list.\nNames exact: numbers, shas, paths. Nothing the next session can find faster itself (the diff, the\ncommit list).\n\nExample: `PR #146 (#130 notifications: the bell, the list and its desktop panel, seen per subject)\nmerged as 5fd98a4 on main; next is #132 (reply notifications, the organisers' hourly email), which\nmust keep notifications rows to ids and counts because the owner role reads them — read\n.claude\u002Fplans\u002F130-notifications.md first.`\n\n## Steps\n\n1. Bring the plan file up to date first: it is what the next session reads.\n2. Write the sentence, and nothing else, with the Write tool to `~\u002F.claude\u002Fhandover.md` (overwrite\n   it). The handover mod files it under `~\u002F.claude\u002Fhandovers\u002F\u003Csession id>.md`, one per session, so\n   parallel sessions never overwrite each other. It shows a band above the prompt (`\u002Fhandover-copy`\n   copies it), and after `\u002Fclear` this session's sentence waits in the prompt (Tab takes it). A new\n   terminal lists the repo's open sentences instead (the folder's, outside a repo); `\u002Fhandover N` puts one in the prompt, and\n   `\u002Fhandover drop N` removes one. A sentence sent in a prompt, by Tab or pasted, leaves the list.\n3. In chat, show it as a quote under \"Handover for a new session:\", and again in a fenced code\n   block: the band and Tab live only in the terminal, and the block's copy button is how the web and\n   phone clients take it. Then say in one line what is left to clean up (a local branch, a\n   worktree) and ask before deleting any of it.\n\n## \"Handover N\" from the user\n\nIt is line N of the band, which you cannot see. The list is the mod's store\n(`~\u002F.claude\u002Fplugins\u002Fstore\u002Fhandover_*.json`): the entries whose `root` is this session's place,\nnewest first. A sentence's `root` is the git repo of the file the session wrote last (the plan file\nfrom step 1), else the folder the session started in; a session's place is the repo it started in,\nelse that folder. Never answer it from `~\u002F.claude\u002Fhandovers\u002F`, which holds every repo's files and can\nlag the store. When one turns out to be done, say so and suggest `\u002Fhandover drop N`.\n","# Handover\n\nOne sentence the user pastes into a fresh session after `\u002Fclear`. The session that reads it knows\nnothing else, so the sentence carries everything needed to start.\n\n## The sentence\n\n- **What landed:** the MR\u002FPR and its number, what it did in a few words, the merge commit (short\n  sha) and branch it is on.\n- **What is next:** the issue or task by number and in a few words, plus any constraint the next\n  session would otherwise get wrong (a rule from a review, a decision, an invariant).\n- **Where to start:** the plan file to read first, by repo-relative path.\n\nOne sentence, however long; semicolons and an em dash are fine. **Never start it with `!`** — the\nprompt reads a leading `!` as bash mode, so a GitLab MR opens as `MR !2376 (…)`, not `!2376 (…)`. No greeting, no \"you\", no list.\nNames exact: numbers, shas, paths. Nothing the next session can find faster itself (the diff, the\ncommit list).\n\nExample: `PR #146 (#130 notifications: the bell, the list and its desktop panel, seen per subject)\nmerged as 5fd98a4 on main; next is #132 (reply notifications, the organisers' hourly email), which\nmust keep notifications rows to ids and counts because the owner role reads them — read\n.claude\u002Fplans\u002F130-notifications.md first.`\n\n## Steps\n\n1. Bring the plan file up to date first: it is what the next session reads.\n2. Write the sentence, and nothing else, with the Write tool to `~\u002F.claude\u002Fhandover.md` (overwrite\n   it). The handover mod files it under `~\u002F.claude\u002Fhandovers\u002F\u003Csession id>.md`, one per session, so\n   parallel sessions never overwrite each other. It shows a band above the prompt (`\u002Fhandover-copy`\n   copies it), and after `\u002Fclear` this session's sentence waits in the prompt (Tab takes it). A new\n   terminal lists the repo's open sentences instead (the folder's, outside a repo); `\u002Fhandover N` puts one in the prompt, and\n   `\u002Fhandover drop N` removes one. A sentence sent in a prompt, by Tab or pasted, leaves the list.\n3. In chat, show it as a quote under \"Handover for a new session:\", and again in a fenced code\n   block: the band and Tab live only in the terminal, and the block's copy button is how the web and\n   phone clients take it. Then say in one line what is left to clean up (a local branch, a\n   worktree) and ask before deleting any of it.\n\n## \"Handover N\" from the user\n\nIt is line N of the band, which you cannot see. The list is the mod's store\n(`~\u002F.claude\u002Fplugins\u002Fstore\u002Fhandover_*.json`): the entries whose `root` is this session's place,\nnewest first. A sentence's `root` is the git repo of the file the session wrote last (the plan file\nfrom step 1), else the folder the session started in; a session's place is the repo it started in,\nelse that folder. Never answer it from `~\u002F.claude\u002Fhandovers\u002F`, which holds every repo's files and can\nlag the store. When one turns out to be done, say so and suggest `\u002Fhandover drop N`.\n",{"name":5,"description":7},"main","5e83faa78c9e2053169194246c298e4bfbd8be17","handover\u002Fskills\u002Fhandover",0,"https:\u002F\u002Fgithub.com\u002Fschreibse\u002Fclaude-code-mods","https:\u002F\u002Fgithub.com\u002Fschreibse","2026-11-02 23:08:37",{"source":8,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add schreibse\u002Fclaude-code-mods --skill handover",{"tool":37,"command":38},"bunx","bunx skills add schreibse\u002Fclaude-code-mods --skill handover",{"tool":40,"command":41},"pnpm","pnpm dlx skills add schreibse\u002Fclaude-code-mods --skill handover","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fschreibse\u002Fclaude-code-mods\u002Fblob\u002Fmain\u002Fhandover\u002Fskills\u002Fhandover\u002FSKILL.md",true,[],[46,53,58],{"skillNo":47,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":50,"categories":51,"keywords":52,"publishedAt":19},"01M7DN7C4YKV8Q3NYMDNPGV2SX","review-walk","Walk the findings of a code review one at a time, asking the user to decide each (fix, issue, skip) before anything is fixed. Use after a review has reported in this conversation (\u002Fcode-review, \u002Fcr, CodeRabbit threads, an MR's comments, a pasted review), when the user says \"walk the findings\", \"go through them one by one\" or runs \u002Freview-walk.","https:\u002F\u002Fgithub.com\u002Fschreibse\u002Fclaude-code-mods\u002Fblob\u002Fmain\u002Freview-walk\u002Fskills\u002Freview-walk\u002FSKILL.md",[],[],{"skillNo":54,"name":48,"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":55,"categories":56,"keywords":57,"publishedAt":19},"01M7DN79NSY88TBFA6F9Q5D6RD","https:\u002F\u002Fgithub.com\u002Fschreibse\u002Fclaude-code-mods\u002Fblob\u002Fmain\u002Freview-walk\u002FSKILL.md",[],[],{"skillNo":59,"name":5,"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":60,"categories":61,"keywords":62,"publishedAt":19},"01M7DN75SRP51R3HYWGNSVS7RR","https:\u002F\u002Fgithub.com\u002Fschreibse\u002Fclaude-code-mods\u002Fblob\u002Fmain\u002Fhandover\u002FSKILL.md",[],[]]