Generate, revise, or review complete Harness as Code `.harness` files when a coding-agent workflow, agent role, skill, tool contract, MCP connection, runtime, or deployment must be compiler-valid and resolvable with `@qoder-ai/harness`.
SkillScore82Maintained
Automatic
◆AI Engineer pack
Last verified 9/26/2026
What it changes
Passed 16 of 19 test cases with the skill, and 7 of 19 without it.
Without skill36%
With skill82%
Checks it passed that the model alone missed
Declares skills using use skill
Declares tools using require tool
Includes a concrete runtime block
and 16 more in the full report
12 fixed6 passed either way2 still failing2 broke
Pass-rate lift
+45 pp
Tokens
+18%
Agent turns
0%
Response time
+11%
Model gemini-3.6-flashMeasured 9/26/2026v118 of 22 cases passed with skill · 19 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 11
Prompt
Before running validation against modified skill compiler files in scripts/, what npm build command must be executed to refresh the dist/ bundle?
What was checked, without and with the skill
Checked
Without skill
With skill
Identifies npm run harness:build as the build command
Missed
Passed
case-17 · gemini-3.6-flash · 9/26/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md62 lines3 filesincludes scripts
Generate Harness DSL
Create a standalone Harness as Code v0.3 document and prove the execution
contract with the package compiler and resolver.
Workflow
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.
Read the DSL contract. Start from
the minimal example; open
the standard example when callable
tools are required.
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.
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.
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