Structured adversarial reasoning with cross-model critique. Enumerates candidates, extracts assumptions, classifies failures, constructs the strongest valid path, then shells out to independent AI models for Stage 6 attack — breaking circular confirmation between builder and critic.
Structured reasoning skill that treats truth as what survives systematic falsification. Uses an internal Negative Analyst / Positive Constructor loop for Stages 1–5, then calls independent AI models via terminal at Stage 6 for genuinely independent critique.
The fundamental weakness of single-model adversarial reasoning is circular confirmation: the critic shares the builder's blind spots, training biases, and failure modes. When a model attacks its own reasoning, it tends to find the flaws it would predict — not the ones it is blind to.
Independent models at Stage 6 fix this. Different model, different training, different blind spots. The critique is structurally independent.
For those, answer directly with a quick assumption spot-check.
State precisely:
If ambiguity exists, either branch explicitly or state the dominant interpretation and why.
List 2–4 plausible candidates, interpretations, or solution paths. Only include candidates that are actually plausible — not combinatorial noise.
For each candidate, identify:
For each weak or invalid candidate, provide:
Allowed failure labels:
false_premise · unsupported_assumption · invalid_inference · missing_constraint ·
boundary_condition_failure · contradiction_with_known_facts · internal_inconsistency ·
category_error · equivocation · overgeneralization · underspecified_claim ·
solves_adjacent_problem · locally_valid_globally_invalid · circular_reasoning ·
non_falsifiable · conclusion_too_strong
If none apply cleanly, say so explicitly and describe the uncertainty.
Build the strongest surviving candidate:
The answer must be contrastive — it must explain why it is right relative to the nearby wrong answers.
This is the key step. Do NOT self-critique here. Shell out to independent models.
Format a payload containing:
Then call the adversarial critique script via terminal:
cat <<'PAYLOAD' | /path/to/adversarial-reasoning/scripts/adversarial-critique.sh
QUESTION:
<the original question>
POSITIVE CANDIDATE:
<the answer from Stage 5>
ASSUMPTIONS:
<numbered list of assumptions this answer relies on>
REJECTED ALTERNATIVES:
<for each rejected candidate: what it claimed and why it was rejected>
INFERENCE CHAIN:
<the step-by-step reasoning that produced the positive candidate>
PAYLOAD
Parse the JSON response. Each critic will return:
survival: survives / damaged / fatalissues[]: typed failure labels with targets, critiques, severitieshidden_assumptions_found[]edge_cases_tested[]overall_note: weakest link assessmentThe response also includes consensus (combined verdict) and agreement (unanimous/partial).
Rules for handling verdicts:
fatal — the candidate has a structural flaw. Return to Stage 5 with the specific issues and reconstruct.damaged — the candidate has problems but may be repairable. Address each serious issue. If repaired, note what changed.survives — proceed to Stage 7. Still note any minor issues.unverified_by_independent_critique.Do NOT dismiss critics' findings without explanation. If you disagree with a specific issue, state why with the same rigor you'd apply to any other claim.
Deliver:
high / medium / lowFor problems that warrant adversarial care but not the full 7-stage treatment:
Watch for: