用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill adversarial-iteration命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | adversarial-iteration |
| description | > Use when this capability is needed. |
Work with adversarial review feedback instead of patching symptoms.
implement -> [spawn round agent -> review -> REFLECT -> reproducer -> fix -> verify -> return summary] --+
^ |
+-------- next round (fresh agent, clean context, re-reads files from disk) <--------------+
terminates when round agent reports ZERO_FINDINGS.
Step 1 (implement) is manual. Steps 2+ run inside /loop autonomously —
no AskUserQuestion, ExitPlanMode, or other user gates. When multiple
approaches exist, tag one "Recommended", pick it, continue. The user can
interrupt at any point; you never pause to ask.
If agents are unavailable, run the next review inline and re-read all changed files before reviewing.
The unique step. Skipping it produces fixes that pass the named test but seed the next finding in the same class.
For each finding, answer:
CLAUDE.md rule did I violate? Be specific.Then across all findings: what's the unifying shape? Often a single cognitive failure caused them all. Name it.
Common shapes:
If reflection produces a new shape, add it to this list.
Timeline draw — For concurrent state changes, draw the interleaved
timeline. Find the check-act gap. Two cooperating booleans is almost always
wrong; use Once, compare_exchange, or a single owner.
Upstream contract read — For any value flowing in, read the producer's contract (grep, 5 lines). Don't assume from the type name. Ask: does this transformation belong in this layer?
Full lifecycle trace — For any fix depending on component cooperation, trace init through teardown. List every component and what happens to in-flight work. Especially: what stops first?
Variant enumeration — For any generic covering N types, list each type's destructor/serializer/contract. Verify the generic satisfies every one. If they differ non-trivially, prefer N type-specific wrappers or parametrize over a closure.
Write the test before the fix. Verify it FAILS on unfixed code — if it passes, it's a tautology. The test must touch the system the bug lives in, not just a helper in isolation. Do not commit yet; all changes commit together after the loop terminates.
Draft a plan (in the response, not via ExitPlanMode) referencing:
Do NOT commit during the loop. All changes accumulate as working-tree edits and are committed once after the loop terminates with zero findings.
After verify passes, do these IN ORDER before spawning the next round. Skipping any one is a protocol violation.
grep -rn 'round\|TODO.*round\|HACK\|FIXME\|debugging\|TEMP' <changed files>.
Remove round-N narrative, debugging scaffolding, and stale TODOs from the
working tree before the next agent reads those files.
Construct this structured summary for the orchestrator to carry forward:
### Round N complete
- Findings: <list of what the review surfaced>
- Root-cause shape: <the REFLECT unifying shape>
- Fixes: <what changed and why, 2-3 sentences max>
- Files changed: <paths>
- Tests: pass/fail
- Remaining risk: <anything REFLECT flagged but did not address>
Read references/round-agent-prompt.md for the agent prompt template. Populate it with:
Spawn a general-purpose agent (not codex:rescue — the round agent needs
Read/Write/Edit/Bash for the full REFLECT->fix cycle). The fresh context
window is the compaction mechanism — no /compact needed.
The agent runs its full round (review -> REFLECT -> reproducer -> fix ->
verify) and returns a structured round summary. The orchestrator evaluates
whether the summary contains ZERO_FINDINGS.
The loop ends when all three hold:
ZERO_FINDINGS after re-reading all changed files.No other exit. Sibling findings recurring -> previous REFLECT was too shallow, go back to REFLECT. Fix getting expensive -> plan the architectural change as this iteration's step, same loop. Never propose "stop here, accept risk."
ExecStdout::next" is./codex:adversarial-review/loop (dynamic-pacing, omit interval)Source: boxlite-ai/boxlite — distributed by TomeVault.