council-adversary

council-adversary is a skill for Claude Code, Codex from vraj-ai/skills. It costs 62 tokens per session (484 once invoked), scanned A, original, MIT.

A read-only review procedure that attacks a proposed change or completed deliverable to find specific, reproducible problems. It checks code, security boundaries, missing related changes, and whether the work meets its acceptance rules.

In plain words
What is it for?
Reviewing a worktree diff, a whole deliverable, or final code and returning a blocking result with numbered findings when an invariant or acceptance requirement is broken.
Why use it?
It provides an independent check after work is assembled, helping expose failures that the people making the change may have overlooked. Findings must identify the exact evidence and condition that triggers them.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents.

Good fit Reviewing a worktree diff, a whole deliverable, or final code and returning a blocking result with numbered findings when an invariant or acceptance requirement is broken.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/vraj-ai/skills/council-adversary
Install

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.

Any agent
npx skills add vraj-ai/skills --skill council-adversary
Clone the repo
git clone --depth 1 https://github.com/vraj-ai/skills

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for council-adversary

README.md
[![agentmods](https://agentmods.dev/badge/skills/vraj-ai/skills/council-adversary/github.svg)](https://agentmods.dev/skills/vraj-ai/skills/council-adversary)
Your own site
<a href="https://agentmods.dev/skills/vraj-ai/skills/council-adversary"><img src="https://agentmods.dev/badge/skills/vraj-ai/skills/council-adversary/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for council-adversary

Your own site · 80×15
<a href="https://agentmods.dev/skills/vraj-ai/skills/council-adversary"><img src="https://agentmods.dev/badge/skills/vraj-ai/skills/council-adversary.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 484 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00062 $0.00484
Opus 5 $0.00031 $0.00242
Sonnet 5 $0.00012 $0.00097
Haiku 4.5 $0.00006 $0.00048

Measured 6d ago against content hash e84f1708d2d9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

council-adversary 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 6d 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.

delivery/council-adversary/SKILL.md · 54 lines

What it actually says

Council Adversary

The adversary is a task: deny, edit: deny subagent. It never writes the deliverable, fixes findings, or delegates. Spawn it after convergence, not during ideation. The maker fixes; this agent only attacks.

Evidence standard

Attack correctness, total blast radius, missing co-changes, API contract drift, security boundaries under composed inputs, dangling references from cancelled items, scope creep, over-engineering, and under-engineering.

Every finding must be falsifiable and include:

  • severity (P0-P3);
  • exact file:line evidence;
  • the input or condition that triggers it;
  • the observed wrong behavior;
  • the violated acceptance criterion or invariant.

"Error handling could be more robust" is not a finding.

T0 hardened scope (optional)

Read one worktree diff, its item acceptance criteria, and locked verification command. Return PASS or FAIL plus numbered findings. This is a third review after the normal two T0 members.

T2 whole-deliverable scope (optional)

Read the cumulative diff from the pre-goal merge base, plan success criteria, and invariant docs. Return SOUND, NEEDS-FIXES, or UNSOUND.

T3 final code-level scope (mandatory)

After T2, read the full cumulative diff on MAIN_BRANCH. Review merged paths as a composed system rather than isolated items. Return:

  • SHIP: no blocking finding;
  • SHIP-WITH-FOLLOWUPS: P0/P1 must be ingested and drained before completion; P2 may be deferred as a follow-up issue;
  • BLOCK: a P0 prevents completion and must be surfaced to the human.

Write the structured verdict to CONTEXT/goals/<slug>/reviews/T3.json. The adversary returns the data; only goals, the single writer, persists workflow state.

Changes

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.

  1. 6d ago Changed · +1 lines e84f1708d2d9
  2. 11d ago First seen · 53 lines · 62 tokens per session scan A 53370134b33e

Subscribe to this mod's changes

council-adversary is a skill published in the GitHub repository vraj-ai/skills (4 stars, last pushed 5d ago), licensed MIT. It adds 62 tokens to every session and 484 once invoked, about $0.0003 per session on Opus 5. 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.

Related

Other skills, from other repositories

cn-check

Install and run the Continue CLI (cn) to execute AI agent checks on local code changes. Use when asked to "run checks", "lint with AI", "review my changes with cn", or set up Continue CI locally.

continuedev/continue · 49 tokens

printing-press-output-review

Internal sub-skill: agentic review of a printed CLI's sampled command output for plausibility issues that rule-based checks can't encode (substring-match relevance, format bugs, silent source drops, ranking failures). Invoked via the Skill tool by the main printing-press skill at Phase 4.85 and printing-press-polish…

mvanhorn/cli-printing-press · 102 tokens

review

Validate plans, execution, or PRs against wish criteria — returns SHIP / FIX-FIRST / BLOCKED with severity-tagged gaps.

automagik-dev/genie · 29 tokens

review

Adversarial fresh-context review of an increment before it ships. Every finding cites path:line and is re-verified. Use when saying "review", "grill this", or "critique the implementation".

anton-abyzov/specweave · 43 tokens

genie-orca-review

Independent, read-only review of a group, a wish, or a PR on Orca — SHIP / FIX-FIRST / BLOCKED with severity-tagged findings. Council and retro are this skill with a different input.

automagik-dev/genie · 50 tokens

argot-check

Score your working changes with argot — flag code foreign to this repo's own patterns (unfamiliar dependencies, APIs, constructs), functions the repo already has, code filed in the wrong place, imports that break the repo's layering, and tests weakened, disabled, or deleted alongside a production change — before…

get-tmonier/argot · 110 tokens