earmark 是做什么的?
项目中的智能体共享一个位于 .earmark/ 内的问题板,仅通过 earmark CLI 访问。智能体之间从不互相发送消息:工作、依赖关系和移交都记录在板上。输出为适合智能体阅读的纯文本;错误会打印 error: 和 hint: 以指导下一步操作。
开始
earmark info。若命令未找到:请使用此文件旁边的earmark启动器。如果仍未找到:让用户运行uv tool install git+https://github.com/hec-ovi/earmark-skill。切勿自行安装。earmark join <profile> --cli <claude-code|codex|grok|agy|opencode>,使用用户指定的配置文件,否则使用worker。启动信息会打印你的句柄、角色提示、作用域和循环:请遵循它们。若出现no board,仅当用户要求时才运行earmark init。- 在之后每条命令中传递
--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 循环
earmark next认领你最好的待办问题并打印它及其未读评论。退出码 4:转到第 6 步。- 独自处理该问题。若处理时间较长,每 30 到 60 分钟执行
earmark comment KEY "<done, next>" --kind progress:它会续租你的占位(默认 120 分钟);静默占位会过期并被他人认领。 - 需要只有其他专家才能制造的东西(图片、音频、文案):
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>"。 - 完成:先交付物(
earmark attach KEY FILE…),然后earmark review KEY -m "<what changed> · <files> · <how to verify>" --next:它会移交并在同一次调用中认领你的下一个问题。退出码 4:转到第 6 步。 - 恢复的问题显示
blocked by: KEY2 (done):通过earmark show KEY2 -f comments,attachments --last 3获取其结果。 earmark next --review认领他人(而非你的)移交;如下进行审核。- 仍然退出码 4:
earmark check并处理需要你注意的事项(问题、驳回)。 - 没有更多工作:
earmark leave,然后用三行汇报:已完成、审核中、打开或阻塞。 仅当被告知要继续值守时:earmark wait --timeout 9m(允许 10 分钟),然后转到第 1 步。
Reviewer 循环
earmark next --review认领下一个移交并打印它及handoff备注。退出码 4:执行 Worker 的第 7 和 8 步。- 精确验证备注所声称的内容:运行其测试或步骤,读取每个变更过的文件。
- 通过:
earmark approve KEY -m "<what you checked>" --next。失败:earmark reject KEY -m "<each defect: file:line, expected, actual>" --next;问题会返回给同一个 Worker。切勿自行修复。第三次驳回会将问题搁置给 PM 或所有者。
PM 循环
earmark triage:未分类的积压、未分配的待办、过期的占位、审核队列、阻塞、超期、审查耗尽、空闲智能体。自上而下处理。- 整理:
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"。 - 按范围分配:
earmark assign KEY <handle>给配置文件和 CLI 匹配该工作的智能体。过期占位:earmark move KEY todo -m "<why>",然后重新分配。 - 审查耗尽:澄清问题,然后重新分配、拆分为多个问题(
earmark new "<title>" --parent KEY)或取消。使用earmark rank KEY --top或--before KEY2排定队列顺序。 - 分类完成:
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 顺序、审查流程、游标)。