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'.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
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.
日本語の概要は準備中です。原文の説明を表示しています。