SuperAPI AI 工具集

relay-plan

智能体与模型

查看项目

更新于 10-16 03:20

技能介绍

用途

relay-plan 是 relay 工作流中的一个规划环节,用于为一次 relay 运行准备审查与评估相关的内容。根据资料描述,它适用于以下场景:

  • 为一次 relay 运行构建审查锚点、结构化评估通道以及派发提示词;
  • 将任务意图、明确的验收标准(AC)、仓库信号和风险转化为可审查的 Done Criteria;
  • 在派发前持久化由规划者撰写的 Done Criteria。

它不适用于以下场景:

  • 在规划前对模糊任务进行塑形——应使用 relay-ready;
  • 将实现委派给执行者——应使用 relay-dispatch;
  • 审查执行者输出——应使用 relay-review;
  • 落地已审查的 GitHub 变更——应使用 relay-merge。

relay-plan 只输出交接产物;实际运行 relay-dispatch 由 relay 或操作者完成。

主要能力

根据资料,relay-plan 的核心流程包括:

  1. 读取任务:根据 /relay 源闸门选定的路由读取任务。relay-ready 交接简报若存在则以其为准;GitHub 路由可带 issue 编号(经源闸门后使用 gh issue view,查找失败则 fail closed);本地路由使用本地任务文本或用户描述,且不得查询 forge。
  2. 采集规划信号:运行 node "${RELAY_SKILL_ROOT:-skills}/relay-plan/scripts/probe-executor-env.js" . --project-only --json,读取仓库本地质量信号与相关 harness 上下文,作为弱输入。
  3. 归一化规划输入:将明确 AC、推断的 Done Criteria、relay-ready 交接、项目 harness 上下文、仓库信号、可选子系统侦察笔记和任务风险保持为独立证据通道。
  4. 恢复 Done Criteria:识别评估来源模型(明确 AC、推断 Done Criteria、仓库信号、任务特定风险),在 AC 缺失、模糊或不完整时先撰写可观察的 Done Criteria,并在冻结前运行歧义预检。
  5. 构建评估通道:将 Outcome Contract、Verification 和可选 Earned Rubric 分开。冻结的 Done Criteria 即契约。资料给出了最小 artifact 的 YAML 结构,其中 verification 下放命令类检查,earned_rubric.factors 可为空数组。
  6. 验证并简化通道:交接前进行快速门控,检查 Outcome Contract 项是否二元且可观察,Verification 检查是否命名了具体证据,Earned Rubric 可为空且不含例行卫生项。
  7. 按需持久化规划者撰写的 Done Criteria:仅当规划写入最终 Done Criteria,或扩展、拒绝、收窄 issue body AC 时持久化。使用 persist-done-criteria.js 脚本,指定输出路径,且该步骤不会分配 run id,也拒绝输出到 ~/.relay/runs 下。
  8. 发出交接产物:将派发提示词与评估 YAML 写入临时文件,提示词使用 prompt-template.md 并追加 Setup、可选 Working Guidance、Evaluation Channels 和 Completion Responsibilities。返回交接摘要,包含派发提示词路径、rubric YAML 路径、Done Criteria 锚点路径(若已持久化)以及推荐的 relay-dispatch 命令。

使用方式

资料中给出的关键命令与文件:

  • 环境变量:RELAY_SKILL_ROOT,可选,默认值为 skills。
  • 输入文件:relay-ready 交接、issue/用户文本、可选的本地任务文本、可选的本地 harness 上下文(AGENTS.md、CLAUDE.md、CHARTER.md、spec/capabilities.md、活动 sprint 笔记)、可选的 /tmp/done-criteria-<N>.md、/tmp/dispatch-<N>.md,以及兼容命名的 /tmp/rubric-<N>.yaml 评估产物。
  • 兄弟脚本:${RELAY_SKILL_ROOT:-skills}/relay-plan/scripts/probe-executor-env.js、${RELAY_SKILL_ROOT:-skills}/relay-plan/scripts/persist-done-criteria.js、${RELAY_SKILL_ROOT:-skills}/relay-dispatch/scripts/dispatch.js。
  • 持久化命令:
node "${RELAY_SKILL_ROOT:-skills}/relay-plan/scripts/persist-done-criteria.js" \
  --output /tmp/done-criteria-<N>.md --file /tmp/done-criteria-source-<N>.md --json
  • 推荐的派发命令(由 relay-dispatch 执行,relay-plan 不运行它):
node "${RELAY_SKILL_ROOT:-skills}/relay-dispatch/scripts/dispatch.js" . \
  --branch issue-<N>-<slug> --prompt-file /tmp/dispatch-<N>.md --rubric-file /tmp/rubric-<N>.yaml \
  --done-criteria-file <done-criteria-path>

当第 7 步持久化了 Done Criteria 时,派发交接必须同时保留两个锚点。

风险评估附加项

资料说明了风险触发的附加项,仅在任务证据支持时使用,不应把参考清单复制进提示词,包括:rubric 模板脚手架、TDD 风格因子、task_profile 或工作指导、领域 rubric 思路、观察优先的领域问题、信任边界与 fail-closed 行为、文件/路径精度等 rubric 模式、L/XL 歧义下的只读侦察、以及针对新颖/模糊/高风险/易被钻空子的 Done Criteria 的压测轮次。资料还提到,审查反馈后重新派发时应保持原始锚点固定,之前尝试的证据和审查者反馈会自动前置。

限制

资料明确指出:relay-plan 只发出交接产物,不运行 relay-dispatch;持久化步骤不会分配 run id,并拒绝输出到 ~/.relay/runs 下;本地路由不得查询 forge。关于该技能支持的平台、收费或价格信息,资料中暂未提供。