Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add vinvcn/addyosmani-agent-skills-zh --skill doubt-driven-developmentgit clone --depth 1 https://github.com/vinvcn/addyosmani-agent-skills-zhWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vinvcn/addyosmani-agent-skills-zh/doubt-driven-development)<a href="https://agentmods.dev/skills/vinvcn/addyosmani-agent-skills-zh/doubt-driven-development"><img src="https://agentmods.dev/badge/skills/vinvcn/addyosmani-agent-skills-zh/doubt-driven-development/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/vinvcn/addyosmani-agent-skills-zh/doubt-driven-development"><img src="https://agentmods.dev/badge/skills/vinvcn/addyosmani-agent-skills-zh/doubt-driven-development.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00072 | $0.04111 |
| Opus 5 | $0.00036 | $0.02056 |
| Sonnet 5 | $0.00014 | $0.00822 |
| Haiku 4.5 | $0.00007 | $0.00411 |
Grade A, and why
doubt-driven-development scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 244 lines — stays where its author put it; the contents beside it link to each section on GitHub.
怀疑驱动开发
概览
自信的答案不等于正确的答案。长会话会积累上下文,悄悄把假设变成“事实”,而没人察觉。怀疑驱动开发是一种纪律:在任何非平凡输出成立前,物化一个带全新上下文的审查者,其偏向是证伪,而不是批准。
这不是 /review。/review 是对已完成产物的裁决。这是一种进行中的姿态:在修正方向仍然便宜时,让非平凡决策接受交叉质询。
何时使用
当至少满足以下任一条件时,决策就是非平凡的:
- 引入或修改分支逻辑
- 跨越模块或服务边界
- 断言类型系统或编译器无法验证的性质(线程安全、幂等性、顺序、不变量)
- 正确性依赖未来读者看不到的上下文
- 影响半径不可逆(生产部署、数据迁移、公共 API 变更)
在以下场景应用此 skill:
- 准备在不确定性下做架构决策
- 准备提交非平凡代码
- 准备声称一个非显而易见的事实(“this is safe”、“this scales”、“this matches the spec”)
- 正在处理你没有完全理解的代码
何时不使用:
- 机械操作(重命名、格式化、移动文件)
- 遵循清晰、无歧义的用户指令
- 阅读或总结现有代码
- 正确性显而易见的一行改动
- 纯工具操作(运行测试、列文件)
- 用户明确要求速度优先于验证
如果你怀疑每一次按键,就什么也发布不了。该 skill 只适用于上面定义的非平凡决策。
加载约束
这个 skill 设计给主会话编排者使用,因为第 3 步(DOUBT,详见下文)可以 spawn 一个全新上下文审查者。
- 不要把此 skill 加入 persona 的
skills:frontmatter。 遵循第 3 步的 persona 会 spawn 另一个 persona,这正是references/orchestration-patterns.md明确禁止的编排反模式(“personas do not invoke other personas”)。 - 如果你发现自己在 subagent 上下文中应用此 skill(Claude Code 会阻止嵌套 subagent spawn):首选路径是告知用户,doubt-driven 无法嵌套运行,并让主会话处理。只有作为最后手段,才使用降级的自我质询 fallback:把 ARTIFACT + CONTRACT 改写成一个带硬心理分隔的全新自我 prompt,与之前推理隔离,并执行第 1-5 步。这不是全新上下文审查(你携带着自己的上下文),所以要把结果标记为降级,并在用户可达时优先升级。
流程
应用该 skill 时复制此 checklist:
Doubt cycle:
- [ ] Step 1: CLAIM — wrote the claim + why-it-matters
- [ ] Step 2: EXTRACT — isolated artifact + contract, stripped reasoning
- [ ] Step 3: DOUBT — invoked fresh-context reviewer with adversarial prompt
- [ ] Step 4: RECONCILE — classified every finding against the artifact text
- [ ] Step 5: STOP — met stop condition (trivial findings, 3 cycles, or user override)
Step 1: CLAIM — 呈现将要成立的内容
用两三行命名该决策:
CLAIM: "The new caching layer is thread-safe under the
read-heavy workload described in the spec."
WHY THIS MATTERS: a race here corrupts user data and is
hard to detect in QA.
如果你无法把 claim 写得这么紧凑,那你拥有的是感觉,而不是决策。在审视它之前先把它呈现出来。
Step 2: EXTRACT — 最小可审查单元
全新上下文审查者需要的是产物和契约,不是你的心路历程。
- 代码:diff 或函数,而不是整个文件
- 决策:3-5 句提案,以及它必须满足的约束
- 断言:claim 加上据称支持它的证据(与第 1 步 CLAIM 块保持区分,后者是编排者正在接受审视的假设)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 244 lines · 72 tokens per session scan A af6c8aa7e554
doubt-driven-development is a skill published in the GitHub repository vinvcn/addyosmani-agent-skills-zh (30 stars, last pushed 4mo ago), licensed MIT. It adds 72 tokens to every session and 4,111 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
code-review-and-quality
Conducts multi-axis code review with hard rules against rubber-stamping and diff-only tunnel vision. Use before merging any change, whether written by yourself, another agent, or a human. Triggers on "review this", "is this ready to merge", or any completed implementation awaiting approval.
doubt-driven-development
Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when correctness matters more than speed, when working in unfamiliar code, when stakes are high (production, security-sensitive logic, irreversible operations), or any time a confident output would be cheaper to verify now…
code-simplification
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
code-review-and-quality
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch.
doubt-driven-development
Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every assumption cross-examined before proceeding, when stress-testing a plan for hidden failure modes, when correctness matters more than speed, when working in unfamiliar code, when stakes are high…
code-simplification
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.