aaddrick/contrarian

41 stars · Last commit 2026-10-07

Devil's advocate for coding agents. Stress-tests plans, architecture and decisions with a steel-man, an assumption audit and a pre-mortem, then gives severity-rated findings and a verdict. Works in Claude Code, Codex, Cursor, Gemini CLI, Copilot and 12 more.

README preview

<p align="center">
  <img src=".github/assets/social-preview.png" alt="Contrarian" width="640">
</p>

<p align="center">
  <strong>Contrarian</strong><br>
  <em>A devil's advocate for coding agents. It stress-tests plans before reality does.</em>
</p>

<p align="center">
  <a href="UNLICENSE"><img src="https://img.shields.io/github/license/aaddrick/contrarian?style=flat" alt="License"></a>
  <a href=".github/workflows/checks.yml"><img src="https://img.shields.io/github/actions/workflow/status/aaddrick/contrarian/checks.yml?label=checks&style=flat" alt="Checks"></a>
  <a href=".github/workflows/plugin-load-check.yml"><img src="https://img.shields.io/github/actions/workflow/status/aaddrick/contrarian/plugin-load-check.yml?label=plugin%20loads&style=flat" alt="Plugin loads"></a>
</p>

<p align="center">
  <a href="https://www.linkedin.com/in/aaddrick/">Connect on LinkedIn!</a>
</p>

When everyone agrees on a plan, your coding agent agrees too. Contrarian's job is to assume the consensus is wrong and find out what that world looks like. It steel-mans the proposal first, audits the unstated assumptions, runs a pre-mortem, and checks each objection before it calls it serious.

View full repository on GitHub →