Claude-skills-journalism source-verification
Journalism source verification and fact-checking workflows. Use when verifying claims, checking source credibility, investigating social media accounts, reverse image searching, or building verification trails. Essential for reporters, fact-checkers, and researchers working with unverified information.
install
source · Clone the upstream repo
git clone https://github.com/jamditis/claude-skills-journalism
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jamditis/claude-skills-journalism "$T" && mkdir -p ~/.claude/skills && cp -r "$T/source-verification" ~/.claude/skills/jamditis-claude-skills-journalism-source-verification && rm -rf "$T"
manifest:
source-verification/SKILL.mdsource content
Source verification methodology
Systematic approaches for verifying sources, claims, and digital content in journalism and research.
Verification framework
The SIFT method
S - Stop: Don't immediately share or use unverified information I - Investigate the source: Who is behind the information? F - Find better coverage: What do other reliable sources say? T - Trace claims: Find the original source of the claim
Source credibility checklist
## Source evaluation template ### Basic identification - [ ] Full name/organization identified - [ ] Contact information verifiable - [ ] Professional credentials checkable - [ ] Online presence consistent across platforms ### Expertise assessment - [ ] Relevant expertise for the claim being made - [ ] Track record in this subject area - [ ] Recognized by peers in the field - [ ] No history of spreading misinformation ### Motivation analysis - [ ] Potential conflicts of interest identified - [ ] Financial stake in the outcome? - [ ] Political or ideological motivation? - [ ] Personal grievance involved? ### Corroboration - [ ] Can claims be independently verified? - [ ] Do other credible sources confirm? - [ ] Is documentary evidence available? - [ ] Are there contradicting sources?
Digital verification techniques
Social media account analysis
## Account verification checklist ### Account age and history - Creation date (older accounts more credible) - Posting frequency and patterns - Gaps in activity (dormant then suddenly active?) - Language consistency over time ### Network analysis - Follower/following ratio - Quality of followers (real accounts vs. bots) - Interaction patterns (who engages with them?) - Mutual connections with verified accounts ### Content patterns - Original content vs. reshares only - Topics discussed consistently - Geographic indicators in posts - Time zone of posting activity ### Red flags - Recently created account making bold claims - Sudden pivot in topics or tone - Coordinated behavior with other accounts - Stock photo profile picture - Generic bio with no specifics
Reverse image search workflow
## Image verification process ### Step 1: Reverse image search Tools to use: - Google Images (images.google.com) - TinEye (tineye.com) - Yandex Images (yandex.com/images) - best for faces - Bing Visual Search ### Step 2: Check metadata (EXIF) - Original capture date/time - Camera/device information - GPS coordinates (if available) - Software used to edit Tools: - Jeffrey's EXIF Viewer (exif.regex.info) - FotoForensics (fotoforensics.com) - InVID verification plugin ### Step 3: Analyze image content - Weather conditions (match reported date?) - Shadows (consistent with time of day?) - Signage/text (correct language for location?) - Architecture (matches claimed location?) - Clothing (seasonal appropriateness?) ### Step 4: Find original source - Earliest appearance online - Original photographer/source - Context of first publication - Has it been used in other contexts?
Video verification
## Video verification checklist ### Technical analysis - [ ] Resolution consistent throughout - [ ] Audio sync matches video - [ ] No visible editing artifacts - [ ] Lighting consistent across frames - [ ] Shadows behave naturally ### Content analysis - [ ] Location identifiable and verifiable - [ ] Time indicators (sun position, shadows) - [ ] Weather matches historical records - [ ] Background details consistent - [ ] People's clothing appropriate for context ### Metadata check - [ ] Upload date vs. claimed event date - [ ] Original source identified - [ ] Chain of custody traceable - [ ] Multiple angles available? ### Tools - InVID/WeVerify browser extension - YouTube DataViewer (citizenevidence.amnestyusa.org) - Frame-by-frame analysis tools
Document verification
PDF and document analysis
## Document verification steps ### Metadata examination - Creation date and modification history - Author information - Software used to create - Embedded fonts and images ### Visual inspection - Consistent formatting throughout - Font matching (no spliced text) - Alignment of text and images - Quality consistent across pages - Signatures appear authentic ### Content verification - Dates internally consistent - Names spelled correctly throughout - Reference numbers valid - Contact information verifiable - Letterhead matches known examples ### Provenance - How was document obtained? - Chain of custody documented? - Original vs. copy? - Can source provide additional context?
Building a verification trail
Documentation template
## Verification record **Claim being verified:** [State the specific claim] **Source of claim:** - Name/account: - Platform: - Date first seen: - URL (archived): **Verification steps taken:** ### Step 1: [Description] - Action taken: - Tool/method used: - Result: - Screenshot/evidence saved: [filename] ### Step 2: [Description] - Action taken: - Tool/method used: - Result: - Screenshot/evidence saved: [filename] [Continue for each step] **Corroborating sources:** 1. [Source 1] - [What it confirms] 2. [Source 2] - [What it confirms] 3. [Source 3] - [What it confirms] **Contradicting information:** 1. [Source] - [What it contradicts] **Confidence assessment:** - [ ] Verified true - [ ] Likely true (high confidence) - [ ] Unverified (insufficient evidence) - [ ] Likely false (contradicting evidence) - [ ] Verified false **Reasoning:** [Explain your conclusion based on evidence] **Verification completed by:** **Date:**
Archiving evidence
Web archiving best practices
# Save URLs to multiple archives for redundancy ARCHIVE_SERVICES = [ 'https://web.archive.org/save/', # Internet Archive 'https://archive.ph/', # Archive.today 'https://perma.cc/', # Perma.cc (requires account) ] def archive_url(url: str) -> dict: """Archive URL to multiple services.""" results = {} # Internet Archive try: response = requests.get(f'https://web.archive.org/save/{url}') if response.status_code == 200: results['wayback'] = response.url except Exception as e: results['wayback_error'] = str(e) # Archive.today (requires different approach) # ... implementation return results
Screenshot documentation
## Screenshot best practices 1. **Full page capture**: Use browser extensions for full-page screenshots 2. **Include URL bar**: Shows the source URL 3. **Include timestamp**: System clock visible or add manually 4. **Save metadata**: Note when and how captured 5. **Multiple formats**: Save as PNG (lossless) and PDF 6. **Secure storage**: Hash files and store securely Recommended tools: - Hunchly (hunch.ly) - automatic capture and logging - Screenpresso - full page with annotations - Browser print-to-PDF - includes URL and date
Interview verification
Pre-interview source check
## Source background check ### Public records - [ ] Professional licenses verified - [ ] Court records checked - [ ] Business registrations confirmed - [ ] Property records (if relevant) - [ ] Campaign finance records (if political) ### Professional background - [ ] LinkedIn profile reviewed - [ ] Employer confirmed - [ ] Previous employers contacted - [ ] Published work reviewed - [ ] Conference appearances verified ### Social media audit - [ ] All platforms identified - [ ] Post history reviewed - [ ] Connections/followers analyzed - [ ] Previous statements on topic - [ ] Any deleted content found? ### Media appearances - [ ] Previous interviews found - [ ] Consistency with current claims - [ ] Other journalists' assessments - [ ] Any retractions or corrections?
During interview verification
## Real-time verification techniques ### Document requests - Ask for documentation during interview - Verify documents aren't altered - Request originals, not copies when possible - Note document condition and provenance ### Specific detail probing - Ask for specific dates, names, locations - Request corroborating witnesses - Ask "How do you know that?" - Follow up on vague answers ### Consistency checks - Note initial version of story - Return to key points later - Compare details across tellings - Flag inconsistencies for follow-up ### Recording best practices - Get consent (check local laws) - Use reliable recording equipment - Backup recording in real-time - Note non-verbal cues separately
Verification resources
Essential tools
| Tool | Purpose | URL |
|---|---|---|
| InVID/WeVerify | Video verification plugin | weverify.eu |
| TinEye | Reverse image search | tineye.com |
| Wayback Machine | Web archives | web.archive.org |
| CrowdTangle | Social media tracking | crowdtangle.com |
| Hoaxy | Claim spread visualization | hoaxy.osome.iu.edu |
| Media Bias/Fact Check | Source reliability | mediabiasfactcheck.com |
| OpenCorporates | Company records | opencorporates.com |
| OCCRP Aleph | Document search | aleph.occrp.org |
Training resources
- First Draft News (firstdraftnews.org)
- Bellingcat guides (bellingcat.com/resources)
- Google News Initiative (newsinitiative.withgoogle.com)
- Verification Handbook (verificationhandbook.com)
- SPJ ethics resources (spj.org/ethics)