mcpField
C
create-harness-spec

create-harness-spec

github.com/hedera-devAgent 工作流28480 次安装8 周前更新
代码仓库

关于 create-harness-spec

create-harness-spec 是用于为 hedera-harness 编写功能配方的 Agent 技能,面向 Hedera 应用开发者。它通过需求梳理、生成 schemaVersion 3 文件及运行一致性检查,引导完成配方编写流程。

主要功能

  1. 01按 hedera-harness v3 编写配方
  2. 02通过需求梳理确认功能目标
  3. 03生成 PRD、规格及验证文件
  4. 04检查配方加载与文件一致性

适用场景

  1. 01为新建 Hedera 应用编写配方
  2. 02将 harness 添加到现有应用
  3. 03把旧版配方改写为 v3
  4. 04验证配方并准备运行

安装

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

$npx skills add https://github.com/hedera-dev/hedera-skills --skill create-harness-spec

安装后在 Claude Code 中输入/create-harness-spec确认已加载。

包含的文件

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

evals/
evals.json
spec.json
references/
grilling.md

详细介绍

创建 Harness 规格

将一个 Hedera 功能构想逐步完善为适用于 hedera-harness 的完整配方。

先加载共享词汇表:阅读 ../harness-spec-anatomy/SKILL.md 及其 GLOSSARY.md。严格使用其中的术语。

目标是 hedera-harness schemaVersion 3。

这些技能用于编写配方。配方不会列出技能——每次运行时都会从 hedera-skills 中发现产品插件,并由生成器选择。请让运行过程保持盲态:PRD 包含用户旅程和预期结果;编号断言放在 evaluate 清单中。

适用于 Claude Code(市场插件)以及能加载 SKILL.md 的 Cursor / 其他 Agent。若已安装 /grilling 技能,优先使用;否则使用内联协议——Claude Code 通常采用内联流程。

步骤 1:定位目标

配方位于脚手架应用内的 .harness/。没有其他布局。

情况操作
当前工作目录是脚手架应用(Scaffold HBAR 或 hedera-harness init)写入其 .harness/
当前工作目录是没有 .harness/ 的应用hedera-harness init 会在原位置接入 harness
尚无应用hedera-harness init <dir>(可选 --template <name>)
当前工作目录已有 .harness/spec.yaml检查 schemaVersion。如果缺失、为 1 或 2,则重写为 v3(或用 init 重新生成并重新应用编辑)。hedera-harness migrate 已移除。

绝不要将 v1/v2 配方视为可加载配方。将 contract: 改为 eval:,删除 skills:,并设置 schemaVersion: 3。

配方文件中的路径相对于项目根目录。

步骤 2:逐步完善构想

遵循 references/grilling.md。若 /grilling 可用,优先使用;否则使用其中的内联协议。

在用户确认双方理解一致之前,不要写入文件。

步骤 3:生成配方

优先复制随附的骨架——它始终是最新版本:

cp -r "$(npm root -g)/hedera-harness/skeletons/project-harness/." .harness/

然后:

  1. 根据讨论结果编写 .harness/prd.md(或在 .harness/prds/ 下为每个增量各写一个文件)。仅面向产品,保持运行过程盲态。
  2. 填写 .harness/spec.yaml。必填项:schemaVersion: 3、name、description,以及包含命令名为 install 的 baseline。所有默认项均保持注释状态。 包含四个键的配方即为完整配方。除非用户需要 Cursor,否则省略 agent:(默认值为 Claude)。
  3. 根据功能交付物编写 .harness/validators/static.json 和 .harness/validators/yarn.json。不要对 template.json 进行断言——脚手架生成时,create-scaffold-hbar 会将其移除。
  4. 不要添加 skills: 列表。在 PRD 中提及相关 Hedera 服务,以便生成器选择产品技能。
  5. 仅在用户于讨论过程中选择启用时,才添加 SMOKE / EVALUATE / CHAIN——参见 harness-spec-anatomy → references/stage-strategy.md。如果 prd: 是列表且启用了 EVALUATE,则编写与之对应的 eval: 列表。
  6. 如果刚启用了 SMOKE,请安装其宿主包——安装在项目根目录,而不只是工作区内。Doctor 会从 hedera-harness 相邻位置导入 playwright,而 Yarn 的 nmHoistingLimits: workspaces 会隐藏 packages/nextjs 中安装的包。
    • SMOKE → yarn add -D playwright(或使用 npm/pnpm 等效命令) 如果根目录的 package.json 已列出该包,则跳过添加。作为生成步骤的一部分完成此操作,不要等到 doctor 失败后再补做。 CHAIN 不需要项目安装:@hiero-ledger/sdk 随 hedera-harness 一同提供。只有 operator 环境变量由宿主提供。

仅在骨架不可用时,才手动重建文件内容: harness-spec-anatomy → references/spec-files.md。

第 4 步:完成标准

依次进行两项检查:

# 1. Does the recipe load? (authoritative — schema, defaults, baseline, network)
hedera-harness doctor .harness/spec.yaml --recipe-only

# 2. Is it coherent across files? (traceability, stage pairing, blind rule)
bash <path-to>/harness-spec-anatomy/scripts/check-spec.sh <project-root>

check-spec.sh 会自行运行 doctor,因此只要安装了 harness CLI,单独运行它就足够了。如果它报告架构未经过验证, 则表示结果不完整——请安装或升级 harness,然后重新运行。

当 check-spec.sh 成功退出时,即表示完成。

然后交接:

# Prefer /review-harness-spec next, then:
hedera-harness run .harness/spec.yaml --max-attempts 3
# or: yarn harness:run

请参阅 harness README,了解安装、Agent 身份验证和阶段主机 前置条件。hedera-harness doctor(不带 --recipe-only)会检查这些内容。 不要在这之后进一步讲解 CLI,只需说明接下来的命令。

其他资源

评论

支持 Markdown