Subjects every non-trivial decision to a fresh-context adversarial.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Doubt-Driven Development
## Overview
A confident answer is not a correct one. Long sessions accumulate context that quietly turns assumptions into "facts" without anyone noticing. Doubt-driven development is the discipline of materializing a fresh-context reviewer — biased to **disprove**, not approve — before any non-trivial output stands.
This is not `/review`. `/review` is a verdict on a finished artifact. This is an in-flight posture: non-trivial decisions get cross-examined while course-correction is still cheap.
## When to Use
A decision is **non-trivial** when at least one of these is true:
- It introduces or modifies branching logic
- It crosses a module or service boundary
- It asserts a property the type system or compiler cannot verify (thread safety, idempotence, ordering, invariants)
- Its correctness depends on context the future reader cannot see
- Its blast radius is irreversible (production deploy, data migration, public API change)
Apply the skill when:
- About to make an architectural decision under uncertainty
- About to commit non-trivial code
- About to claim a non-obvious fact ("this is safe", "this scales", "this matches the spec")
…
The line at the top of this page pins the label git:20260916.3a6b22e, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_thzc43qopxi4arvd
GET https://markdownregistry.com/api/v1/resolve?ref=nota-america/forgecat-agent-profiles/doubt-driven-development
GET https://markdownregistry.com/api/v1/blob/ceb7a67f91f03b668734a133aeebd69562d6de33d08e3c7a4feacc8df912313a
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/api-and-interface-design/SKILL.md · Guides stable API and interface design. Use when designing APIs,
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/browser-testing-with-devtools/SKILL.md · Tests in real browsers via Chrome DevTools MCP. Use when building
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/ci-cd-and-automation/SKILL.md · Automates CI/CD pipeline setup. Use when setting up or modifying
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/code-review-and-quality/SKILL.md · Conducts multi-axis code review. Use before merging any change. Use
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/code-simplification/SKILL.md · Simplifies code for clarity. Use when refactoring code for clarity
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/constraint-driven-development/SKILL.md · Establishes a project's quality bar as a written contract and stops
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/context-engineering/SKILL.md · Optimizes agent context setup. Use when starting a new session,
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/deprecation-and-migration/SKILL.md · Manages deprecation and migration. Use when removing old systems,
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/documentation-and-adrs/SKILL.md · Records decisions and documentation. Use when you need to document
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change.
addyosmani/agent-skills · skills/doubt-driven-development/SKILL.md · Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-codex/.agents/skills/doubt-driven-development/SKILL.md · Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/skills/doubt-driven-development/SKILL.md · Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/platforms/codex/.agents/skills/doubt-driven-development/SKILL.md · Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-cursor/.cursor/skills/doubt-driven-development/SKILL.md · Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/platforms/cursor/.cursor/skills/doubt-driven-development/SKILL.md · Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every…
mycelium-hq/ai-brain-starter · skills/doubt-driven-development/SKILL.md · Use when correctness matters more than speed: about to commit non-trivial code, make an architectural call under…