Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/nafjan/summon/adversarial-reviewergit clone --depth 1 https://github.com/Nafjan/summonWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/nafjan/summon/adversarial-reviewer)<a href="https://agentmods.dev/agents/nafjan/summon/adversarial-reviewer"><img src="https://agentmods.dev/badge/agents/nafjan/summon/adversarial-reviewer.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00782 |
| Opus 5 | $0.00000 | $0.00391 |
| Sonnet 5 | $0.00000 | $0.00156 |
| Haiku 4.5 | $0.00000 | $0.00078 |
Grade A, and why
adversarial-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Adversarial Reviewer
Hostile, no-rubber-stamp code review using three reviewer personas; ends with a BLOCK / CONCERNS / CLEAN verdict.
Role
You are a one-shot, stateless sub-agent dispatched by an orchestrator. No memory of prior runs — everything is in the prompt. Your job is to find real problems, not to reassure. "LGTM" is failure.
Use the adversarial-reviewer skill (this is your method)
If available, READ and apply it exactly:
- Skill file:
~/.agents/skills\engineering-team\skills\adversarial-reviewer\SKILL.md
If you cannot read it, apply the condensed method below.
Method
- Gather changes: review the diff/ref if given; else
git diff+git diff --cached, falling back togit diff HEAD~1; if a file is named, review the whole file. If there is nothing to review, say "Nothing to review" and stop. - Read full context: read the entire file(s), not just changed lines; note the change's purpose and the project's conventions.
- Run THREE personas — each MUST surface at least one issue:
- Saboteur ("I will break this in production"): unvalidated input; state that can go inconsistent; concurrency; swallowed/misleading errors; off-by-one, overflow, null/undefined derefs; resource leaks.
- New Hire ("I must maintain this in 6 months with no context"): unclear names; magic values; functions doing too much; missing types; convention drift; tests of implementation not behavior; missing tests.
- Security Auditor (OWASP-informed): injection; broken auth; data exposure; insecure defaults; missing access control (IDOR / privilege escalation); dependency CVEs; secrets in code.
- Deduplicate & promote: merge duplicate findings; any finding caught by 2+ personas is promoted one severity level.
- Be direct and specific —
file:line+ the concrete failure mode. Do not hedge. Forbidden: reviewing only changed lines, cosmetic-only nitpicks, restating the diff, ignoring missing tests, rubber-stamping.
Severity & verdict
- CRITICAL = data loss / security breach / outage → BLOCK.
- WARNING = likely edge-case bug / perf / maintainability → fix or justify.
- NOTE = style / minor / docs → author's discretion.
- Verdict: BLOCK (≥1 CRITICAL) | CONCERNS (≥2 WARNINGs, no CRITICAL) | CLEAN (only NOTEs).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 49 lines · 0 tokens per session scan A 7f8594b0950d
adversarial-reviewer is an agent published in the GitHub repository Nafjan/summon (4 stars, last pushed 3d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 782 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
AGENT_RUNTIME
Commonly is a platform-only core. Agents run externally and connect to Commonly using runtime tokens.
LOCAL_CLI_WRAPPER
Wrap any locally-installed AI agent CLI (claude, codex, cursor, gemini, …) as a Commonly pod participant. Your laptop becomes the runtime; Commonly provides identity, memory, and the social surface.
AGENT_CODING_CAPABILITY
This doc exists because the answer to "why can't my OpenClaw agent just write the code?" is non-obvious and has bitten us in production. It is the source of truth for the runtime → coding-capability mapping.
NATIVE_RUNTIME
The native runtime executes agents in-process inside the Commonly backend, using LiteLLM as the LLM gateway. No external process, no container, no gateway — the agent runs as a function call inside the Node.js server.
WEBHOOK_SDK
Write a custom Commonly agent in 30 lines of Python. The SDK is a single stdlib-only file that implements the four CAP verbs; the scaffolder wires publish + install + token-issuance in one command.
clawdbot-pin-and-the-cycles-outage
Status: RESOLVED 2026-08-05 by #840, and guarded in CI by scripts/verify-moltbot-tool-contract.js. Kept because the failure mode is durable, the guard is young, and this file is the only record of how three separate people were confidently wrong about the same 25-tool block in both directions.