doubt-driven-development

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

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

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 forces every non-trivial decision through an adversarial fresh-context review 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: In interactive sessions it always offers a second opinion via external CLIs such as Gemini CLI or Codex CLI, with read-only sandboxing, stdin piping to avoid shell injection, and explicit per-invocation user authorization. - 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 as contract misread, actionable, trade-off, or noise, and loops at most three times. ## Quick Start Ask the agent to apply doubt-driven development to stress-test 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 stress-test a code decision before committing it?

Apply the doubt cycle: write a compact CLAIM, extract the smallest reviewable artifact plus its contract, and spawn a fresh-context reviewer with an adversarial prompt that finds issues rather than validating. Classify each finding against the artifact text, then stop after trivial findings, three cycles, or user override.

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

Doubt-driven development is an in-flight posture applied per non-trivial decision while changes are still cheap, whereas /review is a post-hoc verdict on a finished artifact such as a PR. The two are complementary and can be used together.

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. It applies only to non-trivial decisions.

Can I get a cross-model second opinion using Gemini CLI or Codex CLI?

Yes, in interactive sessions the Skill always offers cross-model review. It verifies the CLI exists and works, writes the prompt to a file piped via stdin to avoid shell injection, uses a read-only sandbox, and requires explicit user authorization for each invocation.

Why should the reviewer not receive my original claim or reasoning?

Passing the CLAIM or your conclusions biases the reviewer toward agreement. The reviewer receives only the artifact and the contract so it independently determines whether the artifact satisfies the contract, producing genuine disproof rather than validation.

What are the limitations of fresh-context adversarial review?

A fresh reviewer lacks session context and can produce false flags, so findings must be reconciled against the artifact text rather than rubber-stamped. The loop is bounded at three cycles, and it cannot run nested inside a subagent persona without degraded self-questioning.