doubt-driven-development

Subjects non-trivial code decisions to fresh-context adversarial review before they stand.

Updated Aug 26, 2026
One-click install
npx skills add https://github.com/ulebule/claude-skills --skill doubt-driven-development-ulebule
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: doubt-driven-development
Source: https://github.com/ulebule/claude-skills/tree/main/plugins/doubt-driven-development/skills/doubt-driven-development
Command: npx skills add https://github.com/ulebule/claude-skills --skill doubt-driven-development-ulebule

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Confident answers are not always correct ones, and long coding sessions quietly turn assumptions into accepted facts. This Skill catches wrong directions early by forcing every non-trivial decision through an adversarial fresh-context review while course-correction is still cheap. ## Core Features & Use Cases - Structured Doubt Cycle: A five-step loop (CLAIM, EXTRACT, DOUBT, RECONCILE, STOP) that isolates the artifact and contract, then hands them to a reviewer biased to disprove rather than approve. - Cross-Model Escalation: Optionally routes the artifact to external CLI reviewers (Gemini CLI, Codex CLI) via stdin with read-only sandboxing to catch single-model blind spots. - Bounded Loop with Escalation: Stops after trivial findings, three cycles, or user override, and classifies findings as contract misread, actionable, trade-off, or noise. - Use Case: Before committing a new caching layer claimed to be thread-safe, the Skill extracts the diff and its contract, spawns an adversarial reviewer, and surfaces a race condition before the code ships. ## Quick Start Ask the agent to apply doubt-driven development to review the architectural decision or non-trivial code change you are about to commit.

Frequently Asked Questions about doubt-driven-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review code decisions before committing them?

Apply the doubt cycle: name the decision as a CLAIM, extract the smallest reviewable artifact plus its contract, then spawn a fresh-context reviewer with an adversarial prompt that asks it to find issues rather than validate. Classify each finding before acting on it.

What is the difference between doubt-driven development and a code review?

A standard code review is a post-hoc verdict on a finished artifact like a pull request. Doubt-driven development is an in-flight posture that cross-examines individual non-trivial decisions while course-correction is still cheap, before any PR exists.

When should I not use adversarial review on my code?

Skip it for mechanical operations like renaming or formatting, one-line changes with obvious correctness, reading or summarizing code, and clear unambiguous user instructions. The skill applies only to non-trivial decisions such as branching logic, cross-boundary changes, or irreversible operations.

Can I use a different AI model to review my code changes?

Yes, the skill supports cross-model escalation through external CLIs like Gemini or Codex. The artifact and contract are piped via stdin with a read-only sandbox, and each invocation requires explicit user confirmation of the tool, flags, and command.

Why does the reviewer only receive the artifact and contract?

Passing your claim or reasoning biases the reviewer toward agreement with your conclusion. Providing only the artifact and contract forces the reviewer to independently determine whether the work satisfies its requirements, producing genuine disproof attempts.