fact-check-workflow
The fact-check-workflow skill provides a structured seven-step process for verifying claims in journalistic content, from initial claim extraction through publication or correction. Use it when conducting pre-publication fact-checking of articles, creating dedicated fact-check stories with rating scales, verifying source statements during reporting, establishing newsroom verification protocols, or training staff on verification standards. The workflow includes templates for claim extraction and prioritization, guidance on identifying checkable factual assertions versus non-checkable opinions, systematic research methods emphasizing primary sources, evidence documentation procedures, and rating decisions for fact-check articles.
git clone --depth 1 https://github.com/jamditis/claude-skills-journalism /tmp/fact-check-workflow && cp -r /tmp/fact-check-workflow/journalism-core/skills/fact-check-workflow ~/.claude/skills/fact-check-workflowSKILL.md
# Fact-check workflow
Fact-checking is systematic, not intuitive. This skill provides structure for claim verification, evidence documentation, and rating decisions.
## When to use
- Pre-publication fact-checking of articles
- Dedicated fact-check stories (rating claims)
- Verifying source statements during reporting
- Building fact-checking protocols for a newsroom
- Training staff on verification standards
## The fact-check process
```
1. Identify claim → 2. Research claim → 3. Gather evidence →
4. Contact sources → 5. Rate/verify → 6. Document → 7. Publish/correct
```
## Step 1: Claim extraction
### What to check
**Check:**
- Factual assertions ("X happened," "Y is true")
- Statistics and numbers
- Dates and timelines
- Quotes and attributions
- Causal claims ("X caused Y")
**Don't check (opinions):**
- "This policy is good/bad"
- "We should do X"
- Predictions about the future
- Matters of taste or preference
### Claim extraction template
```markdown
## Claim log
**Article/Source:** [where the claim appeared]
**Date:** [when]
### Claim 1
**Statement:** [exact quote or paraphrase]
**Speaker:** [who said it]
**Context:** [surrounding context]
**Type:** [statistic/historical/quote/causal]
**Priority:** [high/medium/low based on importance to story]
**Status:** [pending/verified/false/unverifiable]
### Claim 2
[same structure]
```
### Prioritizing claims
| Priority | Criteria |
|----------|----------|
| **High** | Central to the story's thesis, easily checkable, high consequence if wrong |
| **Medium** | Supporting detail, takes more effort to verify |
| **Low** | Peripheral detail, commonly accepted, minimal consequence |
Check high-priority claims first. Check all claims if time allows.
## Step 2: Research the claim
### Primary sources first
| Claim type | Primary sources |
|------------|-----------------|
| Statistics | Original study, government data, survey methodology |
| Quotes | Audio/video recording, transcript, direct confirmation |
| Historical | Contemporary news accounts, official records |
| Scientific | Peer-reviewed research, expert consensus |
| Legal | Court documents, official filings |
| Financial | SEC filings, audited statements |
### Secondary source evaluation
If you must use secondary sources:
- How close are they to the original?
- Do they cite their sources?
- Do multiple independent sources confirm?
- Is there any contradicting coverage?
### Research documentation template
```markdown
## Research for Claim: [brief description]
### Primary sources checked
| Source | What it says | Confirms/Contradicts |
|--------|--------------|---------------------|
| [source] | [finding] | [confirms/contradicts/partial] |
### Secondary sources checked
| Source | What it says | Reliability |
|--------|--------------|-------------|
| [source] | [finding] | [high/medium/low] |
### Gaps in evidence
- [What you couldn't find]
- [What you still need]
```
## Step 3: Evidence gathering
### Types of evidence
| Evidence type | Strength | Notes |
|---------------|----------|-------|
| Official documents | Strong | Court records, government reports, filings |
| Primary data | Strong | Original datasets, your own analysis |
| Expert consensus | Strong | Multiple independent experts agree |
| On-record sources | Medium | Named source with direct knowledge |
| Contemporary accounts | Medium | News coverage from the time |
| Off-record sources | Weak | Use to guide reporting, not as evidence |
| Social media posts | Weak | Can be deleted, context matters |
### Evidence checklist
```markdown
## Evidence for: [claim]
### Documentary evidence
- [ ] Government records
- [ ] Court documents
- [ ] Corporate filings
- [ ] Published research
- [ ] Official statements/press releases
### Human sources
- [ ] Direct witnesses
- [ ] Subject matter experts
- [ ] Involved parties (on record)
- [ ] Involved parties (for response)
### Data verification
- [ ] Original dataset obtained
- [ ] Methodology reviewed
- [ ] Calculations independently verified
- [ ] Sample size adequate
### Contradicting evidence
- [ ] Searched for conflicting sources
- [ ] Contradictions documented
- [ ] Discrepancies explained
```
## Step 4: Contact sources
### Right of response
**Always contact:**
- People/organizations being fact-checked
- Give specific claims you're checking
- Give reasonable deadline (24-48 hours minimum)
- Document their response (or non-response)
### Source contact template
```markdown
Subject: Request for comment - [Publication] fact-check
Dear [Name],
I'm a [title] at [publication] working on a fact-check of [context].
Specifically, I'm examining this claim:
"[Exact claim being checked]"
I want to give you the opportunity to provide any evidence supporting this claim, clarify the context, or offer any corrections.
My deadline is [date/time]. Please let me know if you need more time.
[Your name]
[Contact info]
```
### Document responses
```markdown
## Source response log
### [Source name]
**Contacted:** [date/time, method]
**Deadline given:** [date/time]
**Response received:** [date/time] / No response
**Summary:** [what they said]
**Evidence provided:** [any documentation]
**Direct quote for publication:** "[quote]"
```
## Step 5: Rating the claim
### Standard rating scales
**Binary (for internal fact-checking):**
- Verified
- False
- Unverifiable
**Graduated (for fact-check articles):**
| Rating | Criteria |
|--------|----------|
| **True** | Accurate and complete, nothing significant omitted |
| **Mostly true** | Accurate but needs context or minor clarification |
| **Half true** | Partially accurate but leaves out critical context |
| **Mostly false** | Contains some truth but overall misleading |
| **False** | Not accurate; contradicted by evidence |
| **Pants on fire** | Not accurate AND ridiculous (use sparingly) |
### Rating decision template
```markdown
## Rating decision: [claim]
**Claim:** [exact statement]
**Speaker:** [who said it]
**OuWeb accessibility patterns for news sites, journalism tools, and academic platforms. Use when building accessible interfaces, auditing existing sites for WCAG compliance, writing alt text for news images, creating accessible data visualizations, or ensuring content reaches all readers including those using assistive technologies. Essential for newsroom developers and anyone publishing web content.
Electron desktop application development with React, TypeScript, and Vite. Use when building desktop apps, implementing IPC communication, managing windows/tray, handling PTY terminals, integrating WebRTC/audio, or packaging with electron-builder. Covers patterns from AudioBash, Yap, and Pisscord projects.
Remote JavaScript console access and debugging on mobile devices. Use when debugging web pages on phones/tablets, accessing console errors without desktop DevTools, testing responsive designs on real devices, or diagnosing mobile-specific issues. Covers Eruda, vConsole, Chrome/Safari remote debugging, and cloud testing platforms.
Use this skill when creating new files that represent architectural decisions — data models, infrastructure configs, auth boundaries, API contracts, CI/CD pipelines, or event systems. Flags irreversible decisions and forces a discussion about trade-offs before committing.
Python data processing pipelines with modular architecture. Use when building content processing workflows, implementing dispatcher patterns, integrating Google Sheets/Drive APIs, or creating batch processing systems. Covers patterns from rosen-scraper, image-analyzer, and social-scraper projects.
This skill should be used when the user reports a bug, describes unexpected behavior, says something is "broken", "not working", "failing", mentions an "error", "issue", or "problem" in code, or asks to "fix" something. Enforces test-driven bug fixing workflow.
Methodology for effective AI-assisted software development. Use when helping users build software with AI coding assistants, debugging AI-generated code, planning features for AI implementation, managing version control in AI workflows, or when users mention "vibe coding," Claude Code, Cursor, GitHub Copilot, Aider, Continue, Cline, Codex, Windsurf, or similar AI coding tools. Provides strategies for planning, testing, debugging, and iterating on code written with LLM assistance.
Web scraping with anti-bot bypass, content extraction, undocumented APIs and poison pill detection. Use when extracting content from websites, handling paywalls, implementing scraping cascades or processing social media. Covers requests, trafilatura, Playwright with stealth mode, yt-dlp and instaloader patterns.