mightyharness
An idea is a function — input → outcome. The engineering work is not
"writing software"; it is the harness around whatever executes that
function: what context it sees, what tools it may touch, what stops it, how it
checks its own work, and what runs the loop. This skill takes a goal and
produces a design document for that harness — reviewable, diffable,
amendable — that a human then builds against.
The artifact designs; it does not run. It is not the harness. It does not
execute the function. Anything that claims otherwise is out of scope.
Designer and executor are different roles. The designer is the LLM invoking
this skill, working with the human operator. The executor — what actually
runs the loop — is decided per harness and never fixed by this skill: a single
model, a multi-agent team, or a capable model driving the loop directly (worth
the compute cost when the reliability is). That choice is itself a design
decision this skill helps make (see Executor topology). Do not assume a target.
Scope is broader than software. Some goals are not software — analysis,
retrieval, or reasoning tasks scaffolded with the same rigor also qualify.
A prior written specification of the goal, if one exists, is an input, not a
requirement — reference it when present; proceed on a bare goal otherwise,
leaning harder on the assumptions ledger. The finished design is meant to be
adversarially reviewed before it is built against.
Laws
- Design only — never execute, never become the system. The output is a
document. If a design idea begs to be built mid-session, note it; don't
build it here.
- Every guardrail carries an Evolution Assessment tag. Each one is either
a temporary patch compensating for the current executor's specific
weakness (tag it
deprecatedWhen: <condition>) or a durable pattern
(survives model/executor upgrades). Mandatory on every guardrail regardless
of chosen executor — whatever runs the loop tends to change.
- Grounding beats self-report. Every success claim needs an
execution-grounded check — validated by actual execution or evidence, not by
the executor asserting it worked. A verifier that shares the executor's
blind spots is not independent (see Autoimmune verification).
- Every autonomous-action point states its blast radius. The worst
irreversible thing this agent could do before a human sees it, and how that
is bounded. No exceptions for "it's just a read."
- Bounds are named, not implied. Every loop states max iterations and a
divergence/oscillation detector. "Loop until success" is contraband. Every
self-correction loop is interruptible by an external signal, not only
self-terminating.
[NC: question] markers, never silent guesses. Unknowns are tagged
inline and enumerable, carrying a default where one exists:
[NC: question — default X]. No marker survives into the finished design.
- Hunches enter as hypotheses. The designer's and the operator's
assumptions land in the assumptions ledger as hypotheses, not hardened
requirements.
Process
Run these as numbered steps, converging between each.
- Step 0 — Goal & autonomy framing. Restate the function in one sentence
(input → outcome). State the autonomy level: how much may the executor do
before a human sees output? Draw the human-only boundary — which
decisions must remain a human's to make and must never be decided unattended,
applied to the harness's autonomy boundaries. Raise scrutiny when any of
these are present: the harness runs unattended or scheduled; it writes
durable or shared state; it contains an irreversible action; it chains three
or more side-effecting tools in one loop.
- Step 1 — Executor topology. Decide, for this goal, what runs the loop —
single model, multi-agent team, or a capable model driving the loop directly
— weighing reliability against compute cost. This is genuinely open per
harness. One available shape: a four-role split — hypothesis →
implementation → independent verification → composition — for goals where
independent verification matters more than team scale. Before defaulting to
any multi-agent team, answer: what new information does each added agent
contribute? Absent genuinely new information entering the system, more
agents cannot beat one well-designed agent (see Unjustified team topology).
- Step 2 — Core loop & tool registry. Specify the execution loop; the
default is modify → run → evaluate → iterate with minimal infrastructure.
Register every tool with its side-effect class and its Evolution Assessment
tag. Prefer session-scoped, time-limited credentials issued per run over a
static allowlist.
- Step 3 — Grounding & self-correction. Specify (a) what execution-grounded
check exists versus the executor merely self-reporting; and (b) if the
harness lets its executor revise its own instructions over repeated runs, a
bounded self-revision mechanism: edit scope limited to the failing
component (not a rewrite), a regression check against previously-passing
cases before accepting a change, and a logged rejected-edit buffer ("we
tried this, it broke X") so the same bad fix is not re-proposed. This is what
the
deprecatedWhen tag does, not just a label. State the loop bound and
oscillation detector (Law 5).
- Step 4 — Guardrails & Evolution Assessment. Enumerate guardrails; tag
each temporary-patch vs. durable-pattern (Law 2). Include the graduated
halt: a named soft-stop (flag + pause for human review) distinct from a
hard-stop (kill the run) — the first response to a detected defect is a
review request, not an automatic full stop.
[NC] the concrete interrupt
delivery mechanism if it is unknown for the chosen executor.
- Step 5 — Anti-pattern scan. Run the checklist below; each hit is either
repaired or logged as accepted risk.
- Close — gate → adversarial review → sign-off. Gate: every guardrail
tagged; every autonomous action has a blast radius; every loop bounded; at
least one soft-stop; no
[NC] markers survive; the single-point-of-failure
audit is non-empty or explicitly "none"; the human-only boundary applied.
Subject the draft to adversarial review, surfacing framing failures first.
Then take explicit affirmative sign-off — silence is not a signature — and
write a dated changelog entry.
Anti-pattern scan
Repair or log as accepted risk.
- Autoimmune verification — the verifier shares blind spots with the
executor it grades even when nominally a separate pass or role: same model
family, same prompt author, same training-data gaps. The doc must state what
makes the verifier's failure modes independent of the executor's — not
merely that a separate call exists.
- Fail-open on tooling/infra error — fail-closed must cover the permission
machinery itself failing: classifier error, approval-service timeout,
policy-lookup failure, audit-log write failure → default to block, never
silent-permit. Distinct from fail-closed on a policy violation.
- Cockpit chatter — letting the executor perform unrelated or exploratory
actions mid-critical-task instead of within a scoped, single-purpose action
window.
- Unjustified team topology — multi-agent by default without answering what
new information each agent adds. Watch cascade amplification, topological
sensitivity, consensus inertia.
- Unbounded / self-terminating-only loop — no iteration cap, no oscillation
detector, or no external interrupt (Law 5).
- Ungrounded success — correctness rests on the executor's self-report
(Law 3).
- Untagged guardrail — any guardrail missing its Evolution Assessment tag
(Law 2).
Output template
A living document, revised in place, with a dated changelog at the bottom.
- §Goal — one sentence, input → outcome.
- §Autonomy & risk level — how much runs before a human sees output; the
human-only boundary.
- §Core loop — the execution loop (modify → run → evaluate → iterate by
default).
- §Grounding & self-correction — execution-grounded check; bounded
self-revision mechanism if self-revising; loop bound + oscillation detector.
- §Guardrails — each with its Evolution Assessment tag; graduated halt
(soft-stop vs. hard-stop).
- §Blast radius — per autonomous-action point: worst irreversible outcome
- §Tool registry — tools, side-effect class, Evolution tag, session-scoped
credential note.
- §Evolution assessment — the roll-up of temporary-patch vs.
durable-pattern tags.
- §Scope & assumptions ledger — hypothesis vs. established fact; what's
cut.
- §Executor topology — chosen executor + the reasoning (single / team /
model-driven); the team-justification answer.
- §Single-point-of-failure audit — every point where a single unverified
LLM judgment is load-bearing; each gets a second independent path or an
explicit accepted-risk sign-off.
- §Context compaction / recovery cadence — for long loops: how the
trajectory is periodically compacted and the original task intent
reinjected into a clean window.
- §Cost governance — three sub-limits, not one global cap: per-action,
per-agent/session, and fleet/spawn throttling.
- §Instruction architecture — instruction / auto / session-extraction
memory layering; progressive disclosure.
- §Context / memory — externalized memory as a virtualized
scratch/filesystem the executor reads and writes, not in-context accretion.
- §Skills / connectors — lazy-loaded capabilities.
- §Safety & approvals — fail-closed policy including the checker itself;
each entry Evolution-tagged; session-scoped credentials.
- §Observability — logging/tracing; claim lineage (source, timestamp,
execution/evidence anchor) mandatory for any goal producing a deliverable
document or analysis.
- §Evals + harness eval protocol — eval cases, plus how to test the
scaffold itself with the model held as a controlled variable, so the
harness can be evaluated independent of which model fills the executor slot.
- §Sign-off & changelog — explicit affirmative sign-off; dated changelog.
Out of scope
- Executing the function, or becoming the running system.
- Wrapping and adopting an existing third-party harness framework as-is — this
produces a design, not an adoption.
- Recursive self-governance — a harness that edits its own governing rules — is
out of scope to build in. If a design surfaces the temptation, flag it as a
risk to discuss inside the design, not a feature to ship.
1---2name: mightyharness3description: mightyharness4---56# mightyharness78An idea is a **function** — input → outcome. The engineering work is not9"writing software"; it is the **harness** around whatever executes that10function: what context it sees, what tools it may touch, what stops it, how it11checks its own work, and what runs the loop. This skill takes a goal and12produces a **design document** for that harness — reviewable, diffable,13amendable — that a human then builds against.1415The artifact **designs**; it does not run. It is not the harness. It does not16execute the function. Anything that claims otherwise is out of scope.1718**Designer and executor are different roles.** The designer is the LLM invoking19this skill, working with the human operator. The **executor** — what actually20runs the loop — is decided per harness and never fixed by this skill: a single21model, a multi-agent team, or a capable model driving the loop directly (worth22the compute cost when the reliability is). That choice is *itself a design23decision this skill helps make* (see Executor topology). Do not assume a target.2425**Scope is broader than software.** Some goals are not software — analysis,26retrieval, or reasoning tasks scaffolded with the same rigor also qualify.2728A prior written specification of the goal, if one exists, is an **input, not a29requirement** — reference it when present; proceed on a bare goal otherwise,30leaning harder on the assumptions ledger. The finished design is meant to be31**adversarially reviewed before it is built against**.3233## Laws34351. **Design only — never execute, never become the system.** The output is a36 document. If a design idea begs to be built mid-session, note it; don't37 build it here.382. **Every guardrail carries an Evolution Assessment tag.** Each one is either39 a **temporary patch** compensating for the *current* executor's specific40 weakness (tag it `deprecatedWhen: <condition>`) or a **durable pattern**41 (survives model/executor upgrades). Mandatory on every guardrail regardless42 of chosen executor — whatever runs the loop tends to change.433. **Grounding beats self-report.** Every success claim needs an44 execution-grounded check — validated by actual execution or evidence, not by45 the executor asserting it worked. A verifier that shares the executor's46 blind spots is not independent (see Autoimmune verification).474. **Every autonomous-action point states its blast radius.** The worst48 irreversible thing this agent could do before a human sees it, and how that49 is bounded. No exceptions for "it's just a read."505. **Bounds are named, not implied.** Every loop states max iterations *and* a51 divergence/oscillation detector. "Loop until success" is contraband. Every52 self-correction loop is interruptible by an external signal, not only53 self-terminating.546. **`[NC: question]` markers, never silent guesses.** Unknowns are tagged55 inline and enumerable, carrying a default where one exists:56 `[NC: question — default X]`. No marker survives into the finished design.577. **Hunches enter as hypotheses.** The designer's and the operator's58 assumptions land in the assumptions ledger as hypotheses, not hardened59 requirements.6061## Process6263Run these as numbered steps, converging between each.6465- **Step 0 — Goal & autonomy framing.** Restate the function in one sentence66 (input → outcome). State the autonomy level: how much may the executor do67 before a human sees output? Draw the **human-only boundary** — which68 decisions must remain a human's to make and must never be decided unattended,69 applied to the harness's autonomy boundaries. Raise scrutiny when any of70 these are present: the harness runs unattended or scheduled; it writes71 durable or shared state; it contains an irreversible action; it chains three72 or more side-effecting tools in one loop.73- **Step 1 — Executor topology.** Decide, for *this* goal, what runs the loop —74 single model, multi-agent team, or a capable model driving the loop directly75 — weighing reliability against compute cost. This is genuinely open per76 harness. One available shape: a four-role split — **hypothesis →77 implementation → independent verification → composition** — for goals where78 independent verification matters more than team scale. **Before defaulting to79 any multi-agent team, answer: what new information does each added agent80 contribute?** Absent genuinely new information entering the system, more81 agents cannot beat one well-designed agent (see Unjustified team topology).82- **Step 2 — Core loop & tool registry.** Specify the execution loop; the83 default is **modify → run → evaluate → iterate** with minimal infrastructure.84 Register every tool with its side-effect class and its Evolution Assessment85 tag. Prefer session-scoped, time-limited credentials issued per run over a86 static allowlist.87- **Step 3 — Grounding & self-correction.** Specify (a) what execution-grounded88 check exists versus the executor merely self-reporting; and (b) if the89 harness lets its executor revise its own instructions over repeated runs, a90 **bounded self-revision mechanism**: edit scope limited to the failing91 component (not a rewrite), a regression check against previously-passing92 cases before accepting a change, and a logged **rejected-edit buffer** ("we93 tried this, it broke X") so the same bad fix is not re-proposed. This is what94 the `deprecatedWhen` tag *does*, not just a label. State the loop bound and95 oscillation detector (Law 5).96- **Step 4 — Guardrails & Evolution Assessment.** Enumerate guardrails; tag97 each temporary-patch vs. durable-pattern (Law 2). Include the **graduated98 halt**: a named *soft-stop* (flag + pause for human review) distinct from a99 *hard-stop* (kill the run) — the first response to a detected defect is a100 review request, not an automatic full stop. `[NC]` the concrete interrupt101 delivery mechanism if it is unknown for the chosen executor.102- **Step 5 — Anti-pattern scan.** Run the checklist below; each hit is either103 repaired or logged as accepted risk.104- **Close — gate → adversarial review → sign-off.** Gate: every guardrail105 tagged; every autonomous action has a blast radius; every loop bounded; at106 least one soft-stop; no `[NC]` markers survive; the single-point-of-failure107 audit is non-empty or explicitly "none"; the human-only boundary applied.108 Subject the draft to adversarial review, surfacing framing failures first.109 Then take explicit affirmative sign-off — silence is not a signature — and110 write a dated changelog entry.111112## Anti-pattern scan113114Repair or log as accepted risk.115116- **Autoimmune verification** — the verifier shares blind spots with the117 executor it grades *even when nominally a separate pass or role*: same model118 family, same prompt author, same training-data gaps. The doc must state what119 makes the verifier's failure modes **independent** of the executor's — not120 merely that a separate call exists.121- **Fail-open on tooling/infra error** — fail-closed must cover the permission122 machinery *itself* failing: classifier error, approval-service timeout,123 policy-lookup failure, audit-log write failure → default to **block**, never124 silent-permit. Distinct from fail-closed on a policy violation.125- **Cockpit chatter** — letting the executor perform unrelated or exploratory126 actions mid-critical-task instead of within a scoped, single-purpose action127 window.128- **Unjustified team topology** — multi-agent by default without answering what129 new information each agent adds. Watch cascade amplification, topological130 sensitivity, consensus inertia.131- **Unbounded / self-terminating-only loop** — no iteration cap, no oscillation132 detector, or no external interrupt (Law 5).133- **Ungrounded success** — correctness rests on the executor's self-report134 (Law 3).135- **Untagged guardrail** — any guardrail missing its Evolution Assessment tag136 (Law 2).137138## Output template139140A living document, revised in place, with a dated changelog at the bottom.1411421. **§Goal** — one sentence, input → outcome.1432. **§Autonomy & risk level** — how much runs before a human sees output; the144 human-only boundary.1453. **§Core loop** — the execution loop (modify → run → evaluate → iterate by146 default).1474. **§Grounding & self-correction** — execution-grounded check; bounded148 self-revision mechanism if self-revising; loop bound + oscillation detector.1495. **§Guardrails** — each with its Evolution Assessment tag; graduated halt150 (soft-stop vs. hard-stop).1516. **§Blast radius** — per autonomous-action point: worst irreversible outcome152 + how bounded.1537. **§Tool registry** — tools, side-effect class, Evolution tag, session-scoped154 credential note.1558. **§Evolution assessment** — the roll-up of temporary-patch vs.156 durable-pattern tags.1579. **§Scope & assumptions ledger** — hypothesis vs. established fact; what's158 cut.15910. **§Executor topology** — chosen executor + the reasoning (single / team /160 model-driven); the team-justification answer.16111. **§Single-point-of-failure audit** — every point where a single unverified162 LLM judgment is load-bearing; each gets a second independent path or an163 explicit accepted-risk sign-off.16412. **§Context compaction / recovery cadence** — for long loops: how the165 trajectory is periodically compacted and the *original task intent*166 reinjected into a clean window.16713. **§Cost governance** — three sub-limits, not one global cap: per-action,168 per-agent/session, and fleet/spawn throttling.16914. **§Instruction architecture** — instruction / auto / session-extraction170 memory layering; progressive disclosure.17115. **§Context / memory** — externalized memory as a virtualized172 scratch/filesystem the executor reads and writes, not in-context accretion.17316. **§Skills / connectors** — lazy-loaded capabilities.17417. **§Safety & approvals** — fail-closed policy including the checker itself;175 each entry Evolution-tagged; session-scoped credentials.17618. **§Observability** — logging/tracing; **claim lineage** (source, timestamp,177 execution/evidence anchor) mandatory for any goal producing a deliverable178 document or analysis.17919. **§Evals + harness eval protocol** — eval cases, *plus* how to test the180 **scaffold itself** with the model held as a controlled variable, so the181 harness can be evaluated independent of which model fills the executor slot.18220. **§Sign-off & changelog** — explicit affirmative sign-off; dated changelog.183184## Out of scope185186- Executing the function, or becoming the running system.187- Wrapping and adopting an existing third-party harness framework as-is — this188 produces a design, not an adoption.189- Recursive self-governance — a harness that edits its own governing rules — is190 out of scope to build in. If a design surfaces the temptation, flag it as a191 risk to discuss inside the design, not a feature to ship.