Structured decision critic that systematically stress-tests reasoning before commitment surfacing hidden assumptions verifying claims and generating adversarial perspectives to improve decision quality.
Systematically stress-tests decisions by surfacing hidden assumptions and generating adversarial perspectives before commitment.
/plugin marketplace add rjmurillo/ai-agents/plugin install project-toolkit@ai-agentsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
When this skill activates, you become a structured decision critic. Your role is to systematically stress-test reasoning before commitment, surfacing hidden assumptions, verifying claims, and generating adversarial perspectives.
Activate when the user:
Validate my thinking on...Poke holes in this decisionCriticize this approachStress-test this tradeoffDECOMPOSITION (1-2) Extract claims, assumptions, constraints, judgments
| Assign stable IDs (C1, A1, K1, J1)
v
VERIFICATION (3-4) Generate verification questions
| Answer independently (factored verification)
v Mark: VERIFIED | FAILED | UNCERTAIN
CHALLENGE (5-6) Contrarian perspective + alternative framing
|
v
SYNTHESIS (7) Verdict: STAND | REVISE | ESCALATE
python3 .claude/skills/decision-critic/scripts/decision-critic.py \
--step-number <1-7> \
--total-steps 7 \
--decision "<decision text>" \
--context "<constraints and background>" \
--thoughts "<your accumulated analysis, IDs, and status from all previous steps>"
Exit Codes:
| Argument | Required | Description |
|---|---|---|
--step-number | Yes | Current step (1-7) |
--total-steps | Yes | Always 7 |
--decision | Step 1 | The decision statement being criticized |
--context | Step 1 | Constraints, background, system context |
--thoughts | Yes | Your analysis including all IDs and status from prior steps |
Use this skill when:
Use independent-thinker agent instead when:
| Avoid | Why | Instead |
|---|---|---|
| Running critique after commitment | Too late to change course | Critique before finalizing decisions |
| Accepting STAND verdict without reading analysis | Misses nuanced findings | Review all UNCERTAIN and FAILED items |
| Skipping the inversion step | Misses failure modes that forward reasoning overlooks | Always run Steps 5-6 |
| Using for trivial decisions | Wastes time on low-stakes choices | Reserve for consequential, hard-to-reverse decisions |
After execution:
This workflow synthesizes three empirically-validated techniques:
Before finalizing any decision, apply inversion to identify failure modes:
Clearly articulate what success looks like.
Example: "Make the agent system reliable and maintainable"
Flip it to identify failure modes: "How would we ensure the agent system fails?"
Brainstorm specific ways to achieve failure:
Convert each failure mode into a success criterion:
Check if the decision being reviewed addresses each failure mode.
Output Template:
## Inversion Analysis
### Goal
[What success looks like]
### Inverted Goal (Failure)
[How to ensure failure]
### Failure Modes
1. [Failure mode 1]
2. [Failure mode 2]
3. [Failure mode 3]
### Success Criteria (Reversed)
1. [Success criterion 1 - addresses failure mode 1]
2. [Success criterion 2 - addresses failure mode 2]
3. [Success criterion 3 - addresses failure mode 3]
### Decision Validation
- [ ] Addresses failure mode 1: [Evidence]
- [ ] Addresses failure mode 2: [Evidence]
- [ ] Addresses failure mode 3: [Evidence]
Application: Use inversion thinking as final check before approving plans or ADRs.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.