doubt-driven-development

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

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

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 architectural and implementation decisions early — while course-correction is still cheap — by forcing every non-trivial decision through an adversarial fresh-context review before it is committed. ## Core Features & Use Cases - Five-step doubt cycle: CLAIM the decision, EXTRACT the smallest reviewable artifact plus its contract, DOUBT it with an adversarial reviewer, RECONCILE findings by precedence, and STOP within a bounded three-cycle loop. - Adversarial reviewer protocol: Spawns an isolated-context reviewer (or a shipped persona like code-reviewer or security-auditor) with an issues-only prompt, passing the artifact and contract but never your conclusion. - Cross-model escalation: Offers an optional second opinion via external CLIs such as Gemini or Codex with read-only sandboxing, stdin piping, and explicit per-invocation user authorization. - Use Case: Before committing a new caching layer you believe is thread-safe, run the doubt cycle — the reviewer probes unstated assumptions, race conditions, and contract violations, and you classify each finding as actionable, trade-off, or noise before merging. ## Quick Start Ask the assistant to apply doubt-driven development to adversarially review the caching layer change before committing 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 verify a code decision before committing it?

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

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 code review or /review command is a post-hoc verdict on a finished artifact such as a pull request. The two are complementary and can be used together.

When should I not use adversarial review on my code?

Skip it for mechanical operations like renaming, formatting, file moves, one-line changes with obvious correctness, reading existing code, or running tooling such as dotnet test. The skill applies only to non-trivial decisions involving branching logic, boundary crossings, or irreversible actions.

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

Yes, the skill offers cross-model escalation in every interactive session via external CLIs like Gemini or Codex. The artifact is piped through stdin in a read-only sandbox, and each invocation requires explicit user authorization after verifying the tool works.

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 rather than validation.