Install
$ agentstack add skill-xinyiai0724-tools-handover-cr ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Skill: handover-cr
类型: 远端同步 Skill(sync/ 组,跨阶段通用) 调用时机: 需要将在途 CR 转交给另一成员时
用途
将在途 CR 的某个角色负责人从当前 owner 正式移交给新 owner。流程:先执行 push-progress 确保远端已是最新状态,再更新 cr.md 和 _backlog.yml 中的 owners.{role}.id 与 owners.{role}.assigned-at,追加 owner-history / handover-history,最后通过 inbox-emit 向新 owner 发送接手通知。
参数
| 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | cr_id | string | ✅ | 目标 CR-ID | | owner_role | enum | ✅ | 移交角色:requirement / development / test | | new_owner | string | ✅ | 接手人标识(用户名/邮箱) | | note | string | 否 | 移交说明,写入 handover-history 和 inbox 消息 | | skip_push | boolean | 否 | 跳过 push-progress(已确认远端最新时可设为 true),默认 false |
执行步骤
Step 1 — 前置校验
- 读取
change-requests/{cr_id}/cr.md,确认 CR 处于在途状态(非archived/rejected/withdrawn) - 确认
owner_role为requirement/development/test - 确认当前调用者为当前角色 owner 或具备管理员权限(防止无权移交)
Step 2 — 推送最新进度(除非 skip_push=true)
委托 push-progress skill(内部已通过受控 shell 执行 git push,详见 skills/shared/controlled-shell/SKILL.md):
push-progress(cr_id={cr_id})
若 push-progress 返回 SHELL_UNAVAILABLE 结构化错误,停止执行本 skill 并原样回传错误;禁止降级为「请手工运行 git push」文本。
确保移交时远端已是最新,新 owner 可直接 resume-from-remote 接手。
Step 3 — 更新 cr.md
在 change-requests/{cr_id}/cr.md 中:
- 将
owners.{owner_role}.id更新为new_owner - 将
owners.{owner_role}.assigned-at更新为当前时间戳 - 若
owner_role=requirement,同步更新顶层兼容字段owner={new_owner} - 在
owner-history与handover-history列表追加:
- role: "{owner_role}"
from: "{current-owner}"
to: "{new_owner}"
at: "{YYYY-MM-DDTHH:mm:ss+08:00}"
note: "{note}"
Step 4 — 更新 _backlog.yml
在 change-requests/_backlog.yml 对应 CR 条目更新 owners.{owner_role}.id、owners.{owner_role}.assigned-at;若 owner_role=requirement,同步更新顶层兼容字段 owner: {new_owner}。
Step 5 — 发送 inbox 通知
调用 inbox-emit:
inbox-emit(
to: new_owner,
subject: "CR {owner_role} owner 移交:{cr_id} — {cr_title}",
body: "你已接手 {cr_id} 的 {owner_role} 责任,当前状态:{status}。\n移交说明:{note}\n\n接手命令:resume-from-remote {cr_id}"
)
Step 6 — 输出摘要
✅ CR 移交完成
CR : {cr_id}
角色 : {owner_role}
原 owner : {old-owner}
新 owner : {new_owner}
远端分支 : origin/requirement/{cr_id}(已推送最新)
inbox 通知 : ✅ 已发送给 {new_owner}
新 owner 接手命令:
resume-from-remote {cr_id}
错误处理
| 错误 | 处理 | |------|------| | CR 已是终态(archived 等) | 停止执行,提示 CR 已关闭 | | push-progress 失败 | 停止执行,原样回传结构化错误;禁止输出「请在终端运行」提示 | | inbox-emit 不可用 | 跳过通知,输出警告,其余步骤正常完成 | | new_owner 与当前角色 owner 相同 | 输出警告跳过(幂等处理) |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: xinyiai0724
- Source: xinyiai0724/tools
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.