agentleFS
flonatflonat/flonat-research/skills/devils-advocate/SKILL.md

devils-advocate

Skill150 starsChanged 9 days agoMITView on GitHub

Adversarially challenge research assumptions, mechanisms, and arguments in writing. Use when stress-testing a claim or design before committing to it. Not for an interactive oral drill or a full referee report; use $grill-me or a review agent.

36 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use validate-bib, review-r and 6 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.
  • luischanciSkill

    validate-bib

    Validate bibliography entries against citations in all manuscript files. Find missing entries and unused references.

    Also in 5 projects that use this

  • luischanciSkill

    review-r

    Run the R code review protocol on R scripts. Checks code quality, reproducibility, domain correctness, and professional standards. Produces a report without editing files.

    Also in 3 projects that use this

  • amaclullichSkill

    lit-review

    Literature review workflow: Search PubMed for papers, save to Zotero, generate summary tables. Use when user wants to find papers on a topic, build a reference collection, or create a literature summary.

    Also in 4 projects that use this

  • JohnJBorenSkill

    product-manager

    Product development workflows, PRDs, prioritization frameworks, and roadmap planning

    Also in 3 projects that use this

  • HK-hubSkill

    distill

    Strip designs to their essence by removing unnecessary complexity. Great design is simple, powerful, and clean. Use when the user asks to simplify, declutter, reduce noise, remove elements, or make a UI cleaner and more focused.

    Also in 3 projects that use this

  • +3 more from luischanci

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 30 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before submitting a paper

    line 19
  2. Distinctive:

    When stuck on a research problem

    line 20
  3. Distinctive:

    When you want to stress-test an argument

    line 21
  4. Very specific:

    When run on a paper in a research project (a paper-*/ directory exists), persist the report and stamp it into the review log — the same …

    line 90

“Common” is measured: kept by at least 6 in 10 of the 30 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Devil's Advocate Skill

Challenge research assumptions and identify weaknesses in your arguments.

Purpose

Based on Scott Cunningham's Part 3: "Creating Devil's Advocate Agents for Tough Problems" - addressing the "LLM thing of over-confidence in diagnosing a problem."

For formal code audits with replication scripts and referee reports, use the Referee 2 agent instead (.claude/agents/referee2-reviewer.md). This skill is for quick adversarial feedback on arguments, not systematic audits.

When to Use

  • Before submitting a paper
  • When stuck on a research problem
  • When you want to stress-test an argument
  • During paper revision planning

When NOT to Use

  • Code audits — use the Referee 2 agent instead
  • Replication verification — use the Referee 2 agent instead
  • Quick proofreading — just ask for a read-through
  • When you want validation — this skill is designed to challenge, not affirm

Workflow

  1. Understand the claim — Read the paper/argument being evaluated
  2. Generate competing hypotheses — If evaluating a research question or design, load references/competing-hypotheses.md and generate 3-5 rival explanations before critiquing
  3. Run the debate — Use the multi-turn debate protocol below (default) or single-shot mode for quick checks
  4. Deliver the verdict — Synthesize surviving critiques with severity ratings

Multi-Turn Debate Protocol (Default)

Inspired by the simulated scientific debates in Google's AI Co-Scientist. A one-shot critique is easy for an LLM to produce but often superficial. Multi-turn debates force each critique to survive a defense, filtering out weak objections and sharpening the strong ones.

Round 1: Adversarial Critic

Adopt the persona of a hostile but competent reviewer. Challenge on:

  1. Theoretical foundations — Are the assumptions justified?
  2. Methodology — Limitations? Alternative approaches?
  3. Data — Selection bias? Measurement issues? External validity?
  4. Causal claims — Alternative explanations? Confounders?
  5. Contribution — Novel enough? Does it matter?

Produce numbered critiques (aim for 5-8), each with a concrete statement of the problem.

Round 2: Defense

Switch persona to the paper's author. For each numbered critique, provide the strongest possible defense:

  • Cite evidence from the paper that addresses the concern
  • Explain design choices that mitigate the issue
  • Acknowledge limitations honestly where the defense is weak
  • Propose concrete fixes where the critique has merit

Round 3: Adjudication

Switch to an impartial senior reviewer. For each critique-defense pair, rule:

  • Critique stands — the defense is insufficient; this is a real weakness
  • Critique partially addressed — defense has merit but issue remains
  • Critique resolved — the defense adequately addresses the concern

Final Synthesis

Produce a structured report with only the surviving critiques (stands + partially addressed), ranked by severity:

## Devil's Advocate Report

### Critical (must fix before submission)
1. [Critique] — [Why the defense failed] — [Suggested fix]

### Major (reviewers will likely raise)
2. [Critique] — [What remains after defense] — [Suggested fix]

### Minor (worth acknowledging)
3. [Critique] — [Residual concern] — [How to preempt]

### Dismissed
- [Critiques that were resolved in Round 2, listed briefly for transparency]

Output Path & Stamping

When run on a paper in a research project (a paper-*/ directory exists), persist the report and stamp it into the review log — the same wiring as proofread and bib-validate, so review-recap renders it as a first-class review (not a manual slot).

  1. Write the report to reviews/<scope>/devils-advocate/<YYYY-MM-DD-HHMM>.md, where <scope> is the in-scope paper slug (e.g. paper-prima) or _project for a project-level argument. Create the dir first (mkdir -p reviews/<scope>/devils-advocate/). Never overwrite — each run is timestamped to the minute. Per rules/review-artefact-routing.md, never write to the project root.
  2. Stamp reviews/INDEX.md:
    bash <skills-root>/_shared/review-state-log.sh \
      --check devils-advocate \
      --paper "<scope>" \
      --verdict "<PASS|ISSUES FOUND>" \
      --open-issues "<surviving-critiques>/<total-critiques-raised>" \
      --report "reviews/<scope>/devils-advocate/<YYYY-MM-DD-HHMM>.md" \
      --notes "<one line: e.g. '2 Critical, 1 Major survive; identification strategy weakest'>" \
      [--trigger "review-cluster|pre-submission-report"]
    • Verdict: PASS if no critiques survive adjudication (all dismissed); ISSUES FOUND otherwise.
    • Open issues: surviving critiques (Critical+Major+Minor) over total raised in Round 1.
    • Trigger: pass an orchestrator name only if invoked via review-cluster or pre-submission-report; otherwise omit.

Skip stamping only for non-paper use (challenging a bare argument with no project context) or single-shot mode on a paragraph — then the report stays inline. Schema: the installed shared resource shared/review-state-schema.md.

Single-Shot Mode

For quick checks (e.g., "just poke holes in this argument"), skip the multi-turn protocol and produce a direct critique. Use when the user says "quick", "just challenge this", or the input is a paragraph rather than a full paper.

Example Use

"Play devil's advocate on my research paper about preference drift - specifically challenge my identification strategy and the assumptions about utility functions."


Council Mode (Optional)

For the highest-stakes arguments, run the debate across multiple LLM providers — different models have genuinely different reasoning patterns, producing adversarial tension a single model cannot replicate. Each model plays Adversarial Critic, cross-reviews the others, and a chairman ranks surviving critiques by cross-model agreement. Trigger: "council devil's advocate" / "thorough challenge". Full orchestration + invocation: ../shared/council-protocol.md.

Value: High — the multi-turn debate becomes genuinely adversarial when different models play different roles. A critique that survives cross-model scrutiny is almost certainly a real weakness.

Cross-References

SkillWhen to use instead/alongside
interview-meTo develop the idea further through structured interview
multi-perspectiveFor multi-perspective analysis with disciplinary diversity
proofreadFor language/formatting review rather than argument critique

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.