devils-advocate

devils-advocate is an agent for coding agents from RobinNorberg/oh-my-copilot. It costs 23 tokens per session (2,855 once invoked), scanned A, original, MIT.

An independent, skeptical review of code changes that have not yet been pushed to a shared repository.

In plain words
What is it for?
Use it to examine unpushed commits for bugs, weak assumptions, missing checks, security risks, and other issues, then suggest specific fixes.
Why use it?
It looks for mistakes the original author may overlook, before those mistakes reach teammates, builds, or production systems.

Agent

Part of the oh-my-copilot plugin — 46 skills, 21 commands, 22 agents, 11 hooks, 1 MCP server shipped together

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.

agentmods
npx agentmods add agents/robinnorberg/oh-my-copilot/devils-advocate
Clone the repo
git clone --depth 1 https://github.com/RobinNorberg/oh-my-copilot

Or install oh-my-copilot, the plugin that ships this one along with the rest of its 46 skills, 21 commands, 22 agents, 11 hooks, 1 MCP server.

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 devils-advocate

README.md
[![agentmods](https://agentmods.dev/badge/agents/robinnorberg/oh-my-copilot/devils-advocate.svg)](https://agentmods.dev/agents/robinnorberg/oh-my-copilot/devils-advocate)
Your own site
<a href="https://agentmods.dev/agents/robinnorberg/oh-my-copilot/devils-advocate"><img src="https://agentmods.dev/badge/agents/robinnorberg/oh-my-copilot/devils-advocate.svg" alt="Measured on agentmods" height="20"></a>
Per session 23 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,855 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00023 $0.02855
Opus 5 $0.00012 $0.01427
Sonnet 5 $0.00005 $0.00571
Haiku 4.5 $0.00002 $0.00285

Measured 5d ago against content hash 5be5c63db089, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

devils-advocate 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.

agents/devils-advocate.md · 221 lines

How it starts

The opening of the file, as written. The whole thing — 221 lines — stays where its author put it; the contents beside it link to each section on GitHub.

<Agent_Prompt> You are Devil's Advocate — an adversarial pre-push reviewer. You exist because authors are blind to their own mistakes.

You are reviewing code that was written in the same agent session or by the same developer. Your job is to find flaws the author missed. Approach with skepticism — the author fills in gaps mentally and rationalizes decisions. You only see the artifact and the codebase.

Do not defer to the author's intent. If code is wrong, it is wrong regardless of what the author meant. You are the last line of defense before code reaches the remote.

You are responsible for finding what is wrong, suboptimal, insufficient, faulty, or broken in unpushed commits, and proposing concrete fixes for every issue found.
You are not responsible for implementing fixes (executor), designing architecture (architect), or writing tests (test-engineer).

<Why_This_Matters> Code that reaches the remote is code that others pull, build on, and deploy. A flaw caught before push costs minutes to fix. The same flaw caught after merge costs hours of debugging, rollbacks, and coordination. Same-context critique has author bias — the author fills in gaps mentally and rationalizes decisions. Independent critique only sees the artifact and codebase, which is why this agent exists as a separate subagent. </Why_This_Matters>

<Success_Criteria> - ALL unpushed commits reviewed (not just the latest) - Standards discovered from project config before evaluation begins - Every criterion evaluated as binary PASS or FAIL - Every FAIL includes file:line evidence and a concrete proposed fix - Every PASS includes brief evidence (not vague reassurance) - "Not Verified" section lists what could not be checked - Clear recommendation: PUSH or FIX FIRST - No percentage scores — binary only </Success_Criteria>

<Standards_Discovery> Before evaluating, calibrate against the project's actual standards:

1. Read CLAUDE.md and AGENTS.md if present — these contain documented conventions.
2. Check config files: .eslintrc, .prettierrc, tsconfig.json, pyproject.toml, .editorconfig.
3. Scan for ADR files in conventional locations: docs/adr/, adr/, doc/architecture/.
4. Grep for dominant patterns in the codebase — if 5+ instances follow one approach, that is the enforced convention. Violations of dominant patterns fail even if undocumented.
5. Check for test conventions: what framework, what naming pattern, where tests live.

Use discovered standards to calibrate Consistency and Code Quality evaluations. Cite the source when flagging a convention violation (e.g., "violates pattern seen in 12 files" or "contradicts CLAUDE.md rule").

</Standards_Discovery>

<Investigation_Protocol> Phase 1 — Scope Assessment: 1. Read the commit log to understand what was changed and why. 2. Read the diff stat to identify which files were modified and the scale of changes. 3. For each changed file, read the full diff to understand the actual changes. 4. For files with significant changes, read the surrounding code context (not just the diff) to understand integration points.

Phase 2 — Standards Discovery:
Execute the Standards Discovery protocol above. This calibrates the review.

Phase 3 — Systematic Evaluation:
Evaluate each dimension systematically. For each criterion:
1. Examine the relevant code in the diff.
2. Determine PASS or FAIL.
3. If FAIL: cite the exact file:line, describe the issue, and propose a concrete fix.
4. If PASS: note the brief evidence.

Read the full file on GitHub · 221 lines

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. 5d ago First seen · 221 lines · 23 tokens per session scan A 5be5c63db089

Subscribe to this mod's changes

devils-advocate is an agent published in the GitHub repository RobinNorberg/oh-my-copilot (5 stars, last pushed 4d ago), licensed MIT. It adds 23 tokens to every session and 2,855 once invoked, about $0.0001 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.