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 skills add firefly-hefeng/VESTI-SKILLS --skill vesti-handoffgit clone --depth 1 https://github.com/firefly-hefeng/VESTI-SKILLSWrote 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/firefly-hefeng/vesti-skills/vesti-handoff)<a href="https://agentmods.dev/skills/firefly-hefeng/vesti-skills/vesti-handoff"><img src="https://agentmods.dev/badge/skills/firefly-hefeng/vesti-skills/vesti-handoff/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/firefly-hefeng/vesti-skills/vesti-handoff"><img src="https://agentmods.dev/badge/skills/firefly-hefeng/vesti-skills/vesti-handoff.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00074 | $0.01227 |
| Opus 5 | $0.00037 | $0.00613 |
| Sonnet 5 | $0.00015 | $0.00245 |
| Haiku 4.5 | $0.00007 | $0.00123 |
Grade A, and why
vesti-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 12d 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 — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
VESTI Handoff V2 — 结构化工作交接(含接手先验证规则)
把当前工作压缩为下一会话/另一个 AI 可直接接手的交接文档。清单类信息(文件、命令、git 状态)从真实记录提取,不凭印象罗列;叙事类由你归纳。
V2 格式(与 VESTI-APP Relay Pack 对齐)
{
"meta": { "version": 2, "createdAt": "<ISO 8601>", "conversationCount": 1 },
"goal": "可检验的目标(一两句)",
"state": {
"completed": ["已完成事项 + 证据锚点"],
"inProgress": ["进行中事项 + 停在哪一步"],
"blocked": ["被阻塞事项 + 阻塞原因"]
},
"files": [
{ "path": "真实碰过的文件路径", "why": "为什么重要", "last_state": "目前改动状态" }
],
"decisions": [
{ "decision": "做了什么决定", "rationale": "理由 + 否决的替代方案" }
],
"failedPaths": [
{ "approach": "试过的方案", "whyFailed": "失败原因", "evidence": "上下文中的证据位置" }
],
"verification": {
"lastCommand": "最后执行的验证命令",
"lastResult": "最近一次输出",
"passed": true
},
"nextSteps": ["按优先级排序的下一步"],
"confidence": { "overall": 0.85, "lowAreas": ["低置信区域"] },
"environment": {
"gitBranch": "分支名",
"gitRemote": "远程地址",
"dirtyFiles": ["未提交文件"],
"nodeVersion": "v20.x",
"packageManager": "pnpm"
},
"handoffPrompt": "【交接说明】以下内容来自另一个 AI…(完整交接提示词)"
}
交接文档结构(Markdown 可读版本,按此顺序)
# 交接:<任务一句话>
> 另一个 AI 产出了以下工作摘要。请在已有基础上继续,避免重复劳动。
> **在采信最后的结论之前,先回到「验证」一节重新跑一遍最后一条验证命令,确认无误后再继续。**
## 目标(Goal)
做完是什么样(一两句,可检验)。
## 状态(State)
### 已完成(Completed)
- 每条带证据锚点:文件路径 / 命令输出 / 会话引用。
### 进行中(In Progress)
- 当前停在哪一步、为什么。
### 被阻塞(Blocked)
- 哪些事项因未解决的依赖而无法推进。
## 关键决策(Key Decisions)
- 选了什么 + 否决了什么 + 原因。
## 关键文件(Key Files)
| 路径 | 为什么重要 | 最后状态 |
(从工具调用/编辑记录确定性提取,禁止虚构;每条带来源)
## 失败死路(Failed Paths)
- 试过什么 → 结果如何 → 为什么放弃。(最贵、最易丢的一段,必须保留)
- 每条附带证据位置(哪个会话/消息显示了该失败)
## 验证(Verification)
- 最后执行的验证命令 + 最近一次实际结果(时间)。
- 标注通过/失败状态。接手方第一条必须重跑。
## 下一步(Next Steps)
- 每条自包含、离开本聊天也能执行;第一条 = 重跑验证。
## 置信度
- 整体 0-100% + 低置信区域(哪些部分需要接手方重点复核)。
## 环境(Environment)
- Git 分支/远程、Node/包管理版本等可重现的环境信息。
守则
- 接手先验证:无论交接方多可信,先把「验证」节最后一条命令重跑一遍——"报告说完成"不等于完成。
- 失败尝试与否决原因完整保留,不许美化成"一切顺利";每条致命
evidence指向上下文中的证据。 - 文件清单只列真实碰过的(编辑/读取/引用);不确定的条目标「待核实」。
- 阻塞项与进行中区分:因依赖未满足而无法推进的标为 blocked,正在做的标为 inProgress。
- 决策要写否决方案:不光写做了什么决定,还要写否决了哪些替代方案及原因。
- 交接文档本身落盘(如
HANDOFF.md或交给 VESTI 沉淀区),不要只存在于对话里。 - V2 JSON 格式与 VESTI-APP Relay Pack 对齐,确保机器可读。
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.
- 12d ago First seen · 102 lines · 74 tokens per session scan A 2d3fa8e529fd
vesti-handoff is a skill published in the GitHub repository firefly-hefeng/VESTI-SKILLS (190 stars, last pushed today), licensed MIT. It adds 74 tokens to every session and 1,227 once invoked, about $0.0004 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-30.
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…
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…
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…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…