跳到主要内容
知仓学习社ZHICANG

generate-harness-dsl

Generate, revise, or review complete Harness as Code `.harness` files when a coding-agent workflow, agent role, skill, tool contract, MCP connection…

读文件无严重或高危命中QoderAI/better-harness

它会碰到什么

扫了多少4 个文本文件,11 KB
它会碰到什么读文件
命中总数2 处
命中统计严重 0 · 高 0 · 中 2 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Generate Harness DSL

Create a standalone Harness as Code v0.3 document and prove the execution

contract with the package compiler and resolver.

Workflow

  1. Identify the host, the capabilities it must actually expose, and the real

control owner. Use session for one host session. Use state-machine or

program only when a selected adapter explicitly implements that mode.

  1. Read [the DSL contract](references/dsl-contract.md). Start from

[the minimal example](../../examples/minimal.harness); open

[the standard example](../../examples/standard-coding.harness) when callable

tools are required.

  1. Generate one self-contained document unless the user requests a fragment.

Include language 0.3, every referenced declaration, a concrete runtime,

and a named deployment. Standard tools may remain implicit.

  1. Run scripts/validate.mjs. Fix every compiler or resolution error and rerun.

A compile-only state machine is not an executable Qoder or Pi deployment.

  1. Return the DSL or saved file plus the harness id, deployment id, runtime,

resolution status, and any execution boundary the selected adapter cannot

satisfy.

Authoring Rules

  • State only falsifiable requirements. Do not add permission, setting,

degradation, binding, input/output-name, or runtime-execution syntax; v0.3

intentionally has none.

  • Match the requirement verb to its capability: use skill, require tool,

or connect mcp.

  • Only the standard tool ids in the contract may be undeclared. Every custom

tool declares a stable contract id that the adapter exposure must match.

  • Qoder and Pi descriptors run session workflows only. A session workflow

names exactly the one agent role declared by each harness that uses it.

  • State-machine outcomes are typed on agents. Every route emitter, outcome,

destination, entry, and stop must exist, and every agent must be reachable.

  • A program <language> <entry> workflow resolves only when the adapter lists

the same language in programmaticLanguages.

  • Keep credentials out of source. Prefer env.VARIABLE for MCP endpoints, but

remember that declaring an endpoint does not connect it; the adapter must do

that.

  • Do not invoke host SDKs, install integrations, or claim native enforcement

while generating or validating DSL.

Validate

From this skill directory, run:

node scripts/validate.mjs /path/to/workflow.harness [harness-id ...]

The command prints JSON and exits non-zero when compilation or any selected

named deployment fails resolution. A successful exit is required before

calling generated DSL executable.

When editing this skill, build the package first so dist/ reflects the current

compiler:

npm run harness:build

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。