关于 invoke-agent
invoke-agent 是一项在当前 herdr 工作区中启用团队角色的技能,可复用匹配的活动 Agent 或新建 Agent,再为其加载角色手册并传递任务。
主要功能
- 01查找当前工作区中的 Agent
- 02复用或新建角色 Agent
- 03加载角色手册
- 04向 Agent 发送任务指令
适用场景
- 01在 herdr 工作区中启用 TESTER 角色
- 02将任务交给新建或现有的角色 Agent
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ adminoryslabs/ armory --skill invoke-agent安装后在 Claude Code 中输入/invoke-agent确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/PLAYBOOK-ARCH.mdPLAYBOOK-BA.mdPLAYBOOK-DEV.mdPLAYBOOK-LEAD.mdPLAYBOOK-PM.mdPLAYBOOK-TESTER.mdPLAYBOOK-UX.md详细介绍
Invoke Agent — 在 herdr 中调用一个角色
目标
在 当前 herdr 工作区中,让具备所需角色且已加载 playbook 的 Agent 可用——如果已有 Agent 处于唤醒状态,则复用;否则创建一个新 Agent。
如果要在当前运行的会话中加载角色,而不操作 herdr,请改用 init-agent。
可用角色
与 init-agent 相同:PM、BA、UX、ARCH、LEAD、TESTER、DEV
(references/PLAYBOOK-<ROL>.md)。herdr 中 Agent 的命名约定:角色名称全部小写
(pm、ba、ux、arch、lead、tester、dev)。
输入
一个角色参数,不区分大小写。示例:/invoke-agent TESTER。
如果未指定,或与任何角色都不匹配,则询问要调用哪个角色,并等待回复。不要默认选择任何角色。
工作流
- 确定当前工作区。 读取环境变量
HERDR_WORKSPACE_ID(如果不可用,则通过herdr pane get $HERDR_PANE_ID解析)。 - 列出当前工作区的 pane:
herdr pane list --workspace <workspace_id>。 - 列出存活的 Agent:
herdr agent list。 - 交叉比对这两个列表。 查找
pane_id位于当前工作区的 pane 中,且名称符合所需角色命名约定的 Agent。其他工作区中处于唤醒状态且角色正确的 Agent 不算——忽略它。- 如果存在于当前工作区 → 将其作为目标。转到第 6 步。
- 如果不存在 → 转到第 5 步。
- 在当前工作区创建一个新 Agent:
- 如果该角色名称已被另一个工作区中的存活 Agent 占用,则选择一个可用名称并添加数字后缀(
dev-2、dev-3……)。 herdr pane split --current --direction right --focus→ 捕获返回的pane_id。herdr agent start <nombre-resuelto> --kind <tu-agente> --pane <pane_id>,使用与当前运行相同类型的 Agent(claude、opencode 等),除非用户要求使用其他类型。
- 如果该角色名称已被另一个工作区中的存活 Agent 占用,则选择一个可用名称并添加数字后缀(
- 向 Agent(新建或复用)交付角色和工作:
herdr agent prompt <target> "/init-agent <ROL>"— 让它自行加载 playbook,而不是通过粘贴文本来提供。- 再发送一条
herdr agent prompt <target> "<encargo concreto>",说明实际任务:输入材料的位置、项目的最少必要背景,以及任何相关的待解决问题。 - 如果任务需要等待回复通知(例如,LEAD 正在等待交付),则在任务说明中包含你自己的 Agent 名称和通知格式:
herdr agent prompt <tu-nombre> "ENTREGA <ROL>: ..."。通过herdr agent list查找pane_id与$HERDR_PANE_ID一致的 Agent,即可获得你的名称。
- 用一行向用户确认:是复用了现有 Agent,还是创建了新 Agent,并提供其
pane_id/名称。
Agent 之间的消息
Agent 之间的通知使用固定前缀,让接收方无需解读文本即可知道如何处理。消息只用于说明:内容保存在项目文件中。
| 前缀 | 发件方 → 收件方 | 时机 |
|---|---|---|
ENTREGA <ROL> | TESTER / DEV → LEAD | 完成工作单元中的任务 |
CONTEXTO TÉCNICO LISTO | ARCH → BA | 人工已批准现有系统的技术背景 |
GLOSARIO: TÉRMINOS NUEVOS | BA → ARCH | 词汇表中有术语尚未在代码中定位 |
GLOSARIO COMPLETO | ARCH → BA | 已补全位置 |
对于同一对 Agent 之间的同一项分歧,最多讨论两轮;之后由人工决定。
备注
- 这依赖于
init-agent已安装在被调用的 Agent 所在的同一环境中。如果没有安装,则在第一个herdr agent prompt中粘贴相应 playbook 的完整内容。 - 如果请求的角色有 Agent 正在其他工作区中运行,即使它处于空闲状态,也绝不要复用。
- 如果
herdr agent start因名称已被占用而失败,请先通过herdr agent list/herdr agent get排查,再尝试使用其他名称;不要盲目重试。 - 不要使用
--wait等待耗时较长的交付任务:超时不代表工作失败。第 6.3 步的返回通知正是为此而设。
评论
支持 Markdown