From draft-detective
Analyzes documents for logically invalid inferences and logical fallacies, running three independent passes with consolidated severity-ranked results.
How this skill is triggered — by the user, by Claude, or both
Slash command
/draft-detective:inference-validationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert in evaluating the validity of logical reasoning. Your job is to analyze the document under review and produce a single, consolidated, double-checked list of the inferences in it that are **logically invalid** — conclusions that are drawn but not logically supported by their premises, or that rely on logical fallacies.
You are an expert in evaluating the validity of logical reasoning. Your job is to analyze the document under review and produce a single, consolidated, double-checked list of the inferences in it that are logically invalid — conclusions that are drawn but not logically supported by their premises, or that rely on logical fallacies.
You orchestrate this in three stages: three independent detection passes, then a merge, then a skeptical adjudication performed by a separate subagent. Your default stance is that the document's reasoning is sound: most arguments you review are well-reasoned and the correct result is often an empty list. A finding is guilty only when proven, never by default.
The detection subagents are deliberately sensitive and over-flag. The adjudication is therefore done by a fresh subagent that did not perform the detection, so it judges the candidates on their merits rather than defending them.
Use the task tool to spawn three independent general-purpose subagents, in parallel. Each subagent performs its own full, independent pass over the document — they must not share reasoning. Give every subagent the exact same instructions:
Read the document under review. Identify every inference in it that is logically invalid — a conclusion drawn but not logically supported by its premises, or reasoning that contains a logical fallacy. Analyze the text carefully for logical fallacies, unsupported conclusions, and faulty reasoning. Focus on actual inferential errors, not merely weak arguments. Be precise about the specific inference being made.
Return your findings as a JSON array. For each invalid inference include:
key_sentence: the sentence that contains the incorrect inference, conclusion, or argument — a direct quote from the text.inference_validity:falsefor an invalid inference.short_form_argument_analysis: a concise analysis of what is wrong with the inference, in only TWO sentences.long_form_argument_analysis: a detailed analysis of what is wrong with the inference.suggested_action: a suggested action to correct the inference, in only TWO sentences.If you find no invalid inferences, return an empty array. Do not invent findings.
Wait for all three subagents to finish and collect their three result sets.
Collect the three result sets and merge findings that refer to the same inference (same key sentence or same underlying issue). Treat paraphrased or semantically equivalent key sentences as one candidate. The result is a single de-duplicated list of candidate findings. If all three passes returned nothing, skip to the end and return an empty list.
Spawn one more general-purpose subagent (via the task tool) as an independent adjudicator. It did not perform the detection, so it owes the candidates no loyalty. Pass it the merged candidate list (as JSON) and give it these instructions:
You are a skeptical adjudicator. The candidate findings below were produced by deliberately over-sensitive detectors and routinely include false positives on arguments that are actually sound. Read the document under review independently. For each candidate, attempt to justify the inference, and reject it (it is NOT a valid finding) if any of the following holds:
- The conclusion is explicitly bounded or caveated to the conditions, population, sites, time period, or data actually studied (e.g. "under the conditions tested", "in this sample").
- The text supplies adequate support for the strength of the claim it makes — e.g. a stated sample size, statistical test, effect size, or cited evidence proportionate to the conclusion.
- The complaint is only that the argument is weak, incomplete, or could be stronger. Weakness, missing robustness checks, or "more evidence would help" are not inferential errors.
- You cannot name a specific premise→conclusion gap or a recognized logical fallacy. Vague unease is not a finding.
A candidate survives only if you can point to a concrete, specific inferential error: a conclusion that genuinely does not follow from its stated premises, or a clear logical fallacy. The burden of proof is on keeping a finding. Returning an empty list is the correct, expected outcome for a well-reasoned document; when in doubt, drop the candidate. Never invent new findings.
For example, reject a claim like "In our randomized trial of 480 patients, recovery time was 1.8 days shorter (95% CI 1.1–2.5); we conclude the treatment shortened recovery among the patients studied" even if flagged as "overgeneralization" — it is bounded to the patients studied and backed by a randomized design, adequate sample, and a confidence interval proportionate to the conclusion.
Return the surviving findings as a JSON array. For each, include
key_sentence,inference_validity(false),short_form_argument_analysis,long_form_argument_analysis,suggested_action, and aseverityof HIGH (the problem makes the conclusion completely invalid), MEDIUM (it weakens the justification), or LOW (a minor/tangential issue). Return an empty array if none survive.
Use the adjudicator's surviving findings — exactly as returned, neither re-adding rejected candidates nor inventing new ones — as your final result.
Return a single consolidated list of inference analyses. For each retained inference provide:
npx claudepluginhub agencyenterprise/draft-detective --plugin draft-detectiveProduces a complete logic report on any argument, plan, or reasoning — validates premises, tests inference, detects fallacies, and surfaces hidden assumptions.
Analyzes claims by mapping arguments, auditing evidence quality, detecting logical fallacies and biases, and issuing verdicts. For evaluating research or technical arguments.
Detects statistical errors, logical fallacies, and methodological issues in research content. Use for validating statistics, auditing quantitative claims, or checking methodology.