From project-toolkit
Stress-tests decisions by decomposing claims and assumptions, verifying them independently, generating contrarian perspectives, and synthesizing verdicts. Use for plans, ADRs, and designs before commitment.
npx claudepluginhub rjmurillo/ai-agents --plugin project-toolkitThis skill uses the workspace's default tool permissions.
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.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
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.