Community编程与开发github.com

earmark

通过 earmark CLI 在本地事务板上协作的 AI 智能体团队工具。支持 Worker、Reviewer 和 PM 三种角色,分配任务、追踪变更、审核移交,并管理待办事项。

earmark 是什么?

earmark 是一个用于多智能体团队协作的本地事务板管理工具,通过 `earmark` CLI 和 `.earmark/` 目录实现高效任务分配。智能体无需直接通信,所有工作、依赖关系和移交通过事务板完成。它支持三种角色:Worker(领取并完成问题)、Reviewer(审核移交)、PM(分类和分配待办)。Worker 可以发出依赖(`need`)、冻结问题(`blocked`)、移交审核(`review`);Reviewer 可以批准或驳回(`approve`/`reject`);PM 进行分类(`triage`)、编辑问题、分配(`assign`)和排序(`rank`)。工具输出纯文本,适合智能体阅读,错误时提供 `hint:` 和退出码。该技能适用于 Cursor、Claude Code、Codex 等主流 AI 编码工具,提升多智能体协作效率,避免重复工作和沟通开销。

兼容平台✓Claude Code✓Codex CLI✓Cursor✓Antigravity✓OpenCode
npx skills add https://github.com/hec-ovi/earmark-skill/tree/HEAD

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

earmark 是做什么的?

项目中的智能体共享一个位于 .earmark/ 内的问题板,仅通过 earmark CLI 访问。智能体之间从不互相发送消息:工作、依赖关系和移交都记录在板上。输出为适合智能体阅读的纯文本;错误会打印 error: 和 hint: 以指导下一步操作。

开始

  1. earmark info。若命令未找到:请使用此文件旁边的 earmark 启动器。如果仍未找到:让用户运行 uv tool install git+https://github.com/hec-ovi/earmark-skill。切勿自行安装。
  2. earmark join <profile> --cli <claude-code|codex|grok|agy|opencode>,使用用户指定的配置文件,否则使用 worker。启动信息会打印你的句柄、角色提示、作用域和循环:请遵循它们。若出现 no board,仅当用户要求时才运行 earmark init。
  3. 在之后每条命令中传递 --as <handle>;每次 shell 调用都是全新的。如果丢失了句柄:执行 earmark team。

仅在有变更时消耗 Token

需求命令
开始工作:认领问题及其未读评论earmark next
查看你的变更,每个问题一行earmark check
查看某些字段或部分,可同时查看多个问题earmark show KEY [KEY…] -f status,title · -f comments --new · -f attachments
文件(图片、音频、日志)earmark attachments KEY,然后使用你自己的工具打开打印的路径
某个区域(不常用)earmark topics PATH --depth 2 · earmark ls -t PATH --ready

当命令以 · N changes for you 结束时,运行 earmark check,并在处理问题间隙运行。切勿列出整个板,切勿重新阅读你已经看到的内容,只阅读你的问题中指向的代码。

Worker 循环

  1. earmark next 认领你最好的待办问题并打印它及其未读评论。退出码 4:转到第 6 步。
  2. 独自处理该问题。若处理时间较长,每 30 到 60 分钟执行 earmark comment KEY "<done, next>" --kind progress:它会续租你的占位(默认 120 分钟);静默占位会过期并被他人认领。
  3. 需要只有其他专家才能制造的东西(图片、音频、文案): earmark need KEY "<what, format, where it goes>" -t <topic> [--assign <handle>]。KEY 被暂停,当该问题完成后返回你的 next;转到第 1 步。 需要决策:earmark comment KEY "<question>" --kind question 并使用 @<handle>;继续处理你可做的部分。被板外因素阻塞:earmark move KEY blocked -m "<what>"。
  4. 完成:先交付物(earmark attach KEY FILE…),然后 earmark review KEY -m "<what changed> · <files> · <how to verify>" --next:它会移交并在同一次调用中认领你的下一个问题。退出码 4:转到第 6 步。
  5. 恢复的问题显示 blocked by: KEY2 (done):通过 earmark show KEY2 -f comments,attachments --last 3 获取其结果。
  6. earmark next --review 认领他人(而非你的)移交;如下进行审核。
  7. 仍然退出码 4:earmark check 并处理需要你注意的事项(问题、驳回)。
  8. 没有更多工作:earmark leave,然后用三行汇报:已完成、审核中、打开或阻塞。 仅当被告知要继续值守时:earmark wait --timeout 9m(允许 10 分钟),然后转到第 1 步。

Reviewer 循环

  1. earmark next --review 认领下一个移交并打印它及 handoff 备注。退出码 4:执行 Worker 的第 7 和 8 步。
  2. 精确验证备注所声称的内容:运行其测试或步骤,读取每个变更过的文件。
  3. 通过:earmark approve KEY -m "<what you checked>" --next。失败: earmark reject KEY -m "<each defect: file:line, expected, actual>" --next;问题会返回给同一个 Worker。切勿自行修复。第三次驳回会将问题搁置给 PM 或所有者。

PM 循环

  1. earmark triage:未分类的积压、未分配的待办、过期的占位、审核队列、阻塞、超期、审查耗尽、空闲智能体。自上而下处理。
  2. 整理:earmark edit KEY -t <topic> -p <priority> --type <type>,然后 earmark move KEY todo。重复:earmark link KEY duplicates KEY2,然后 earmark cancel KEY -m "duplicate of KEY2"。
  3. 按范围分配:earmark assign KEY <handle> 给配置文件和 CLI 匹配该工作的智能体。过期占位:earmark move KEY todo -m "<why>",然后重新分配。
  4. 审查耗尽:澄清问题,然后重新分配、拆分为多个问题(earmark new "<title>" --parent KEY)或取消。使用 earmark rank KEY --top 或 --before KEY2 排定队列顺序。
  5. 分类完成:earmark leave 并附三行摘要,或按照 Worker 第 8 步进行等待。

退出码

编码含义操作
1无效请求、身份、权限读取 hint: 并修正命令一次
2未找到检查键或主题;错误会列出相似项
3冲突:他人持有它,或版本已变使用 earmark next 认领其他问题,或使用 show 并重做
4空:没有可认领的,或等待超时执行循环的下一步
5忙:板一直被锁定几秒后重试相同命令

规则

  • 一次只认领一个问题。要放弃一个:earmark release KEY -m "<why>"。
  • 评论用于告知;不是聊天。只回答针对你的问题一次。切勿发布确认或感谢。两次交流后仍未达成一致:交给 PM 或所有者处理。
  • 评论简短具体:变更了什么、路径、ID(#1190)。不要转储日志,改为附加。
  • 发现超出范围的问题:earmark new "<title>" -b "<evidence>" -t <topic>;切勿顺带修复。
  • 切勿编辑他人持有的问题的代码、字段或状态;而是添加评论。
  • 仅通过 earmark 操作板,切勿直接操作 .earmark/。

参考:commands.md(每个命令、标志和输出格式)· workflow.md(状态、占位、next 顺序、审查流程、游标)。

相关技能