mcpField
H
handoff

handoff

github.com/csark0812Agent 工作流062 次安装1 天前更新
代码仓库

关于 handoff

Handoff 是用于在不同会话间传递上下文的 Agent 技能,支持 prompt 和 artifact 两种渠道。它规范精简且带引用的交接、如实报告进度,以及在不同客户端接口中的敏感信息处理。

主要功能

  1. 01选择 prompt 或 artifact 渠道
  2. 02传递引用而非完整内容
  3. 03区分已完成、进行中和受阻事项
  4. 04遮盖秘密信息和个人数据
  5. 05按客户端接口映射交接方式

适用场景

  1. 01在新聊天中继续工作
  2. 02通过 artifact 传递模型发起的上下文
  3. 03不使用完整上下文包传递审查状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/csark0812/toolbox --skill handoff

安装后在 Claude Code 中输入/handoff确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
handoff-subagent-dispatch.md
output.md
pack.md
research-basis.md

详细介绍

交接

Orchestrator — 跨会话 A2A(channel:prompt 与 channel:artifact)。共享术语 → process-skill-composition.md。

参考:pack.md · output.md · handoff-subagent-dispatch.md

校准声明时,请阅读 research-basis.md。

入口门槛

  • 目标是新聊天——不在范围内的是无转移的同会话续接。
  • 已选择通道——prompt(用户)或 artifact(由模型调用)。

不可妥协的要求

  1. 提供指针,而非正文——路径、URL、SHA。绝不在交接中粘贴计划、PRD 或差异。
  2. 如实说明状态——已完成、进行中或已损坏。声称取得进展时,附上提交或测试作为依据。
  3. 写入或粘贴前,删去机密、令牌和 PII。
  4. 通道为 prompt——用户执行 /handoff → 不写入磁盘(禁止使用 _agent/handoffs/)。
  5. 通道为 artifact——由模型调用 → 必须由子 Agent 写入。由协调器优先写入属于违规行为。

工作流

  1. 选择通道、信息包和目标——使用 pack.md 中最接近的条目。这些值仅控制内容生成。
  2. 收集——从对话线程中提取最少量的要点。省略空类别。
  3. 交付——
    • channel:prompt → 按照 output.md 提供用清晰英语编写的接收提示词,并置于代码围栏中
    • channel:artifact → 按照 handoff-subagent-dispatch.md 操作 → 仅粘贴存根

执行接口映射

当请求中提到“通过 X 客户端进行交接”时,使用此映射。

  1. 根据发起方意图选择通道:
    • prompt 用于面向用户的交接(/handoff)
    • artifact 用于模型调用的上下文压力续接
  2. 根据 pack、goal 和线程声明构建一个规范负载。
  3. 路由至客户端接口:
    • prompt:输出接收提示词代码块,并将其交给下一次聊天启动时使用。
    • artifact:写入 <workspace>/_agent/handoffs/<filename>.md,然后仅输出读取存根。
  4. 按客户端专属规则验证输出。
跨客户端默认行为
界面传输规则生成方操作必需的接收产物
Codex由聊天线程控制用户移交时使用 channel:prompt,模型调用时使用 channel:artifactchannel:prompt 块或移交产物路径
Cursor对话续接除非明确提供产物钩子,否则将 channel:prompt 发送到新聊天提示词块
Claude Code聊天续接将 channel:prompt 发送到新聊天;如果存在客户端专属任务 API,则将该块作为首条用户消息传递提示词块
Claude API / GPT-like interface聊天续接必须使用 channel:prompt;将字段映射到用户可见的移交消息提示词块
ChatGPT UI / web chat聊天续接使用 channel:prompt,并将 Open workspace 作为目标首行提示词块
GitHub Copilot ChatIDE 续接仅使用 channel:prompt;除非本地宿主提供移交写入功能,否则不使用共享产物路径提示词块
通用 MCP / 自定义客户端特定于 API映射到规范载荷字段;如果不支持产物,则降级为提示词提示词块(或受支持时使用产物路径)

当界面不提供产物 API 时,始终回退到 channel:prompt。

Codex API 分支

在请求明确指定使用 Codex API 执行时使用此分支。

  1. 根据计划声明构建 channel:prompt 载荷。
  2. 优先采用以下方式之一:
    • 如果编排流程由用户驱动,则使用提示词载荷开启新聊天。
    • 使用 create_thread 创建新的 Codex 任务,然后通过 send_message_to_thread 发送提示词块以初始化移交。
  3. 对于 channel:artifact,通过编排流程调用带有 channel:artifact 的 handoff,启动子 Agent 写入路径,然后仅输出指向 <workspace>/_agent/handoffs/<filename>.md 的存根。

避免伪造不受支持的 Codex 工具调用。如果所需 API 不可用,请记录回退到 channel:prompt 的方案。

高使用量界面说明
  • 对于同时提供 UI 和 API 模式的客户端,请在自己的编排中明确说明所用模式。
  • 如果客户端提供结构化对话 API,请保留相同字段,并仅将其映射到初始消息载荷中。
  • 对于 IDE 原生聊天客户端,优先使用带有明确工作区的提示词模式。
界面执行边界
  • 不要将任何一种聊天技术栈的控制 API 硬编码为唯一受支持的路径。
  • 不要在接收内容中包含 channel 和 pack。
  • 对任何界面都不要跳过脱敏规则。
  • 对于 channel:artifact,不要由协调器写入移交文件;需要时应启动或协调子 Agent 路径。

如果下一会话只需要审查状态,请使用使用方叠加块,而不是 Pack: full。

使用方绑定

读取技能时会追加项目专属的注入上下文。

评论

支持 Markdown