AGENT SKILL

doubt-pass

Adversarial doubt cycle on a plan or design before any code exists — distinct from post-hoc code review. Use when the user asks to doubt this, stress-test a design before building it, poke holes in a plan, find the flaw in an approach, or before committing to a non-trivial architecture or design decision.

License 许可
ISC
最近更新
2026-11-13
Stars
★ 3
Forks
0

01 前言 Front Matter

name
doubt-pass
description
Adversarial doubt cycle on a plan or design before any code exists — distinct from post-hoc code review. Use when the user asks to doubt this, stress-test a design before building it, poke holes in a plan, find the flaw in an approach, or before committing to a non-trivial architecture or design decision.

02 资源文件 3

03 SKILL.md 正文

doubt-pass — break the plan before you build it

The cheapest bug is the one caught before the code exists. A fresh-context reviewer gets the plan and one job: find where it breaks, not whether it is nice. Bounded at three cycles, every finding classified, with a name for the case where doubt spins and lands nothing.

When to use

  • Before a non-trivial architecture or design decision.
  • The user asks for a plan to be stress-tested, holes poked, a second opinion — while it is still a plan, no diff yet.

Neighbours: /code-review needs a diff that already exists; whetstone:grill interviews you for requirements. This one sends a fresh agent at an artifact.

Protocol

Five steps, detailed in reference/doubt-protocol.md:

  1. CLAIM — state the decision in one paragraph.
  2. EXTRACT — strip it to an artifact plus a contract (inputs, outputs, invariants). Send those two; the reasoning trail stays behind, so the reviewer judges the design rather than your defence of it.
  3. DOUBT — spawn whetstone-doubter (Agent, subagent_type: whetstone:whetstone-doubter) with the extracted artifact and contract as its whole input. The agent already carries the adversarial method — "find where this breaks" — and its word budget; reference/adversarial-prompt-template.md is the mission text to fill and send. Pass no model: this break mission runs on the agent's own opus. It returns DOUBT: FAILURES or NO FAILURE FOUND.
  4. RECONCILE — tag every returned finding actionable or not-actionable, each on its own merits.
  5. STOP — at the 3-cycle cap, or at the first cycle that returns nothing new. Fold actionable findings into the plan between cycles.

Subtraction pass

A second mission for the same agent asks what can go, where the doubt asks where the plan breaks. One cycle, no loop. Fill reference/subtraction-prompt-template.md and spawn whetstone-doubter with it. Run it beside the doubt cycle, in the same message, when both apply.

  • Ladder — delete > simplify > optimise > automate. New code runs the finer ladder: skip it, reuse an existing pattern, stdlib, the native platform, an installed dependency, a one-liner, then minimal new code with one test when it has logic. "It may be done" is an allowed answer.
  • Verdict — SUBTRACT: NOTHING TO CUT or SUBTRACT: <n> CUTS (n ≥ 1) as the first line, then one line per cut: the piece, the rung, and what still holds without it.
  • Model — pass the session model's family as the Agent model. The advisorModel setting is for the advisor alone; this mission does not read it.
  • Reconcile — tag each cut actionable or not-actionable, as in step 4. The operator decides a cut that removes something they asked for.

Doubt theater

Zero cumulative actionable findings across every cycle is its own result. Report it as one:

doubt theater — N findings raised, 0 actionable across M cycles. Escalate to a human or ship as-is.

Cycling a reviewer that lands nothing is motion. Naming it keeps it from reading as confidence.

Verification

Done = the loop stopped at ≤ 3 cycles, every finding carries an actionable / not-actionable tag, and the outcome is one of: plan amended with the actionable findings, or an explicit doubt theater note. The cap and the classification are the gate; "let me think about it more" is a different activity.

Dossier breadcrumb

In a repo with a live dossier ledger, record the verdict as one §S line through the dossier plugin's append tooling (the host session reminds when applicable; the first live row is the current dossier). No dossier → skip: this skill ships no hooks and no dossier dependency.

04 同仓库更多 Skills

raisedadead
raisedadead/claude-code-plugins

suite-review

Run the monthly evidence review of this repo's plugin skills. Count each skill's opportunities and uses with the census, read what happened where a skill was not used, put each skill in one bucket, act, and write the actions as predictions with a check date. Use when the operator says "suite review" or "monthly review", or when the suite-review line on LATER.md is due.

★ 3
raisedadead
raisedadead/claude-code-plugins

tiger-style

Check the column budget of the lines a change adds, and read that change against the TIGER_STYLE shape rules a script cannot judge. Use when the user asks about line length or column limits, to check code shape, what the column check flagged, or why a commit was blocked on a column budget.

★ 3
raisedadead
raisedadead/claude-code-plugins

tdd-cycle

Drive one vertical slice of behaviour red-green-refactor, seam agreed before the first test. Use when the user asks to add a feature, fix a bug, write code test-first, says "TDD this", "red green refactor", or "write a failing test first". Inside a live dossier:build covenant, invoke dossier:build instead — it composes this skill's run-slice command as its RED/GREEN proof.

★ 3
raisedadead
raisedadead/claude-code-plugins

prototype

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

★ 3
raisedadead
raisedadead/claude-code-plugins

diagnose

Diagnose a hard bug or a performance regression with a feedback loop first, then ranked hypotheses, instrumentation and a regression test. Use when the user says diagnose or debug this, or reports something broken, throwing, failing or slow.

★ 3
raisedadead
raisedadead/claude-code-plugins

verify

Empirical fact-check for freshness-sensitive claims — versions, EOLs, package latest, GitHub Action SHAs, k8s apiVersions, AI model deprecations, image tags, or anything the model's training cutoff may have staled. Primary sources only. Auto-fires as a PreToolUse hook on Edit/Write, but only in a repo with a `.scratchpad/dossier/` directory; `/dossier:verify` on demand works anywhere. Invoke when user says "verify", "fact-check", "is this current", "/dossier:verify", "double check", or when reviewing freshness claims.

★ 3