/aport-handoff — Verified Work Package
A handoff is a promise. This skill makes that promise verifiable.
Every item in an APort handoff is backed by a signed APort decision.
The recipient — human or agent — can independently verify every claim.
When to use this skill
- - When passing work to another agent in a pipeline
- When completing your part of a multi-agent workflow
- When handing a feature to a human for final review
- When a sprint or milestone is complete and needs sign-off
- When onboarding a new agent to a codebase you've been working on
Prerequisites
You must have an APort passport and completed tasks with ALLOW decisions.
Tasks without verified decisions cannot be included in a verified handoff.
If you don't have a passport:
- - Web: https://aport.id
- CLI: INLINECODE0
- Agent skill: Read https://aport.id/skill and follow the instructions
Step 1 — Identify what to hand off
Ask the user or determine from context:
- - What is the scope? (PR, feature, sprint, project)
- Who is the recipient? (human, another agent, a team)
- What time window? (today, this week, this sprint)
Step 2 — Fetch verified decisions for the scope
CODEBLOCK0
Filter to decisions where allow: true within the relevant time window.
Only ALLOW decisions are included in a handoff.
DENY decisions indicate incomplete work — surface these separately as blockers.
Step 3 — Build the handoff document
CODEBLOCK1
Step 4 — Deliver the handoff
Offer to deliver the handoff document through available channels:
- - Save to a file (e.g.
handoff-[date].md) - Open a GitHub issue or PR description
- Post to Slack or Discord (with user permission)
- Send via any messaging tool available as an MCP tool
Always save a local copy regardless of delivery method.
What makes a handoff invalid
A handoff is invalid if:
- - It includes tasks without APort decisions
- It claims completion for tasks still showing DENY
- The decision_ids cannot be verified at the APort API
- The issuing agent's passport is suspended
If any of these conditions apply, surface them clearly rather than
including unverified items in the handoff.
Tone
Handoffs are functional documents. No padding.
State what was done, what wasn't done, and what the recipient needs to know.
The decision trail is the credibility — the prose is just navigation.
Links
- - Create a passport: https://aport.id (web) or
npx aport-id (CLI) or https://aport.id/skill (agent) - Your decisions: GET https://aport.io/api/verify/decisions/YOURAGENTID
- Verify a decision: GET https://aport.io/api/verify/decisions/get/DECISIONID
- Your passport: https://aport.id/passport/YOURSLUG
技能名称: aport-handoff
详细描述:
/aport-handoff — 可验证的工作交接
交接即承诺。本技能使该承诺变得可验证。
APort 交接中的每一项内容都有经过签名的 APort 决策作为支撑。
接收方——无论是人类还是智能体——都可以独立验证每一项声明。
何时使用本技能
- - 在流水线中将工作传递给另一个智能体时
- 完成你在多智能体工作流中的职责部分时
- 将某个功能交给人类进行最终审核时
- 冲刺或里程碑完成并需要签字确认时
- 让新智能体接手你一直在处理的代码库时
前提条件
你必须拥有 APort 护照,并且已完成获得 ALLOW 决策的任务。
未经验证决策的任务不能包含在可验证的交接中。
如果你没有护照:
- - 网页端: https://aport.id
- 命令行: npx aport-id
- 智能体技能: 阅读 https://aport.id/skill 并按照说明操作
步骤 1 — 确定交接内容
询问用户或根据上下文判断:
- - 范围是什么?(PR、功能、冲刺、项目)
- 接收方是谁?(人类、另一个智能体、团队)
- 时间窗口是什么?(今天、本周、本次冲刺)
步骤 2 — 获取范围内的已验证决策
GET https://aport.io/api/verify/decisions/YOURAGENTID
筛选出相关时间窗口内 allow: true 的决策。
只有 ALLOW 决策才能包含在交接中。
DENY 决策表示工作未完成——需将这些单独作为阻碍项列出。
步骤 3 — 构建交接文档
markdown
交接 — [范围] — [日期]
来自: [你的智能体名称] (aport.id/passport/YOUR_SLUG)
致: [接收方]
APort 验证: 以下所有项目均有签名决策
已完成的工作
[任务描述或标题]
摘要: [来自验证上下文]
输出类型: [代码 / 文档 / 分析 / 计划]
完成时间: [决策创建时间]
决策: [决策ID] — 在 https://aport.io/api/verify/decisions/get/[决策ID] 验证
提供的证据:
- - [标准 1]: [来自证明的证据字符串]
- [标准 2]: [来自证明的证据字符串]
[对每个已完成项目重复上述格式]
未包含的内容(未完成)
以下任务已尝试但未验证完成:
| 任务 | 最后尝试时间 | 受阻原因 |
|---|
| [描述] | [时间] | [来自拒绝决策的原因代码] |
这些任务在交接前需要处理。
接收方需要了解的信息
[上下文说明 — 依赖关系、已知问题、后续步骤、已做出的决策]
[根据接收方需求自行撰写此部分]
验证
本交接中的所有决策均由 APort 进行加密签名。
验证任何决策:
GET https://aport.io/api/verify/decisions/get/DECISION_ID
签发智能体护照:
https://aport.id/passport/YOUR_SLUG
步骤 4 — 交付交接
通过可用渠道提供交接文档:
- - 保存到文件(例如 handoff-[日期].md)
- 创建 GitHub Issue 或 PR 描述
- 发布到 Slack 或 Discord(需获得用户许可)
- 通过任何作为 MCP 工具可用的消息工具发送
无论采用何种交付方式,始终保存一份本地副本。
导致交接无效的情况
以下情况交接无效:
- - 包含没有 APort 决策的任务
- 声称已完成但任务仍显示 DENY 状态
- 决策 ID 无法在 APort API 上验证
- 签发智能体的护照已被暂停
如果出现上述任一情况,应明确说明,而不是将未验证的项目包含在交接中。
语气
交接是功能性文档。无需赘述。
说明已完成的工作、未完成的工作以及接收方需要了解的信息。
决策记录是可信度的来源——文字描述只是导航。
链接
- - 创建护照:https://aport.id(网页端)或 npx aport-id(命令行)或 https://aport.id/skill(智能体)
- 你的决策:GET https://aport.io/api/verify/decisions/YOURAGENTID
- 验证决策:GET https://aport.io/api/verify/decisions/get/DECISIONID
- 你的护照:https://aport.id/passport/YOURSLUG