关于 create-harness-spec
create-harness-spec 是用于为 hedera-harness 编写功能配方的 Agent 技能,面向 Hedera 应用开发者。它通过需求梳理、生成 schemaVersion 3 文件及运行一致性检查,引导完成配方编写流程。
主要功能
- 01按 hedera-harness v3 编写配方
- 02通过需求梳理确认功能目标
- 03生成 PRD、规格及验证文件
- 04检查配方加载与文件一致性
适用场景
- 01为新建 Hedera 应用编写配方
- 02将 harness 添加到现有应用
- 03把旧版配方改写为 v3
- 04验证配方并准备运行
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hedera-dev/ hedera-skills --skill create-harness-spec安装后在 Claude Code 中输入/create-harness-spec确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonspec.jsonreferences/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/
然后:
- 根据讨论结果编写
.harness/prd.md(或在.harness/prds/下为每个增量各写一个文件)。仅面向产品,保持运行过程盲态。 - 填写
.harness/spec.yaml。必填项:schemaVersion: 3、name、description,以及包含命令名为install的baseline。所有默认项均保持注释状态。 包含四个键的配方即为完整配方。除非用户需要 Cursor,否则省略agent:(默认值为 Claude)。 - 根据功能交付物编写
.harness/validators/static.json和.harness/validators/yarn.json。不要对template.json进行断言——脚手架生成时,create-scaffold-hbar 会将其移除。 - 不要添加
skills:列表。在 PRD 中提及相关 Hedera 服务,以便生成器选择产品技能。 - 仅在用户于讨论过程中选择启用时,才添加 SMOKE / EVALUATE / CHAIN——参见
harness-spec-anatomy→ references/stage-strategy.md。如果prd:是列表且启用了 EVALUATE,则编写与之对应的eval:列表。 - 如果刚启用了 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 环境变量由宿主提供。
- SMOKE →
仅在骨架不可用时,才手动重建文件内容:
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,只需说明接下来的命令。
其他资源
- references/grilling.md
- 配套内容:
/review-harness-spec - 词汇表:
/harness-spec-anatomy - 上游文档:docs/authoring-a-recipe.md