doubt-driven-development

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

Updated Sep 17, 2026
One-click install
npx skills add https://github.com/authrain-cloud-abdullahformuli/agent-skills --skill doubt-driven-development-authrain-cloud-abdullahformuli
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: doubt-driven-development
Source: https://github.com/authrain-cloud-abdullahformuli/agent-skills/tree/main/skills/doubt-driven-development
Command: npx skills add https://github.com/authrain-cloud-abdullahformuli/agent-skills --skill doubt-driven-development-authrain-cloud-abdullahformuli

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Confident answers are not always correct ones, and long sessions quietly turn assumptions into accepted facts. This Skill cross-examines every non-trivial decision with a fresh-context adversarial reviewer while course-correction is still cheap, catching hidden failure modes before they reach production. ## Core Features & Use Cases - Five-step doubt cycle: CLAIM the decision, EXTRACT the smallest reviewable artifact plus contract, DOUBT it with an adversarial fresh-context reviewer, RECONCILE findings by precedence, and STOP at a bounded condition (trivial findings, 3 cycles, or user override). - Cross-model escalation: Optionally routes the artifact to an external CLI reviewer (Gemini CLI, Codex CLI) via stdin with read-only sandboxing, always with explicit user authorization. - Scope guardrails: Applies only to non-trivial decisions such as branching logic, cross-boundary changes, unverifiable invariants, and irreversible operations, while skipping mechanical edits and one-line changes. - 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 instructed to find issues rather than validate, classifies each finding, and loops until the artifact holds. ## Quick Start Ask the agent to apply doubt-driven development to stress-test the architectural decision or 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 stress-test a code decision before committing it?

Apply the doubt cycle: write the claim compactly, extract the smallest reviewable artifact plus its contract, and invoke a fresh-context reviewer with an adversarial prompt that finds issues rather than validates. Classify each finding against the artifact text, then loop until findings are trivial or three cycles complete.

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, whereas code review is a post-hoc verdict on a finished artifact such as a pull request. The two are complementary and both should be used.

When should I not use adversarial review on my changes?

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. The skill targets only non-trivial decisions.

Can I get a second opinion from a different AI model during review?

Yes, cross-model escalation routes the artifact and contract to an external CLI such as Gemini CLI or Codex CLI through stdin with a read-only sandbox. In interactive sessions the option is always offered, and each invocation requires explicit user authorization.

Why does the reviewer only receive the artifact and contract?

Passing the original claim or reasoning biases the reviewer toward agreement with the author's conclusions. Supplying only the artifact and contract forces the reviewer to independently determine whether the work satisfies its requirements.

What happens if the reviewer keeps finding issues after multiple cycles?

The loop stops after three cycles and escalates to the user, since persistent substantive findings indicate the artifact may not be ready. If the artifact is too large for three cycles, it should be decomposed into smaller reviewable units instead of extending the loop.