doubt-driven-development

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Confident answers are not always correct ones, and long sessions quietly turn assumptions into facts. This Skill catches wrong directions early by cross-examining every non-trivial decision with a fresh-context reviewer biased to disprove, while course-correction is still cheap. ## Core Features & Use Cases - Five-step doubt cycle: CLAIM, EXTRACT, DOUBT, RECONCILE, and STOP structure adversarial review of decisions, code, and assertions with a bounded 3-cycle limit. - Adversarial reviewer prompts: Passes only the artifact and contract to a fresh-context reviewer with an issues-only prompt, avoiding confirmation bias from your own reasoning. - Cross-model escalation: Optionally routes reviews through external CLIs like Gemini or Codex with read-only sandboxing and explicit user authorization for each invocation. - Use Case: Before committing a thread-safety change to a production caching layer, surface the claim, extract the diff and its contract, and have a fresh reviewer hunt for race conditions and unstated assumptions before the code ships. ## Quick Start Apply doubt-driven development to review my proposed caching layer design before I commit it.

Frequently Asked Questions about doubt-driven-development

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

FAQPage Schema
How do I stress-test a code decision before committing it?▼

Use the doubt cycle: write a compact CLAIM, extract the smallest reviewable artifact plus its contract, then invoke a fresh-context reviewer with an adversarial find-issues prompt. Classify each finding as contract misread, actionable, trade-off, or noise before reconciling.

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

Doubt-driven development is an in-flight posture applied per-decision while changes are still cheap to reverse. A traditional code review or /review command is a post-hoc verdict on a finished artifact like a pull request. The two are complementary.

When should I not use adversarial review on my work?▼

Skip it for mechanical operations like renaming or formatting, one-line changes with obvious correctness, reading or summarizing code, pure tooling operations, and when the user explicitly prioritizes speed over verification.

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

Yes, cross-model escalation through CLIs like Gemini or Codex catches blind spots a single model shares with itself. Each invocation requires a PATH check, a working-binary test, user-confirmed syntax, a read-only sandbox, and explicit per-call authorization.

Why should the reviewer not see my original claim or reasoning?▼

Passing your conclusion biases the reviewer toward agreement, producing validation instead of scrutiny. The reviewer receives only the artifact and the contract it must satisfy, so it independently determines whether the work holds up.

What are the limitations of fresh-context review?▼

A fresh reviewer lacks session context and can produce false flags or noise, so findings must be re-classified against the artifact text rather than rubber-stamped. The loop is bounded at three cycles; persistent substantive issues mean the artifact needs decomposition or escalation.