Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
中文简介正在准备中。当前显示原文说明。
Use to drive a scalar metric down or up across bounded iterations — keep on strict improvement, revert otherwise, state on disk. Triggers 'minimize X', 'optimize until it stops improving'.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
A bounded change → commit → evaluate → keep-or-revert cycle against a scalar metric, where the decision input is an evaluator-output verdict and the loop's entire state lives in an append-only register on disk.
This file routes. The protocol, the register format, and the pivot ladder are reference files loaded on demand — a loop doctrine read in full on every session that merely mentions optimization is a payload nobody asked for.
| Need | Load |
|---|---|
| The iteration protocol and its two exit conditions | references/protocol.md |
| The register's row shape and write ordering | references/register-format.md |
| What to do when the metric stops moving | references/pivot-ladder.md |
Do NOT use when:
verify-repair-loop,
which converges toward it. This skill has no destination; it has a direction.THE METRIC IS NEVER SOVEREIGN. `pass` IS.
KEEP ONLY ON `pass && score > baseline`. A CHANGE THAT IMPROVES THE NUMBER
AND BREAKS BEHAVIOUR IS REVERTED — MEASURED, NOT ASSUMED.
COMMIT BEFORE YOU EVALUATE, SO EVERY REVERT IS A GIT OPERATION.
THE REGISTER IS WRITTEN BEFORE THE ACTION IT RECORDS, NEVER AFTER.
STATE LIVES ON DISK AND IS RE-READ EACH CYCLE — NEVER IN THE CONVERSATION.
Each line is a measured failure, not a preference. Spike s01 ran a change that
improved its metric by 67 % and broke the behaviour it measured; only pass
reverted it. The same run crashed between its commit and its register append,
twice, leaving the branch one iteration ahead of its own record.
pass must be true and metric_state
must be present. A baseline taken from an evaluator that is already red, or
whose metric is unreadable, is not a baseline — every later comparison
inherits the defect silently.references/protocol.md: one focused
change, commit, evaluate, keep or revert, append the outcome.pass: true.The register path, and the iteration count actually run against the bound.
A metric line: baseline → final, and the number of keeps versus reverts.
The exit condition that fired, named — bound reached, or exit signal.
A run_terminal value — the exit in the vocabulary every other loop in
this tree reports in, so a reader can count this run's stop alongside the
continuation hook's and the self-fix lanes' without a per-surface
translation table.
| exit condition | run_terminal |
|---|---|
score >= target — the run had a destination and reached it | success |
iterations_run >= max_iterations — the declared bound | exhausted |
consecutive_reverts >= N — the exit signal fired | stagnated |
| the evaluator was red on the unchanged tree, so no iteration ran | clean-no-op |
| the run stopped on a missing precondition (metric unreadable, verifier absent) | blocked |
The value set is RunTerminalState — success, clean-no-op, blocked,
approval-required, exhausted, stagnated, premise-invalidated —
declared once at src/scripts/_lib/outcome_vocabularies.ts
(RUN_TERMINAL_STATES) and described in
terminal-states.
A new exit condition maps onto an existing member or it is not a terminal
state; never invent a value here.
exhausted and stagnated stay distinct on purpose. This skill's own pivot
ladder already treats them differently — a spent bound may deserve a larger
one, while consecutive reverts mean the hypothesis class is done and route to
the ladder instead. Reporting both as "stopped" throws away the part that
decides what happens next.
Reaching the bound is a normal exit, not a failure, and exhausted does not
say otherwise — it says where the run stopped, never whether it was worth
running. A published null is still a result.
Every reverted iteration listed with its reason. A revert is a result the next run needs, not noise to summarise away.
pass is
sovereign. Never widen a verifier to make an iteration keep.score alone.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
中文简介正在准备中。当前显示原文说明。
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
中文简介正在准备中。当前显示原文说明。
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
中文简介正在准备中。当前显示原文说明。
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
中文简介正在准备中。当前显示原文说明。
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
中文简介正在准备中。当前显示原文说明。
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
中文简介正在准备中。当前显示原文说明。