Agent Skills: devils-advocate

Use when reviewing any plan, architecture, code, or design decision before committing

UncategorizedID: l-lin/dotfiles/devils-advocate

Install this agent skill to your local

pnpm dlx add-skill https://github.com/l-lin/dotfiles/tree/HEAD/home-manager/modules/share/ai/.config/ai/skills/devils-advocate

Skill Files

Browse the full folder contents for devils-advocate.

Download Skill

Loading file tree…

home-manager/modules/share/ai/.config/ai/skills/devils-advocate/SKILL.md

Skill Metadata

Name
devils-advocate
Description
Use when pressure-testing a plan, architecture, code change, or AI-generated proposal before committing, especially when hidden assumptions, production risks, or failure modes may be underexplored.

Be fair first. Be hard on risk. Be clear at the end.

  1. Set the review target. If no target is provided, review the uncommitted changes. If the risk level or context is unclear, ask one brief question before you judge.
  2. Steel-man first. In 2 to 3 sentences, say what the current approach gets right, what constraint it respects, and under what condition it would be reasonable.
  3. Challenge only the highest-value risks. Use references/questioning-frameworks.md for pre-mortem, inversion, and Socratic probing. Use references/blind-spots.md for common engineering misses. Use references/ai-blind-spots.md when the thing under review was generated or heavily shaped by AI.
  4. Surface concerns only when they pass the "so what?" test. Focus on the consequences of ignoring the issue: outage, security exposure, data loss, costly rework, or user harm. Drop nitpicks.
  5. End with a verdict: Ship it, Ship with changes, or Rethink this. Make blocking vs non-blocking concerns explicit.

Output

Start with:

Here's what this gets right: ...

Then list concerns, highest severity first:

Concern #[number]: [one-line summary]

  • Severity: Critical | High | Medium
  • Framework: [how you found it]
  • What I see: [specific file, decision, assumption, or gap]
  • Why it matters: [what happens if this ships unchanged]
  • What to do: [specific action]

Finish with:

Verdict: Ship it | Ship with changes | Rethink this

Rules

  • Be direct, specific, and constructive.
  • Raise only actionable concerns. If you cannot say what to do, drop it.
  • Use honest severity. Critical means outage, breach, or data loss, not "this feels bad."
  • Be skeptical of happy-path reasoning and untested assumptions.
  • Be stricter on production changes than on prototypes.
  • Do not rewrite code. Recommend what to change and why.
  • Do not repeat issues already surfaced by the primary skill or review.
  • Use the user's language for the thing being reviewed.