Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/guihai24/openskills/handoffnpx skills add guihai24/openskills --skill handoffgit clone --depth 1 https://github.com/guihai24/openskillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/guihai24/openskills/handoff)<a href="https://agentmods.dev/skills/guihai24/openskills/handoff"><img src="https://agentmods.dev/badge/skills/guihai24/openskills/handoff.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00198 | $0.01902 |
| Opus 5 | $0.00099 | $0.00951 |
| Sonnet 5 | $0.00040 | $0.00380 |
| Haiku 4.5 | $0.00020 | $0.00190 |
Grade A, and why
handoff scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
工作交接(Handoff)
同一个项目轮流让不同 agent(Claude Code / Codex / Kimi CLI…)来做,切换时会丢上下文、 留下半成品工作区,下一棒接手容易出错。这个 skill 把"人类同事交接班"那套协议固化下来: 交出方负责把现场交代清楚、留干净工作区;接手方负责对账后再动手。
核心分工:机械、确定性的事(采集 git 状态、探测测试命令、检查工作区是否干净)交给脚本, 保证不同 agent 行为一致;需要判断的事(总结进度、规划下一步)交给你(LLM)。
何时做哪个动作
- 用户在交出(要离开 / 要换 agent / "整理进度交接")→ 走 A. 交接出去。
- 用户在接手(刚切过来 / "继续上一个 agent 的活" / "读一下进度")→ 走 B. 接手。
判断不了就直接问一句:"你是要把当前进度交接出去,还是接手上一棒的活?"
A. 交接出去(handoff)
目标产物:一份写实的 HANDOFF.md + 一个干净的工作区 + 一段可直接粘贴给下一棒的交接话术。
1. 采集客观事实(先跑脚本,别凭记忆)
bash <skill-dir>/scripts/handoff.sh
脚本会给出:当前分支、工作区是否干净、改动统计、最近 commit、疑似敏感文件、探测到的测试命令。 先读它的输出,再写总结。 你对"做了什么"的记忆可能漏或错,git 才是真相——拿脚本输出对账。
2. 写 HANDOFF.md
用 references/HANDOFF_TEMPLATE.md 的结构,写到项目根目录的 HANDOFF.md。
关键是"进行中"和"下一步"要具体到文件:行 + 思路 + 卡在哪 + 验证标准——
让接手方不用猜就能继续,而不是"继续做认证功能"这种空话。
测试状态据脚本探测如实填:跑过且通过就写命令和结果;没跑或探测不到就写"未知/需人工", 不要假装测试通过。
3. 提议 commit,等用户确认(不要自动提交)
把改动按逻辑分组,给出原子 commit 方案(每个 commit 一件事,conventional 风格的 message), 列给用户看,等确认后再执行。这一步绝不自动跑——闷头 commit 可能把半成品或凭证提进去。
铁律:脚本"疑似敏感文件"里命中的(*.local.*、.env*、密钥证书等)绝不进交接 commit。
在 HANDOFF.md 里标注它们存在但不提交。
确认后按方案提交。该忽略的提醒用户加进 .gitignore。
4. 自检并报告
再跑一次 git status,确认工作区真的干净(除了刻意保留、且已在 HANDOFF.md 标注的本地文件)。
向用户报告:交接单写好了、提交了哪几个 commit、工作区状态、测试状态。
有没做完或不确定的,明说,别粉饰。
5. 产出可粘贴的「交接话术」给用户(默认主动给,别等用户开口)
报告完,主动附一段可直接整段复制、粘贴给下一棒 agent(Codex / Kimi…)的简短话术。
用户通常是手动把任务转交出去的:HANDOFF.md 是交接载体,这段话术是"点醒下一棒去读它、
并知道第一步干什么"的钥匙——没有它,用户就得自己再写一遍。漏给这段=交接没做完。
话术要素(精炼几句,用代码块包住方便整段复制):
- 项目路径 + 分支;第一句就让它读
HANDOFF.md全文(+ 必要时DESIGN.md/CLAUDE.md)再动手,并跑pickup.sh对账。 - 一句话交代当前状态(已完成 / 待推进)。
- 点明接手后第一步做什么;若有悬而未决、需先和用户确认的,写明"先别埋头改,先给方案等拍板"。
- 关键约束(交流语言、设计系统、测试 / 部署方式…)一句带过,细节让它去 HANDOFF.md 看。
- 末尾要求它先复述理解 + 说清第一步,再开干(呼应 B 的接手纪律)。
B. 接手(pickup)
目标:在动手前确认"交接单说的"和"仓库真实状态"一致,把上下文真正装进来。
1. 读交接单 + 对账
bash <skill-dir>/scripts/pickup.sh
脚本会打印 HANDOFF.md 全文,并把当前工作区状态、最近 commit 摆出来供核对。
2. 核对一致性
- 交接单说"工作区干净",脚本却显示 DIRTY?→ 上一棒没交接干净,先向用户指出,别假装没看见。
- 交接单提到的 commit hash 在
git log里找得到吗?找不到说明分支/状态对不上,先澄清。 - 标注"不提交"的敏感文件还在且未被误提交吗?
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 127 lines · 198 tokens per session scan A 6d99b129456f
handoff is a skill published in the GitHub repository guihai24/openskills (2 stars, last pushed 4d ago), licensed MIT. It adds 198 tokens to every session and 1,902 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…