[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MP6ENDY2875PBBSVW10WF":3,"skill-same:01M71MP6ENDY2875PBBSVW10WF":68},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":14,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":47,"updatedAt":48,"install":49,"resources":61},"01M71MP6ENDY2875PBBSVW10WF","handoff",null,"Prepare a durable, concise transfer to a fresh context with current records, decision authority, evidence, and the next action.","bbishdotdev\u002Fai-tools","bbishdotdev","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5323528?v=4","01M71MHYW2Q0DVZA22Q79M8KER","Brenden Bishop","01M71MHYWSMQWFPGA8CBJYQANH",0,"MIT","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fshared\u002Fskills\u002Fhandoff\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"with","fresh","evidence","concise","next","records","decision","attribution","action","true","authority","prepare","transfer","context","2026-11-10 10:56:23",false,"---\nname: handoff\ndescription: Prepare a durable, concise transfer to a fresh context with current records, decision authority, evidence, and the next action.\ndisable-model-invocation: true\nmetadata:\n  author: Brenden Bishop\n  attribution: ..\u002F..\u002F..\u002FATTRIBUTION.md\n---\n\n# Handoff\n\nPrepare the next session to continue the work, using the user's stated next phase when supplied. Read [workspace access](..\u002F..\u002Freferences\u002Fworkspace.md) and [decision authority](..\u002F..\u002Freferences\u002Fdecision-authority.md). Write `artifacts\u002Fhandoffs\u002F\u003Ctopic>-\u003Cunique-session>.md` beneath the owning private workspace. Do not rely on an OS temporary directory for a resumable handoff.\n\nInclude only what the receiver needs:\n\n- Goal, active phase, next action, and explicit exclusions.\n- Decision owner and exact scope of any delegation, with its grant\u002Fconfirmation reference. Separate planning permission from implementation or external-delivery permission.\n- Owning workspace, project\u002Fworktree and branch, relevant commit or dirty-work description, record IDs and read revisions, and accepted spec\u002Fanswer versions. Identify planning and ticket providers separately.\n- Usable selected prototype, launch command, preservation requests, and other artifact references. Keep the selected target available until the receiver can use it.\n- Checked evidence, unresolved risks, waits, blockers, and what was only reported or remains unverified.\n- The governing router and needed skill paths, plus the proposed model role if configured. Paths and record IDs are the durable pointers; native session IDs are optional locators.\n\nReference specs, applicable ADR IDs and paths, commits, diffs, and research instead of repeating their bodies. Name any unresolved proposed departure from an ADR; the receiver checks its current status using the shared [decision process](..\u002F..\u002Freferences\u002Farchitecture-decisions.md). Exclude credentials, claim tokens, secrets, and unnecessary personal data. Finish with a short startup instruction naming the immediate action and source records to reread.\n\nA prototype-to-production transition requires a fresh context. Other substantial phase changes benefit from one; avoid restarting a small ongoing step merely because the skill name changes. Write the handoff before launching or relinquishing the current context. Release the current claim when pausing or transferring ownership; the receiver must acquire its own.\n\nUse native fresh-session and model selection only when supported and authorized. Verify configured model availability; do not guess a substitute. If launch is unavailable, return the handoff path and the exact action the user must take to start a fresh session and read it. That is a prepared handoff, not a completed transfer. Explicit unattended work requiring automatic launch must report that capability gap in preflight, before starting the dependent workflow.\n\nThe receiver reads the governing skills and current records, compares revisions\u002Fsources and authority, checks blockers, then acquires its own claim. Stale records trigger reconciliation before work resumes. A handoff is a guide to authoritative records, not permission to ignore newer decisions.\n","# Handoff\n\nPrepare the next session to continue the work, using the user's stated next phase when supplied. Read [workspace access](..\u002F..\u002Freferences\u002Fworkspace.md) and [decision authority](..\u002F..\u002Freferences\u002Fdecision-authority.md). Write `artifacts\u002Fhandoffs\u002F\u003Ctopic>-\u003Cunique-session>.md` beneath the owning private workspace. Do not rely on an OS temporary directory for a resumable handoff.\n\nInclude only what the receiver needs:\n\n- Goal, active phase, next action, and explicit exclusions.\n- Decision owner and exact scope of any delegation, with its grant\u002Fconfirmation reference. Separate planning permission from implementation or external-delivery permission.\n- Owning workspace, project\u002Fworktree and branch, relevant commit or dirty-work description, record IDs and read revisions, and accepted spec\u002Fanswer versions. Identify planning and ticket providers separately.\n- Usable selected prototype, launch command, preservation requests, and other artifact references. Keep the selected target available until the receiver can use it.\n- Checked evidence, unresolved risks, waits, blockers, and what was only reported or remains unverified.\n- The governing router and needed skill paths, plus the proposed model role if configured. Paths and record IDs are the durable pointers; native session IDs are optional locators.\n\nReference specs, applicable ADR IDs and paths, commits, diffs, and research instead of repeating their bodies. Name any unresolved proposed departure from an ADR; the receiver checks its current status using the shared [decision process](..\u002F..\u002Freferences\u002Farchitecture-decisions.md). Exclude credentials, claim tokens, secrets, and unnecessary personal data. Finish with a short startup instruction naming the immediate action and source records to reread.\n\nA prototype-to-production transition requires a fresh context. Other substantial phase changes benefit from one; avoid restarting a small ongoing step merely because the skill name changes. Write the handoff before launching or relinquishing the current context. Release the current claim when pausing or transferring ownership; the receiver must acquire its own.\n\nUse native fresh-session and model selection only when supported and authorized. Verify configured model availability; do not guess a substitute. If launch is unavailable, return the handoff path and the exact action the user must take to start a fresh session and read it. That is a prepared handoff, not a completed transfer. Explicit unattended work requiring automatic launch must report that capability gap in preflight, before starting the dependent workflow.\n\nThe receiver reads the governing skills and current records, compares revisions\u002Fsources and authority, checks blockers, then acquires its own claim. Stale records trigger reconciliation before work resumes. A handoff is a guide to authoritative records, not permission to ignore newer decisions.\n",{"name":5,"metadata":38,"description":7,"disable-model-invocation":40},{"author":12,"attribution":39},"..\u002F..\u002F..\u002FATTRIBUTION.md",true,"main","e7c8126d1ad4df934236dba12521dcbe7fcd9d74","bstack\u002Fshared\u002Fskills\u002Fhandoff","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools","https:\u002F\u002Fgithub.com\u002Fbbishdotdev","bbish.dev","Husband | Father | Technologist\r\nEngineering leader helping product and delivery teams use AI to build better systems, habits, and tools.","2026-11-11 04:49:25",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":40},[51,54,57],{"tool":52,"command":53},"npx","npx skills add bbishdotdev\u002Fai-tools --skill handoff",{"tool":55,"command":56},"bunx","bunx skills add bbishdotdev\u002Fai-tools --skill handoff",{"tool":58,"command":59},"pnpm","pnpm dlx skills add bbishdotdev\u002Fai-tools --skill handoff","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fshared\u002Fskills\u002Fhandoff\u002FSKILL.md",[62],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"agents\u002Fopenai.yaml","REFERENCE","参考文档",43,"https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fshared\u002Fskills\u002Fhandoff\u002Fagents\u002Fopenai.yaml",[69,100,111,127,160,183],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":80,"publishedAt":33},"01M71MT5NBY3RY660EA06K9CA1","why","Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Fwhy\u002FSKILL.md",[75],{"categoryNo":76,"categoryName":77,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[71,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],"how","parallel","observability","warehouse","returns","infrastructure","source","analytics","data","issue","read","tracker","product","work","design","product analytics","time","error tracking","error",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":33},"01M71MT4CFF7AK4TRV40P7ZZ30","unslop","Cut AI tells from any writing. Must always apply.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Funslop\u002FSKILL.md",[],[102,107,28,108,109,110],"cut","ai tells","apply","writing",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":33},"01M71MT37W015EGE0EB82JQYAM","typescript-best-practices","TypeScript best practices. Use when reading or editing any .ts or .tsx file.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Ftypescript-best-practices\u002FSKILL.md",[],[118,119,120,121,122,123,124,125,28,126],"typescript","typescript best practices","best practices","use","tsx","when","editing","file","reading",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":144,"publishedAt":33},"01M71MT1092N34HQMGECW170JP","technical-writing","Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for \u002Ftechnical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Ftechnical-writing\u002FSKILL.md",[133,138,141],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":139,"categoryName":140,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":142,"categoryName":143,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000036","内容创作者",[145,110,146,147,148,149,150,151,152,153,123,154,155,121,28,156,129,157,158,159],"technical","technical writing","commit messages","google","syntax","style","structure","layered","english","commit","Rules","messages","for","pr","standard",{"skillNo":161,"name":162,"nameZh":6,"description":163,"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":169,"publishedAt":33},"01M71MSYRMT7KZPQFY7A2ZHGMB","teach","Explain a body of work plainly so a person actually understands it. Runs the `how` and `why` skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Fteach\u002FSKILL.md",[166],{"categoryNo":167,"categoryName":168,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000039","教师与教育",[162,157,81,170,171,172,94,173,174,175,176,177,121,178,179,28,180,181,71,182],"me","explanation","change","help","one","it","explain","body","teach me","understand","clear","person","find",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":33},"01M71MSWTVAEVMZAG7SMWFE1FE","tdd","Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Ftdd\u002FSKILL.md",[],[185,121,190,191,192,123,193,28,194,195,196,197,198,157,199,200],"path","user","regression test","only","local","failing","bug","integration","regression","target","test"]