Fresh-context adversarial challenge for non-trivial engineering decisions before they harden into implementation. Use for D2+ work when a decision changes branching, crosses boundaries, asserts a non-compiler-verifiable property, has high blast radius, or rests on uncertain context. Extracts the artifact and contract, challenges them independently, reconciles findings against evidence, and stops after a bounded number of cycles instead of turning review into recursion.
Scanned 9/19/2026
npx -y skills add LUC4N3X/antigravity-thalarch --skill thalarch-doubt --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Thalarch Doubt?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/luc4n3x-thalarch-doubt)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: thalarch-doubt
description: >
Fresh-context adversarial challenge for non-trivial engineering decisions before they harden
into implementation. Use for D2+ work when a decision changes branching, crosses boundaries,
asserts a non-compiler-verifiable property, has high blast radius, or rests on uncertain context.
Extracts the artifact and contract, challenges them independently, reconciles findings against
evidence, and stops after a bounded number of cycles instead of turning review into recursion.
---
# Thalarch Doubt Gate
Final review is sometimes too late. A wrong architectural or causal decision becomes expensive after
several files depend on it. This skill introduces a **bounded in-flight disconfirmation gate** for
important decisions while correction is still cheap.
Use doubt to reduce premature closure, not to manufacture hesitation.
## 1. Trigger only on meaningful decisions
Activate when at least one applies:
- branching/state behavior changes;
- a module/service/data boundary changes;
- correctness depends on thread safety, idempotency, ordering, lifecycle, ownership, or another
property the compiler cannot prove;
- a version-sensitive external API or framework pattern is load-bearing;
- the codebase is unfamiliar and a wrong assumption would propagate;
- the decision is difficult to reverse or has security/data/production blast radius;
- a D2+ reasoning step has a strong leading answer but weak disconfirming evidence.
Skip for mechanical renames, formatting, obvious one-line edits, pure inspection, or deterministic
tooling operations.
## 2. Materialize the decision
Write a compact decision artifact:
- `DECISION` — what is about to stand;
- `CONTRACT` — observable requirements/invariants it must satisfy;
- `EVIDENCE` — only current facts supporting it;
- `UNCERTAINTY` — what could still make it wrong.
If the decision cannot be stated compactly, return to planning/reasoning before challenging it.
## 3. Preserve reviewer independence
When a clean specialist/subagent context exists, send only:
- the smallest reviewable artifact/diff/proposal;
- the contract and relevant constraints;
- directly necessary repository evidence.
Do **not** send the producer's hidden reasoning narrative or a persuasive explanation of why the
choice is believed correct. The reviewer should reconstruct the judgment independently.
If the host cannot provide an independent context, perform a degraded self-challenge and record
that independence was unavailable. Do not pretend self-review is equivalent to fresh-context review.
## 4. Challenge for failure, not approval
The challenge should try to falsify the artifact under the contract. Look for:
- unstated assumptions;
- counterexamples and edge cases;
- hidden shared state/coupling;
- violated project conventions or compatibility constraints;
- incorrect boundary ownership;
- failure modes under unexpected timing/input/environment;
- proof substitution or version/API assumptions that were not grounded.
A clean result is valid. Never force the reviewer to invent a defect.
## 5. Reconcile instead of obeying
Every finding is evidence to inspect, not an automatic verdict.
Classify each material finding as:
- `CONTRACT_GAP` — the contract was incomplete/ambiguous; fix the contract first;
- `CONFIRMED` — supported defect/risk requiring a change;
- `TRADEOFF` — real risk intentionally accepted with rationale;
- `NOISE` — unsupported once checked against actual context.
Reviewer confidence alone never upgrades a finding to `CONFIRMED`.
## 6. Bound the loop
After a confirmed issue changes the artifact, run another doubt cycle only if the changed decision
still meets the trigger criteria.
Stop when:
- only already-addressed/trivial/noise findings remain;
- the artifact is supported by discriminating evidence;
- three substantive cycles have completed;
- the next uncertainty requires a user/domain decision or unavailable evidence.
Three unresolved cycles are a signal to decompose the artifact or escalate, not permission for an
infinite agent loop.
## 7. Interaction with tests and final review
A failing regression/property/invariant test designed to disprove the behavioral claim can satisfy
the doubt requirement for that specific claim because it is executable disconfirmation.
`thalarch-doubt` is **in-flight**. `thalarch-review` remains the post-implementation quality gate and
`thalarch-verifier` remains the cold completion gate.
## 8. Cross-model use
A different model may catch shared-model blind spots, but external model invocation is an external
cost/tool action and must obey the current host and authorization policy.
Never silently invoke an external CLI/service. If cross-model evidence is unavailable or not
authorized, continue with host-native independent review and keep the limitation explicit.
## Shortcut defenses
Do not accept these rationalizations:
- "I am confident" — confidence is not disconfirmation.
- "Final review will catch it" — wrong direction is cheaper to catch before implementation expands.
- "The reviewer disagreed, therefore I am wrong" — reconcile against evidence.
- "More reviewers are always safer" — extra contexts without distinct evidence add cost and noise.
- "One more cycle cannot hurt" — unbounded review can become avoidance.
## Completion evidence
Record only:
`DECISION | CONTRACT | CHALLENGE RESULT | DISPOSITION | RESIDUAL UNCERTAINTY`
Do not expose private chain-of-thought.Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!