SuperAPI AI 工具集

implementation-manager

智能体与模型

查看项目

更新于 10-16 09:06

技能介绍

用途

implementation-manager 是一个用于查询和管理功能实现任务状态的技能,它提供对任务状态的程序化访问,供协调多步骤功能实现的编排器(orchestrator)使用。在使用 <sam_cli/> 或 <dh_scripts/> 之前,需要先加载 dh:dh-cli-usage。在派发或评判某次尝试之前,需阅读工作循环(work loop);在解读 worker 的响应之前,需加载 dh:subagent-contract。

主要能力

该技能通过 SAM MCP 工具和 DH CLI 适配器提供结构化的 SAM 计划、任务元数据、工件、派发与验证能力。核心命令包括:

  • list:列出项目 plan/ 目录中跟踪的所有功能及其任务。例如 <sam_cli/> plan list 会输出计划 ID、功能名称与任务数量。
  • status:获取特定功能的详细状态,例如 <sam_cli/> plan status --plan-address P1,输出包含总任务数、已完成数、进行中数、未开始数、就绪任务列表,以及每个任务的 id、name、status、dependencies、agent、priority、complexity 等字段。
  • ready-tasks:列出依赖已满足、可执行的任务,例如 <sam_cli/> plan ready --plan-address P1。
  • read:仅用 P 时读取计划文档;用 P/T 时读取该任务及其尝试记录的部分,例如 <sam_cli/> plan read --address P1/T01。仅当持有该尝试时才添加 --attempt {A}。
  • dispatch:在就绪任务上开启一次尝试。这会将其置为进行中、启动其租约,并防止第二个执行者占用它。它会打印尝试编号,后续命令需携带该编号。例如 <sam_cli/> plan dispatch --address P1/T01。若已有执行者持有该任务会打印 leased,若依赖尚未落地会打印 not-ready。注意:plan claim 命令写入内容存储而非账本,因此不会改变账本行;开启尝试应使用 dispatch。
  • update:在账本上设置计划级别字段,如上下文清单,例如 <sam_cli/> plan update --plan-address P1 --set context="Context Manifest content"。--set 指定账本列,字段名使用下划线。设置字段会替换其整个值,若要追加而非替换,应先读取当前值再写回。同一个命令的 --context 标志则写入内容存储——两个存储持有不同的计划,选择哪个由所用标志决定。

任务结构与状态

任务以 YAML frontmatter 字段表示,定义于 sam_schema/core/models.py。SAM MCP 工具会验证所有字段,不应直接从存储中解析任务。任务字段示例包括 task、title、status、agent、dependencies、priority、complexity、accuracy-risk、skills。

状态值包括:

  • not-started:任务尚未开始
  • in-progress:任务已被认领并正在执行
  • complete:任务已完成
  • blocked:任务无法继续
  • deferred:任务被有意推迟
  • skipped:任务未执行即被跳过
  • failed:任务执行以失败告终

依赖解析:当任务状态为 not-started,且其所有依赖状态为 complete、deferred 或 skipped(或无依赖)时,该任务即为"就绪"(ready)。

使用方式与集成

在 Beads 工作区中,直接使用 bd 进行 CRUD、就绪性、认领/状态和依赖管理;使用 SAM MCP 或 DH CLI 适配器处理 bd 不提供的结构化 SAM 计划、任务元数据、工件、派发与验证。

/dh:execution 编排器使用本技能来:通过 <sam_cli/> plan status 查询任务状态;通过 <sam_cli/> plan ready 查找就绪任务;通过 plan dispatch 为每个任务开启一次尝试,然后启动其 agent 字段指定的代理并传入地址与尝试编号;当每次启动返回时用 plan settle 结算,再用 plan read 评判,并通过 plan accept 关闭或通过 plan reclaim 退回。

钩子集成

task_status_hook.py 脚本通过一个 Claude Code 钩子来结算停止的子代理所对应的尝试。钩子配置为:命令 /dh:execution,钩子事件 SubagentStop,匹配器 (all),用途为结算停止的 worker 所对应的尝试。

工作方式(SubagentStop 结算):注册在 hooks/hooks.json 中的 SubagentStop 钩子在编排器会话中运行,当它启动的子代理停止时触发。它只记录启动已结束,不做其他:从 agent_transcript_path 读取子代理自身的初始提示,从中取出计划地址、任务 id 与尝试编号(派发契约要求提示中包含这三者);运行 plan settle --address {plan}/{task} --attempt {A} --return-text "{最终消息}"。它不写入任何任务状态——runner 自己的 plan finish --result 记录结果,编排器的 plan accept / plan reclaim 记录裁决。worker 的最终消息会原样存储为尝试的返回文本,作为评判者阅读的证据。每个失败都会报告到 stderr,绝不吸收;但钩子仍以 0 退出,因为 SubagentStop 关键路径不能被阻塞。编排器也会在其下一步自行结算,先到者胜,另一个会被回答 already-settled。该钩子用于编排器步骤从未运行的启动场景。

时间戳字段职责:Started 字段由 plan dispatch 在编排器开启尝试时添加,即 worker 被启动时;Completed 字段由 plan finish 在结果为 complete 时,或 plan accept 在返回任务时添加,即 runner 或评判者记录完成时。

钩子运行时控制:环境变量 CLAUDE_SKILLS_DISABLED_HOOKS 接受逗号分隔的钩子 ID 列表以禁用钩子。每个 ID 会去除空白,空段被排除,未知 ID 为向前兼容被静默忽略。未设置或为空时默认不禁用任何钩子。此脚本的钩子 ID 为 task-status:subagent-stop。被禁用的钩子以 0 退出。示例:export CLAUDE_SKILLS_DISABLED_HOOKS=task-status:subagent-stop。

适用场景

适用于需要通过编排器协调多步骤功能实现、跟踪任务依赖与状态、派发任务给 worker 代理并收集证据进行评判的工作流。

限制

资料未提供收费、价格、平台兼容性或效果相关的信息。