SuperAPI AI 工具集

create-harness

智能体与模型

查看项目

更新于 10-15 10:05

技能介绍

用途

Harness Builder(交互式)用于引导用户为自己的项目设计一个「harness」——一个针对重复性任务的小型、单一用途工作流,例如债务审查、安全检查、部署清单、修 bug 例行流程,或任何遵循可重复流程的任务。

harness 不是单个技能,而是一个小工作流,由任务实际需要的组件组合而成:技能(agent 按请求运行的东西)、规则(agent 应始终拥有的上下文,加入 CLAUDE.md)、钩子(必须在特定事件自动执行、而非仅被读取的东西),偶尔还有专用子智能体。大多数小型 harness 只需要其中一两个组件,不应默认全部使用。

该技能是对话式的,不是一次性的。它不会根据对用户意图的单次猜测就组装最终 harness,而是逐一走完每个决策,在用户实际回答之前不写任何内容。

范围纪律是该技能的核心。试图覆盖「一切」的 harness 不是 harness,而是愿望清单——它会漂移、自相矛盾,且过于模糊而无法真正指导 agent。如果用户提出宽泛的内容(安全 AND 债务 AND 部署,全放在一起),应停下来要求他们为本次选择一个关注点。他们可以稍后再运行此技能处理下一个。范围纪律关注的是每次一个清晰目的,而不是限制最终 harness 的完整度或深度——如果任务确实需要,harness 最终可以包含多个组件并有真正的深度。

主要能力

  • 通过逐步提问引导用户设计单一用途的 harness。
  • 检查项目是否属于多仓库生态(查看上一级目录是否存在 CLAUDE.md)。
  • 根据用户回答,从技能、规则、钩子、子智能体中选择最小必要组合。
  • 将组件组装成一个 harness 包(如 harnesses/{harness-slug}/),包含 README.md 说明。
  • 尽可能自动激活 harness:合并钩子到 .claude/settings.json、添加规则到 CLAUDE.md、放置子智能体定义到 .claude/agents/ 等。
  • 通过质量门检查确保 harness 只有一个清晰目的、步骤和护栏来自用户实际回答、输出格式具体、硬规则用钩子而非软指令等。

使用方式

该技能以对话方式运行,按以下步骤进行:

Step 0 — 仓库上下文:检查项目是否属于多仓库生态(查看上一级目录是否存在 CLAUDE.md)。未找到父级 CLAUDE.md:单仓库项目,直接进入输入。找到父级 CLAUDE.md:询问 harness 是仅作用于当前仓库,还是需要跨仓库协调。单仓库范围:读取当前仓库的 CLAUDE.md 作为上下文。跨仓库范围:同时读取父级 CLAUDE.md,上下文和工作流可能跨多个仓库,此时包应放在父文件夹(如 harnesses/{slug}/)。

输入:用户用自己的话描述该 harness 应处理的重复性任务(必需)。如果模糊,询问具体反复发生的是什么。项目现有的 CLAUDE.md / 规则(可选,若存在则读取)。

工作流:

  1. 目的:询问该 harness 应处理的单一、狭窄任务。如果答案捆绑了多个不相关关注点,要求用户为本次选择一个。
  2. 所需上下文:询问 agent 每次运行该 harness 时需要读取什么(特定文件、文件夹、现有文档、外部参考)。如果项目 CLAUDE.md 缺少该 harness 依赖的内容,明确指出。
  3. 工作流步骤:请用户按应发生的顺序逐步说明实际流程。这是只有用户才有的领域知识,不要编造通用流程。按用户描述编号。
  4. 输出格式:询问 harness 每次运行应产出什么——书面报告、通过/失败清单、内联发现、写入特定路径的文件。要具体形状,而非「摘要」。
  5. 护栏及执行方式:明确询问「该 harness 有什么在未经你同意前绝不应该做的事?」对每个护栏,共同决定需要哪种执行方式:硬规则 → 钩子(必须在正确事件执行,如提交前、部署命令运行前);软期望 → 规则或工作流中的步骤。如果用户说没有,跳过,不要编造。
  6. 选择组件:为工作流每个部分决定最小机制——技能(SKILL.md)用于按请求执行的任务;规则(加入 CLAUDE.md 或规则文件)用于应始终拥有的上下文;钩子用于硬规则;专用子智能体仅在任务确实需要隔离上下文时使用(小型单一用途 harness 很少需要)。
  7. 组装:将所有内容组装成一个小包,如 harnesses/{harness-slug}/,包含所选组件组合,以及根目录的 README.md,用平实语言说明该 harness 做什么、由哪些组件组成及各自用途、队友在自己环境中启用所需的步骤。包内 SKILL.md 遵循目录 frontmatter 约定(name、description 以英文「Use when...」结尾)。子智能体定义遵循项目自身约定(frontmatter 含 name、description 及限定工具)。
  8. 为当前用户激活:README 是为日后在另一台机器上设置的队友写的,本身不会让 harness 现在就对当前会话中的用户生效。立即执行所有可安全自动化的操作:将钩子条目合并到当前项目的 .claude/settings.json(创建缺失的 hooks 键或 matcher,绝不覆盖或丢弃已有钩子条目);将规则添加到当前项目的 CLAUDE.md;将子智能体定义文件放到项目实际发现子智能体的位置(如 .claude/agents/);如果技能需要放在特定位置才能被发现,也放到那里。告诉用户哪些已自动激活,哪些仍需手动步骤。

质量门:在写最终文件前静默检查:harness 只有一个清晰目的;每个工作流步骤和护栏来自用户实际回答;输出格式足够具体;硬规则用钩子而非软指令;软期望未被过度设计成钩子;组件选择恰当;子智能体确实有存在理由且放在正确位置;README 说明如何启用;可安全自动化的已激活;包放置符合用户选择的范围。

之后:提醒用户,同一组问题适用于他们日后识别的任何其他重复性任务——修 bug 的不同 harness、更轻量的 SDD 变体、部署清单。再次运行此技能,每个关注点一次,是随时间增长自己 harness 集合的预期方式。

适用场景

  • 为项目中的重复性任务(债务审查、安全检查、部署清单、修 bug 例行流程等)设计小型单一用途工作流。
  • 需要决定用技能、规则、钩子还是子智能体来实现某个流程。
  • 希望将多个组件组装成一个可共享、可激活的 harness 包。
  • 多仓库项目中需要跨仓库协调的 harness。

限制

  • 该技能是对话式的,不会一次性完成,需要用户逐步回答。
  • 每次只处理一个关注点,宽泛需求会被要求拆分。
  • 不编造用户未提供的流程或护栏。
  • 子智能体仅在确实需要隔离上下文时使用,小型 harness 很少需要。
  • 具体收费、价格、平台等信息暂未提供。