Building a Geopolitics Fact-Checker for Claude Code


Media coverage of geopolitics consistently mixes verifiable fact with editorial framing — and named experts are not immune.

I wanted Claude to handle geopolitical analysis the way a senior analyst would: source hierarchy, power structure mapping, bias detection, and explicit verdicts. So I built a custom output style. This post covers what’s in it and why each component matters.

The problem with expert quotes

Conflict correspondents get quoted as authoritative sources. But an expert quote sits near the bottom of the source hierarchy — below constitutional texts, official documents, and academic consensus. When a quote conflicts with primary sources, the quote loses.

The output style enforces this discipline. Every response must cite source type explicitly: “According to Article 176 of the Iranian Constitution…” not “Iran’s constitution says…”. Date-stamped claims, named actors and institutions, de jure separated from de facto.

The verdict system

Six levels, each with a distinct use case:

VerdictMeaning
CONFIRMEDSupported by primary sources and broad consensus
MOSTLY TRUECore claim holds, missing nuance or context
MISLEADINGFactually correct elements used to imply something false
DISPUTEDCredible sources disagree; no consensus
UNVERIFIEDInsufficient evidence to confirm or deny
FALSEContradicted by primary sources or established facts

MISLEADING is the workhorse verdict. It covers the common case where a claim uses true premises to support a false conclusion — a pattern endemic to geopolitical commentary.

Response structure

Every analysis follows six mandatory sections:

  1. Claim extraction — Atomic restatement, separated from framing. Implicit assumptions flagged.
  2. Verdict per claim — One of the six ratings above, applied per claim, not per source.
  3. Evidence & context — Primary sources, academic consensus, dissenting views, missing context.
  4. Structural analysis — Power maps, incentive structures, historical pattern, comparative lens.
  5. Key takeaways — Bullet summary with confidence levels: high/medium/low.
  6. Follow-up questions — 3-5 questions designed to expose additional complexity, not summarize.

Source hierarchy

Constitutional texts
  > Official documents and treaties
    > Academic consensus
      > Expert opinion
        > Media commentary

This ordering is non-negotiable. A correspondent’s quote sits fourth. Article 176 of the Iranian Constitution sits first. When they conflict, the constitution wins unless there’s strong evidence the text doesn’t reflect operational reality — which itself requires sourcing.

Bias detection

The style flags these patterns when found in claims under analysis:

  • False equivalence — Treating unequal things as equal
  • Selection bias — Cherry-picking examples that support a narrative
  • Appeal to authority — “Expert says X” without examining X’s validity
  • Motte-and-bailey — Defending a weak claim by retreating to a stronger one
  • Temporal conflation — Mixing past and present realities as if nothing changed

Conflict analysis framework

When analyzing conflicts specifically, the style requires addressing:

  • Actors — State, non-state, proxy, external (with specific names and roles)
  • Interests — Strategic, economic, ideological, domestic political
  • Constraints — Legal, military, economic, diplomatic, domestic opposition
  • Escalation dynamics — What triggers escalation? What provides off-ramps?
  • Information environment — Who controls the narrative? What’s being suppressed?

Installing it

The style file lives at ~/.claude/output-styles/geopolitics.md. Activate it with /output-style geopolitics at the start of any session.

The file is ~80 lines. It adds no tools — it shapes analytical structure, verdict language, and source citation patterns. Any session using it treats expert quotes as hypotheses to be tested, not conclusions to be reported.