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:
| Verdict | Meaning |
|---|---|
| CONFIRMED | Supported by primary sources and broad consensus |
| MOSTLY TRUE | Core claim holds, missing nuance or context |
| MISLEADING | Factually correct elements used to imply something false |
| DISPUTED | Credible sources disagree; no consensus |
| UNVERIFIED | Insufficient evidence to confirm or deny |
| FALSE | Contradicted 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:
- Claim extraction — Atomic restatement, separated from framing. Implicit assumptions flagged.
- Verdict per claim — One of the six ratings above, applied per claim, not per source.
- Evidence & context — Primary sources, academic consensus, dissenting views, missing context.
- Structural analysis — Power maps, incentive structures, historical pattern, comparative lens.
- Key takeaways — Bullet summary with confidence levels: high/medium/low.
- 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.