mcpField
S
shunk031-herdr-tab-status

shunk031-herdr-tab-status

github.com/shunk031Agent 工作流073 次安装5 天前更新
代码仓库

关于 shunk031-herdr-tab-status

Herdr Tab Status 是一项用于管理 Herdr 标签页状态的技能,供 worker 标记当前任务进度。它规定状态标签,并验证重命名是否作用于当前窗格对应的标签页。

主要功能

  1. 01设置任务进度状态标签
  2. 02解析当前窗格的标签页 ID
  3. 03验证标签页重命名结果
  4. 04区分编排者与 worker 标签
  5. 05说明受阻状态及原因

适用场景

  1. 01显示 worker 正在推进还是受阻
  2. 02窗格移动后确认重命名了正确标签页

安装

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

$npx skills add https://github.com/shunk031/skills --skill shunk031-herdr-tab-status

安装后在 Claude Code 中输入/shunk031-herdr-tab-status确认已加载。

附带文件agents/openai.yaml

详细介绍

说明

阅读此 SKILL.md 后,请说:🚦 I read shunk031-herdr-tab-status.

Herdr 标签页状态

工作者负责管理自己的当前标签页,并遵循 herdr 技能,在进度状态发生变化时重命名标签页,包括进入或退出重试时。开头的表情符号是主要状态标识,因为任务标签可能会被截断。状态只放在标签页标签中;工作区和工作树标签不要使用表情符号。

每次重命名自己的标签页之前,都要从当前窗格解析其 ID。窗格移动后,可能仍保留过时的继承值 HERDR_TAB_ID;herdr pane current --current 返回的实时 ID 位于 .result.pane.tab_id。重命名该标签页,并验证 Herdr 返回的标签页 ID 和标签内容均与预期一致:

label="🚧 <current step>"
rename_result=""
tab_id="$(herdr pane current --current | jq -er '.result.pane.tab_id')" &&
    rename_result="$(herdr tab rename "$tab_id" "$label")" &&
    printf '%s\n' "$rename_result" |
    jq -e --arg tab_id "$tab_id" --arg label "$label" \
        '.result.tab | .tab_id == $tab_id and .label == $label' >/dev/null ||
    { printf 'tab rename not verified: %s\n' "${rename_result:-no response}" >&2; false; }

如果退出码非零,说明标签内容没有设置到你的标签页上。不要声称已设置。

🚧、✅ 和 ⛔ 仅用于工作者标签页。当前 Agent 是协调者时,请根据 shunk031-herdr-orchestrate-workers 保留或设置 🤖 Orchestrator;分派工作时,切勿将其替换为工作者状态。

只能使用以下状态:

  • 🚧 <current step> 表示工作正在积极推进,包括正在进行的重试或诊断。
  • ⛔ <next action> 表示工作者无法继续推进或结束:正在等待答复、审查、批准或合并;受到外部依赖阻碍;或者已停止/被取代,等待交接或清理。
  • ✅ <task> <PR number> 表示工作者的工作和必要交接均已完成,没有剩余操作。

已发布但仍未关闭、且报告为 DONE 的 PR,如果审查或合并只能由用户完成,仍属于受阻状态;在该操作完成前,工作者应继续使用 ⛔ 下一步操作标签。只有在没有剩余操作时,才使用完成状态。工作者负责重命名自己的标签页。仅当工作者无响应或已失效时,协调者才可以使用其 pane move 返回的目标标签页 ID 设置受阻标签;pane current --current 解析的是协调者自己的标签页,因此无法识别工作者标签页以进行重命名。正常工作期间,协调者不得更改其他仍在工作的工作者的标签页。完成标签始终包含简明任务和 PR 编号,绝不能使用笼统的 DONE。

被要求选择标签时,第一行写出标签原文,然后再解释。

报告 BLOCKED 之前,必须在一个受保护的序列中执行重命名并报告。只有在 Herdr 返回所请求的标签页 ID 和标签内容后,才发送常规 BLOCKED 报告。失败时,应报告重命名未经验证:

label="⛔ <next action>"
report="BLOCKED <worker>: <reason>"
failure_report="BLOCKED <worker>: tab lookup or rename failed, so the label was not set. <reason>"
rename_result=""
if tab_id="$(herdr pane current --current | jq -er '.result.pane.tab_id')" &&
    rename_result="$(herdr tab rename "$tab_id" "$label")" &&
    printf '%s\n' "$rename_result" |
    jq -e --arg tab_id "$tab_id" --arg label "$label" \
        '.result.tab | .tab_id == $tab_id and .label == $label' >/dev/null; then
    herdr agent prompt <orchestrator> "$report"
else
    printf 'tab rename not verified: %s\n' "${rename_result:-no response}" >&2
    herdr agent prompt <orchestrator> "$failure_report"
    false
fi

BLOCKED 原因必须说明工作者为何无法继续推进或结束,例如外部依赖不可用,或工作已停止/被取代,正在等待交接。

发出标签页命令前,请遵循 herdr 技能中关于 Herdr 环境和当前标签页安全性的要求。

评论

支持 Markdown