adversarial-review
Skill4 starsChanged 48 days agoMITView on GitHub
Multi-role adversarial code review (platform skill). Agent loads this skill and runs the co-located runner (find → refute → sandbox repro); humans only state intent (审一下 / 对抗审查). Works for OpenClaw Main and host TUI agents via user-level skill links. Use when user asks for adversarial review, acceptance recommends review, or runtime code changed before merge.
104 other projects use a version of this.
Adopted by
Most recently taken up by
- revisit-studies/studytheir own version, first seen Nov 9, 2026
- ozt88/skillstheir own version, first seen Nov 8, 2026
- selamy-labs/agent-skillstheir own version, first seen Nov 8, 2026
- kellen-miller/skillstheir own version, first seen Nov 8, 2026
- leinardi/adversarial-review-looptheir own version, first seen Nov 8, 2026
- artberri/skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use rethink, root-cause-analysis and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
fabioespindulaSkillrethink
Reframe a plan, idea, or decision before the user commits to it. Use when the user asks to rethink, step back, pressure-test, gut-check, decide, right-size, simplify, think bigger about, or evaluate a concrete plan or decision in product, strategy, technical architecture, career, life, company direction, or personal priorities. This skill improves decision quality before action: clarify the real question, challenge assumptions, compare alternatives, calibrate ambition, classify the operating mode, surface risks, and recommend a next move. Do not use for broad future exploration without a concrete decision; that belongs to a think-big or research-style skill.
Also in 3 projects that use this
MicrosoftSkillroot-cause-analysis
Use when a Regional Retail Manager asks I'm seeing unusual inventory movement at our Northwest stores. Can you help me understand what's happening?
Also in 3 projects that use this
anasahmed07Skillbetter-auth-best-practices
Skill for integrating Better Auth - the comprehensive TypeScript authentication framework.
Also in 4 projects that use this
DockerSkillfix-issue
Fix a single GitHub issue end-to-end: triage, research, write the fix, review, and create a PR. Use when asked to fix an issue: "fix issue 1234", "resolve #500", "create a PR for issue 200".
Also in 3 projects that use this
MicrosoftSkillpull-request
Write concise, focused pull request descriptions for Wassette — at most three sentences on the what and why, with an explicit note on any breaking public-API change and how users adapt. Use when opening or editing a Wassette pull request.
Also in 3 projects that use this
juriwiensSkillcodex-review
Run code review via Codex CLI
Also in 3 projects that use this
- +2 more from microsoft
Other versions104 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 104
- PrefectHQ/fastmcp★ 28ksame name
- jlowin/fastmcp★ 28ksame name
- mengxi-ream/read-frog★ 10ksame name
- epicenter-md/epicenter★ 4.8ksame name
- EpicenterHQ/epicenter★ 4.8ksame name
- basicmachines-co/basic-memory★ 4.5ksame name
- DanMcInerney/architect-loop★ 626same name
- deadlock-mod-manager/deadlock-mod-manager★ 584same name
- boraoztunc/skills★ 454same name
- syahiidkamil/Software-Engineer-AI-Agent-Atlas★ 404same name
94 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- frontend-designSkill
- web-design-guidelinesSkill
- brainstormSkill
- cross-repo-delegateSkill
- habit-weeklySkill
- human-runSkill
- repo-hygieneSkill
- wezdeck-runtime-opsSkill
- worktree-recycleSkill
- yuns-engineerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 5 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 93 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 31
Write-task checklist: acceptance suggests review
- Very specific: line 33
After editing this toolkit itself → dogfood
- Very specific: line 51
Prefer different families than the writer (strategy B via --writer).
- Very specific: line 74
Never: default to $TARGET/skills/adversarial-review unless that path actually exists (compat only).
- Very specific: line 138
If impact_candidates_n == 0 or you choose not to filter, skip to step 5 without --project-slice-file.
- Very specific: line 209
Don't ask the human to run run.sh as the main path
- Very specific: line 210
Don't use ACP CODEX_HOME for review (env -u CODEX_HOME is inside provider)
- Distinctive: line 211
Don't skip refute when claiming 对抗审查
- Distinctive: line 212
Don't call solo Main analysis 对抗审查
- Distinctive: line 213
Don't run this skill on pure design-doc review and claim 对抗审查
- Very specific: line 214
Don't treat main-agent PROJECT_SLICE filter as a review gate or drop hits to hide risk
- Distinctive: line 215
Don't assume the skill lives only under the TARGET repo
- Very specific: line 216
Don't force-push; wezdeck personal mainline may push master after green (L0-13/19)
“Common” is measured: kept by at least 6 in 10 of the 93 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Adversarial review (platform skill — single source)
Who runs: the coding agent (OpenClaw Main / Claude-TUI / Codex-TUI), not the human.
Never tell the user to copy-paste run.sh as the primary path.
Never replace this with a solo monologue and call it 对抗审查 (that is 设计批判).
This directory is the only skill + runner unit. Other paths are symlinks (user-level or in-repo discovery). Do not maintain a second SKILL.md body.
Who runs what
| Actor | Duty |
| Human | Intent only:「对抗审查」「审一下这批改动」「按推荐审查」 |
| Any agent | Load this skill → resolve TOOL + TARGET → run → disclose |
| Host headless backends | claude / codex / grok as find/refute (not ACP by default) |
When to load / run
- User asks for 对抗审查 / adversarial review / multi-role review
- Write-task checklist: acceptance suggests review
- Runtime code/scripts changed (any git TARGET the agent may review)
- After editing this toolkit itself →
dogfood
Skip / redirect:
- Pure docs/tests-only (runner auto-skips); user explicitly skips with reason
- Design docs / RFC / ADR / 方案提案 (no runtime diff): do not force this
skill. Use 设计评审 (structured checklist in host
validation.md→ Design proposal review) or brainstorm only when the user still wants alternative approaches. Never label a doc critique 对抗审查.
Multi-role minimum
| Role | Stance | Runner stage |
| find / reviewer | guilty-until-proven | stage 1 |
| refute / refuter | kill weak findings | stage 2 |
| repro | empirical in sandbox | stage 3 |
- Prefer different families than the writer (strategy B via
--writer). - Same capability twice OK → label SINGLE-MODEL / degraded; do not skip refute.
- Solo essay without opposite roles → 设计批判, not 对抗审查.
Paths: TOOL vs TARGET (critical)
Do not assume ./skills/adversarial-review exists in the repo under review.
| Name | Meaning |
| TOOL_HOME | This skill/runner directory (where run.sh lives) |
| TARGET | Git repo being reviewed (--repo or current git toplevel) |
Resolve TOOL_HOME (first hit wins)
1. $ADV_REVIEW_HOME # explicit override
2. directory of this SKILL.md if run.sh is co-located
3. $WEZDECK_ROOT/skills/adversarial-review
4. $HOME/github/wezterm-config/skills/adversarial-review
5. else: fail clearly — "adversarial-review tool not installed; run link-platform-skills.sh"Never default to $TARGET/skills/adversarial-review unless that path
actually exists (compat only).
Resolve TARGET
--repo <path> if given
else: git rev-parse --show-toplevel from cwdContext pack v1
Find and refute receive the same pack (not bare diff):
- META / INTENT / CHANGESET / DIFF / FILES / PROJECT_SLICE / NOTES
- PROJECT_SLICE = downstream refs to changed symbols (blast radius); grep floor,
language-aware resolvers pluggable.
--no-impactto skip. - Main-agent filter (optional): coarse filter of grep
same-namecandidates before gates — not a fourth adversarial role. See procedure below. --head WORKTREEincludes uncommitted TARGET changes--intentor--intent-file(else commit message or degraded none)- Budget:
--max-files(10)--max-file-bytes(40960)--context-window(200) - Optional:
--keep-pack DIRto retain pack.md +impact_candidates.json
# One-shot (no filter) — still valid default
"$TOOL_HOME/run.sh" HEAD --head WORKTREE --repo "$TARGET" \
--writer main --intent "what this change is for" --mode strictAgent procedure
- Identify TARGET cwd/repo,
BASE_REF, writer
(main|claude|codex|grok|human) - Resolve TOOL_HOME (above). Confirm
"$TOOL_HOME/run.sh"is executable. - Optional dry probe
"$TOOL_HOME/lib/select-backends.sh" --writer <writer> --no-probe Optional · main-agent PROJECT_SLICE filter (recommended when impact noise is high or you already know the module map; skip when candidates are few / empty):
You (the orchestrating main agent) have project context. You may coarse-filter grep floor hits before find/refute. This is material budget, not review:
Do Don't Drop obvious decoy same-name (wrong language tree, generated, lock, unrelated package) Drop because “probably unused” without a reason Keep anything that might be a real consumer Write findings / severities here When unsure → KEEP Shrink the slice to make the change look safer Record short notes on what you dropped Replace refute or claim you “pre-reviewed” PACK_DIR="$(mktemp -d "${TMPDIR:-/tmp}/adv-pack.XXXXXX")" "$TOOL_HOME/run.sh" <BASE_REF> --repo "$TARGET" --writer <writer> \ --head WORKTREE --pack-only --keep-pack "$PACK_DIR" --json \ > "$PACK_DIR/pack-only.json" # Read $PACK_DIR/impact_candidates.json (or .impact_candidates in pack-only.json). # Write keep list (array of hits, or object form): # { "keep": [ ... ], "dropped": [ ... ], "filter": "main-agent", # "notes": "dropped foo.go: decoy same-name in vendor" } # Template: $PACK_DIR/project_slice.keep.example.jsonIf
impact_candidates_n == 0or you choose not to filter, skip to step 5 without--project-slice-file.- Run gates
Or one-shot without filter:"$TOOL_HOME/run.sh" <BASE_REF> --repo "$TARGET" --writer <writer> --mode strict \ --project-slice-file "$PACK_DIR/project_slice.keep.json" # if filtered
Explicit backends only if user named them:"$TOOL_HOME/run.sh" <BASE_REF> --repo "$TARGET" --writer <writer> --mode strict
长跑解耦(host 支持后台时):三门全量 + 慢后端(codex)可能数分钟。若 host 支持后台执行(Claude Code 的 Bash"$TOOL_HOME/run.sh" <BASE_REF> --repo "$TARGET" \ --reviewer claude --refuter codex --mode strictrun_in_background),后台跑 run.sh 且--json > <file>,完成后读该文件再汇报,别同步阻塞会话;host 不支持后台 (如 Codex-TUI)则同步跑,先给用户一句「耗时约 N 分钟」预告。 - Report with mandatory disclosure (below). Include
impact_filterwhen set. Honest fail if tool/backends fail. - Do not claim cross-agent if form is single-model; do not invent green gates.
Writer → expected pair (strategy B)
| writer | Typical pair when available |
claude / Claude-ACP/TUI | codex × grok |
codex / Codex-* | claude × codex (else × grok) |
main / Main-Grok | claude × codex |
human | same as global best |
Mandatory disclosure (paste into 结果)
## 对抗审查披露
- writer: Main-Grok | Claude-ACP | Codex-ACP | human | …
- 形态/form: cross-family | partial-avoidance | single-model-multi-role | …
- form/degraded/reason: (from select-backends / run log)
- reviewer 全名 / 立场: …
- refuter 全名 / 立场: …
- impact_filter: none | main-agent (kept K / candidates C; dropped D) + notes if any
- repro: 已跑 | 跳过(理由)
- 命令或范围: run.sh <BASE> --repo <TARGET> --writer … [--project-slice-file …]
- skipped_gates: … | 无
- 关键结论(每条标 [阻塞] / [非阻塞·backlog]): …(绑 find/refute/repro)Helper commands (agent-only)
"$TOOL_HOME/run.sh" selfcheck claude codex grok
"$TOOL_HOME/run.sh" dogfood --mode strict --fail-on-finding
"$TOOL_HOME/run.sh" <BASE> --repo "$TARGET" --writer main --dry-run --no-probe
"$TOOL_HOME/run.sh" <BASE> --repo "$TARGET" --pack-only --keep-pack /tmp/p --json
"$TOOL_HOME/run.sh" <BASE> --repo "$TARGET" --project-slice-file /tmp/p/project_slice.keep.json
PROVIDER_MOCK=1 "$TOOL_HOME/run.sh" <BASE> --repo "$TARGET" # offline, no LLM
# reasoning effort per stage: find/refute=high, repro=low (passed to provider CLI)Install / refresh user-level discovery (idempotent):
# from wezdeck primary
./scripts/dev/link-platform-skills.shDon't
- Don't ask the human to run
run.shas the main path - Don't use ACP CODEX_HOME for review (
env -u CODEX_HOMEis inside provider) - Don't skip refute when claiming 对抗审查
- Don't call solo Main analysis 对抗审查
- Don't run this skill on pure design-doc review and claim 对抗审查
- Don't treat main-agent PROJECT_SLICE filter as a review gate or drop hits to hide risk
- Don't assume the skill lives only under the TARGET repo
- Don't force-push; wezdeck personal mainline may push master after green (L0-13/19)
Related
- Runner (this dir):
run.sh,lib/,prompts/ - Docs:
docs/adversarial-review.md(wezdeck) - Host doctrine:
agent-profiles/v1/en/validation.md - Link installer:
scripts/dev/link-platform-skills.sh - OpenClaw L0-21: short always-on rule in
workspace/AGENTS.md; disclosure template SoT = this file
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

