mcpField
I
invoke-agent

invoke-agent

github.com/adminoryslabsAgent 工作流0104 次安装3 天前更新
代码仓库

关于 invoke-agent

invoke-agent 是一项在当前 herdr 工作区中启用团队角色的技能,可复用匹配的活动 Agent 或新建 Agent,再为其加载角色手册并传递任务。

主要功能

  1. 01查找当前工作区中的 Agent
  2. 02复用或新建角色 Agent
  3. 03加载角色手册
  4. 04向 Agent 发送任务指令

适用场景

  1. 01在 herdr 工作区中启用 TESTER 角色
  2. 02将任务交给新建或现有的角色 Agent

安装

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

$npx skills add https://github.com/adminoryslabs/armory --skill invoke-agent

安装后在 Claude Code 中输入/invoke-agent确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
PLAYBOOK-ARCH.md
PLAYBOOK-BA.md
PLAYBOOK-DEV.md
PLAYBOOK-LEAD.md
PLAYBOOK-PM.md
PLAYBOOK-TESTER.md
PLAYBOOK-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。

如果未指定,或与任何角色都不匹配,则询问要调用哪个角色,并等待回复。不要默认选择任何角色。

工作流

  1. 确定当前工作区。 读取环境变量 HERDR_WORKSPACE_ID(如果不可用,则通过 herdr pane get $HERDR_PANE_ID 解析)。
  2. 列出当前工作区的 pane: herdr pane list --workspace <workspace_id>。
  3. 列出存活的 Agent: herdr agent list。
  4. 交叉比对这两个列表。 查找 pane_id 位于当前工作区的 pane 中,且名称符合所需角色命名约定的 Agent。其他工作区中处于唤醒状态且角色正确的 Agent 不算——忽略它。
    • 如果存在于当前工作区 → 将其作为目标。转到第 6 步。
    • 如果不存在 → 转到第 5 步。
  5. 在当前工作区创建一个新 Agent:
    1. 如果该角色名称已被另一个工作区中的存活 Agent 占用,则选择一个可用名称并添加数字后缀(dev-2、dev-3……)。
    2. herdr pane split --current --direction right --focus → 捕获返回的 pane_id。
    3. herdr agent start <nombre-resuelto> --kind <tu-agente> --pane <pane_id>,使用与当前运行相同类型的 Agent(claude、opencode 等),除非用户要求使用其他类型。
  6. 向 Agent(新建或复用)交付角色和工作:
    1. herdr agent prompt <target> "/init-agent <ROL>" — 让它自行加载 playbook,而不是通过粘贴文本来提供。
    2. 再发送一条 herdr agent prompt <target> "<encargo concreto>",说明实际任务:输入材料的位置、项目的最少必要背景,以及任何相关的待解决问题。
    3. 如果任务需要等待回复通知(例如,LEAD 正在等待交付),则在任务说明中包含你自己的 Agent 名称和通知格式: herdr agent prompt <tu-nombre> "ENTREGA <ROL>: ..."。通过 herdr agent list 查找 pane_id 与 $HERDR_PANE_ID 一致的 Agent,即可获得你的名称。
  7. 用一行向用户确认:是复用了现有 Agent,还是创建了新 Agent,并提供其 pane_id/名称。

Agent 之间的消息

Agent 之间的通知使用固定前缀,让接收方无需解读文本即可知道如何处理。消息只用于说明:内容保存在项目文件中。

前缀发件方 → 收件方时机
ENTREGA <ROL>TESTER / DEV → LEAD完成工作单元中的任务
CONTEXTO TÉCNICO LISTOARCH → BA人工已批准现有系统的技术背景
GLOSARIO: TÉRMINOS NUEVOSBA → ARCH词汇表中有术语尚未在代码中定位
GLOSARIO COMPLETOARCH → BA已补全位置

对于同一对 Agent 之间的同一项分歧,最多讨论两轮;之后由人工决定。

备注

  • 这依赖于 init-agent 已安装在被调用的 Agent 所在的同一环境中。如果没有安装,则在第一个 herdr agent prompt 中粘贴相应 playbook 的完整内容。
  • 如果请求的角色有 Agent 正在其他工作区中运行,即使它处于空闲状态,也绝不要复用。
  • 如果 herdr agent start 因名称已被占用而失败,请先通过 herdr agent list/ herdr agent get 排查,再尝试使用其他名称;不要盲目重试。
  • 不要使用 --wait 等待耗时较长的交付任务:超时不代表工作失败。第 6.3 步的返回通知正是为此而设。

评论

支持 Markdown