Skip to content

/think-ach

Analysis of Competing Hypotheses. Operationalizes Richards Heuer's CIA-tradition technique for systematically narrowing among multiple hypotheses against evidence. Builds an explicit hypothesis-vs-evidence matrix and focuses on disconfirmation rather than confirmation — the

shell
$ npx -y skills add chrisallenlane/claude-swe-workflows --skill think-ach --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/think-ach
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Analysis of Competing Hypotheses. Operationalizes Richards Heuer's CIA-tradition technique for systematically narrowing among multiple hypotheses against evidence. Builds an explicit hypothesis-vs-evidence matrix and focuses on disconfirmation rather than confirmation — the

SKILL.md

think-ach.SKILL.md
name: think-ach
description: Analysis of Competing Hypotheses. Operationalizes Richards Heuer's CIA-tradition technique for systematically narrowing among multiple hypotheses against evidence. Builds an explicit hypothesis-vs-evidence matrix and focuses on disconfirmation rather than confirmation — the central insight: hypotheses cannot be proven, only disconfirmed; the surviving hypothesis is the one with the least disconfirming evidence. Spawns parallel hypothesizers (in isolation, across hypothesis-generation angles) and parallel evidence-gatherers (across evidence classes), then synthesizes into a matrix, diagnosticity analysis, sensitivity analysis, and falsification milestones. Produces feedback only — no code, no tickets, no artifacts.
model: opus

Think-ACH - Analysis of Competing Hypotheses

Systematically narrows among multiple hypotheses against evidence using Richards Heuer's Analysis of Competing Hypotheses (ACH) technique. Generates hypotheses (parallel, isolated), enumerates evidence (parallel, isolated), builds an explicit matrix mapping each piece of evidence against each hypothesis, focuses on *disconfirming* evidence to rank hypotheses, and reports the surviving leader along with sensitivity analysis and falsification milestones.

**This skill produces no tangible artifacts.** It is a consultant, not an implementer. No code, no tickets, no commits. The output is a structured analysis the user can act on — a hypothesis leaderboard with the matrix that supports it.

The technique

ACH was developed by Richards J. Heuer Jr. for the CIA Directorate of Intelligence and is documented in his book *Psychology of Intelligence Analysis* (1999). It was designed specifically to counter the cognitive failure modes that intelligence analysts (and everyone else reasoning under uncertainty) habitually exhibit:

  • **Confirmation bias** — seeking evidence that confirms a preferred hypothesis rather than evidence that disconfirms competing ones
  • **Premature closure** — locking in on the first plausible hypothesis and stopping the search
  • **Anchoring** — letting the leading candidate dominate subsequent reasoning
  • **Cherry-picking evidence** — emphasizing convenient evidence and rationalizing away inconvenient evidence
  • **Failure to consider alternatives** — never enumerating the full hypothesis space

ACH's structural countermeasures:

1. **Force enumeration of all plausible hypotheses upfront** (anti-anchoring; anti-premature-closure) 2. **Build an explicit matrix** of evidence × hypothesis (anti-cherry-picking; makes the analysis legible) 3. **Focus on disconfirmation** — the central insight: a hypothesis cannot be proven, only disconfirmed. The surviving hypothesis is the one with the *least disconfirming evidence*, not the most confirming. (Anti-confirmation-bias.) 4. **Identify diagnosticity** — surface which evidence actually discriminates among hypotheses; drop evidence consistent with all 5. **Sensitivity analysis** — for each load-bearing piece of evidence, ask "what if this is wrong?" and watch how the conclusion changes 6. **Report all hypotheses, not just the leader** — preserve the alternatives so the user knows what's still in play 7. **Identify falsification milestones** — what future observation would distinguish the top candidates?

When to use vs `/think-diagnose`

These two skills overlap in problem domain (multi-candidate evaluation under uncertainty) but are structurally distinct.

  • **`/think-diagnose`** — open-ended causal exploration. *Generative + evaluative.* Lens-driven brainstorming of candidate causes (technical, human-factors, environmental, measurement-artifact, etc.) plus narrative evidence evaluation. Use when the user has a *phenomenon* and wants to understand its causes broadly. Output: leading candidates with distinguishing evidence needed.
  • **`/think-ach`** — rigorous narrowing among hypotheses. *Primarily evaluative*, with explicit matrix structure and disconfirmation focus. Use when the user has *competing hypotheses* (provided or just-generated) and wants to systematically narrow among them. ACH is broader than diagnosis — it applies to causal attribution, forecasting, attribution-of-responsibility, strategic assessment, and similar multi-hypothesis questions.

Natural workflow when both apply: `/think-diagnose` generates candidate causes; `/think-ach` rigorously narrows among them. They are complementary, not duplicative.

ACH also stands alone for non-causal questions ("which of these scenarios is most likely?", "which actor is most likely responsible?", "which interpretation of the data is most defensible?").

Roles

**Judge (you, running this skill):**

  • Receive the question and any seed hypotheses
  • Validate the question is ACH-shaped
  • Spawn hypothesizers in isolation across angles
  • Spawn evidence-gatherers in isolation across evidence classes
  • Build the matrix (evaluating each cell independently)
  • Run diagnosticity, disconfirmation-focused ranking, sensitivity analysis, and falsification-milestone identification
  • Synthesize the report

**Hypothesizers** (`THK - ACH Hypothesizer`): Each receives the question and an assigned *angle* (leading, alternative, adversarial, null, deceptive, surprise). Generates hypotheses from that angle in isolation.

**Evidence-gatherers** (`THK - ACH Evidence Gatherer`): Each receives the question and an assigned *evidence class* (direct-observational, documentary-historical, structural, behavioral, absent, anomalous). Enumerates relevant evidence in that class in isolation.

Workflow

1. Receive the Question and Any Seed Hypotheses

The question may arrive as:

  • **Conversation context** — summarize back, confirm
  • **A document** — read the file (incident report, design analysis, intelligence brief)
  • **Fresh user input** — capture verbatim

The user may also provide seed hypotheses they already have in mind. Capture them as inputs to step 3 (they don't replace the parallel hyp

Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withclaude-swe-workflows

A system of composable software engineering workflows for Claude Code. Plan projects, implement tickets, and run quality passes — from a single ticket to a multi-batch project, using the same layered architecture.

Get the whole plugin, auto-invoked
Stats
18
Stars
0
Views
4
Forks
Maintained
Maintenance
MIT
License
2mo ago
Last commit
6mo ago
Created

Repo: chrisallenlane/claude-swe-workflows

Other skills on claude-swe-workflows.