true-crime/SKILL.md
Factual verification workflow for true-crime narratives grounded in court records, public documents, and journalistic investigation. This mode prioritizes source-tier classification, primary-record cross-checking, and systematic escalation strategies for unresolved claims.
Core workflow
Use these four steps in order for every claim in your manuscript:
Classify the claim's evidence quality:
- Tier 1 — Primary legal record (court dockets, DOJ press releases, sentencing transcripts, BOP records, indictments, FTC filings)
- Tier 2 — Direct subject statement (long-form interview transcript where subject speaks in their own words, with interviewer independently corroborating surrounding claims)
- Tier 3 — Journalistic paraphrase (NYT, Wired, Vice, NBC summarizing the subject's claims in the outlet's own words)
- Tier 4 — Marketing/bio copy (speaker bureau pages, podcast show-notes, consulting-firm bios — recycled self-description, usually not independently checked)
A claim appearing only at Tier 4, however many times it's repeated, stays [SINGLE-SOURCE]. Repetition across marketing copy is not corroboration.
For subject-heavy cases, use specialized search patterns:
- Always pair surname with handle/alias (e.g., "gollumfun"), specific entity (e.g., "ShadowCrew.com"), or named associate
- Search court records specifically:
"[name]" "[case-specific term]" indictment OR docket site:justice.gov
- Discard false positives aggressively; don't pattern-match on partial fits
- Log dead ends as
[GAP — searched, not public] rather than [GAP] alone
When multiple sources give different numbers or accounts:
- Convergence rule: If 5+ independently-produced sources converge on one figure, replace the original with convergent figure and cite the convergence
- Split evidence: If sources split evenly, keep both with per-outlet attribution ("X per [outlet], Y per [outlet]")
- Never average or guess — count independent sourcing lines instead
For facts that stay unverified after steps 1–3:
- PACER direct docket search — by defendant name + district guess (if the district is known)
- BOP inmate locator — historical only; live locator won't return released inmates
- Local news archives — NewsBank, Google News Archive, specific time windows
- Genuine gap disclosure — if none resolve it, the fact stays
[GAP] with author's-note-level disclosure
Example workflow
Claim: "Brett Johnson served seven and a half years in federal prison."
Step 1 — Tier triage:
- Multiple journalist profiles (Tier 3) cite "seven and a half years"
- Johnson's own Darknet Diaries interview (Tier 2) mentions total time served
- DOJ press release (Tier 1) likely contains the sentencing order
Step 2 — Query construction:
- Search:
"Brett Johnson" "gollumfun" ShadowCrew sentence site:justice.gov
- Search:
"Brett Johnson" "gollumfun" indictment Newark PACER
- Search: "Darknet Diaries" "Gollumfun" transcript
Step 3 — Cross-source reconciliation:
- Journalist profiles: "seven and a half years total"
- Darknet Diaries Part 1: "roughly seven years, with escape adding time"
- One profile: "90 months for the original case, extended after escape"
- Result: Use "roughly seven and a half years total, following a sentence reported as 90 months for the core ShadowCrew case"
Step 4 — Escalation:
- If the exact sentencing court/date is still missing after these searches, mark as
[GAP — PACER district narrowing needed]
- Next step: PACER search with "ShadowCrew defendants" + "Newark" to find the correct federal district
What each submodule covers
- Detailed tier definitions with examples
- How to distinguish Tier 2 from Tier 3 (the critical boundary)
- Why repetition is not corroboration
- Red flags for overcounting sources
- Common-surname poisoning and how to filter it
- Site-specific search operators for court records, journalism, academic databases
- Handle/alias/entity pairing strategies
- False-positive screening protocols
- The 5+ convergence rule and its rationale
- How to handle 50/50 splits in evidence
- When to use footnotes vs. integrated attribution
- Precedent examples from journalism and academic history
- PACER search strategies and district inference
- BOP inmate locator workflow (and why it fails for released inmates)
- Local news archive search patterns by region and decade
- How to format
[GAP] vs. [GAP — searched, not public] in your manuscript
- Author's-note disclosure templates for remaining gaps
Integration with narrative
This workflow produces sourcing annotations that feed directly into:
- Scene-by-scene outlines (which facts are Tier 1, which need reconstruction flags)
- Character portrayals (what dialogue can be quoted vs. summarized)
- Editorial checklists (where
[SINGLE-SOURCE] items need corroboration)
See ../../../shared/narrative-architecture.md and ../../../shared/editorial-checklist.md for how to translate verification results into narrative structure.
When to stop searching
- Tier 1 fact with 3+ independent Tier 1 sources: Use it, cite converging Tier 1s
- Tier 2 fact with 2+ independent Tier 2 sources: Use it, note as Tier 2
- Tier 3 fact with 5+ independent Tier 3 sources: Use it, note convergence
- Fact appearing only at Tier 4: Mark as
[SINGLE-SOURCE]; don't use without Tier 1–3 backup
- Fact unreachable after PACER, BOP, archive searches: Mark as
[GAP] and disclose in author's note
Genuine gaps are not failures. They're opportunities for transparent writing.
Common pitfalls to avoid
- Assuming interview transcripts are Tier 2 without corroboration — The transcript must show the interviewer independently verifying surrounding claims (e.g., "I read the police reports and it checks out")
- Treating speaker-bureau bios as Tier 3 — They're Tier 4; they recycle the subject's self-description without independent checking
- Counting repetition as corroboration — Five articles copying the same press kit is one source, not five
- Skipping PACER when you have a quote — If the court record says something different, Tier 1 trumps Tier 2 or 3
- Inventing specificity to fill gaps — If you don't know the prison name, don't guess; mark
[GAP] and move on
- Assuming "not found" means "doesn't exist" — Document your search attempts; "not found after 3 reformulations" is different from "never searched"
Resources
- PACER (Public Access to Court Electronic Records): pacer.uscourts.gov
- BOP Inmate Locator: bop.gov/inmateloc (historical archives available through Ancestry, some state corrections)
- NewsBank: newsbankarchives.com (local newspaper archives, typically institutional access)
- Google News Archive: news.google.com/newspapers (historical newspaper search, free)
- RECAP (Free PACER archive): recapthelaw.org
This module is part of @h4shed/skill-underworld-writer. See the root SKILL.md for the full skill overview and integration guide.
1---2name: protocols3description: Protocols4---5# true-crime/SKILL.md67**Factual verification workflow** for true-crime narratives grounded in court records, public documents, and journalistic investigation. This mode prioritizes source-tier classification, primary-record cross-checking, and systematic escalation strategies for unresolved claims.89## Core workflow1011Use these four steps in order for every claim in your manuscript:1213### [1. Source-tier triage](./verification-engine.md)14Classify the claim's evidence quality:15- **Tier 1** — Primary legal record (court dockets, DOJ press releases, sentencing transcripts, BOP records, indictments, FTC filings)16- **Tier 2** — Direct subject statement (long-form interview transcript where subject speaks in their own words, with interviewer independently corroborating surrounding claims)17- **Tier 3** — Journalistic paraphrase (NYT, Wired, Vice, NBC summarizing the subject's claims in the outlet's own words)18- **Tier 4** — Marketing/bio copy (speaker bureau pages, podcast show-notes, consulting-firm bios — recycled self-description, usually not independently checked)1920A claim appearing only at Tier 4, however many times it's repeated, stays `[SINGLE-SOURCE]`. Repetition across marketing copy is not corroboration.2122### [2. Query construction](./query-construction-guide.md)23For subject-heavy cases, use specialized search patterns:24- Always pair surname with **handle/alias** (e.g., "gollumfun"), **specific entity** (e.g., "ShadowCrew.com"), or **named associate**25- Search court records specifically: `"[name]" "[case-specific term]" indictment OR docket site:justice.gov`26- Discard false positives aggressively; don't pattern-match on partial fits27- Log dead ends as `[GAP — searched, not public]` rather than `[GAP]` alone2829### [3. Cross-source reconciliation](./cross-source-reconciliation.md)30When multiple sources give different numbers or accounts:31- **Convergence rule:** If 5+ independently-produced sources converge on one figure, replace the original with convergent figure and cite the convergence32- **Split evidence:** If sources split evenly, keep both with per-outlet attribution ("X per [outlet], Y per [outlet]")33- **Never average or guess** — count independent sourcing lines instead3435### [4. Escalation for persistent gaps](./escalation-protocols.md)36For facts that stay unverified after steps 1–3:371. **PACER direct docket search** — by defendant name + district guess (if the district is known)382. **BOP inmate locator** — historical only; live locator won't return released inmates393. **Local news archives** — NewsBank, Google News Archive, specific time windows404. **Genuine gap disclosure** — if none resolve it, the fact stays `[GAP]` with author's-note-level disclosure4142---4344## Example workflow4546**Claim:** "Brett Johnson served seven and a half years in federal prison."4748**Step 1 — Tier triage:**49- Multiple journalist profiles (Tier 3) cite "seven and a half years"50- Johnson's own Darknet Diaries interview (Tier 2) mentions total time served51- DOJ press release (Tier 1) likely contains the sentencing order5253**Step 2 — Query construction:**54- Search: `"Brett Johnson" "gollumfun" ShadowCrew sentence site:justice.gov`55- Search: `"Brett Johnson" "gollumfun" indictment Newark PACER`56- Search: "Darknet Diaries" "Gollumfun" transcript5758**Step 3 — Cross-source reconciliation:**59- Journalist profiles: "seven and a half years total"60- Darknet Diaries Part 1: "roughly seven years, with escape adding time"61- One profile: "90 months for the original case, extended after escape"62- Result: Use "roughly seven and a half years total, following a sentence reported as 90 months for the core ShadowCrew case"6364**Step 4 — Escalation:**65- If the exact sentencing court/date is still missing after these searches, mark as `[GAP — PACER district narrowing needed]`66- Next step: PACER search with "ShadowCrew defendants" + "Newark" to find the correct federal district6768---6970## What each submodule covers7172### [verification-engine.md](./verification-engine.md)73- Detailed tier definitions with examples74- How to distinguish Tier 2 from Tier 3 (the critical boundary)75- Why repetition is not corroboration76- Red flags for overcounting sources7778### [query-construction-guide.md](./query-construction-guide.md)79- Common-surname poisoning and how to filter it80- Site-specific search operators for court records, journalism, academic databases81- Handle/alias/entity pairing strategies82- False-positive screening protocols8384### [cross-source-reconciliation.md](./cross-source-reconciliation.md)85- The 5+ convergence rule and its rationale86- How to handle 50/50 splits in evidence87- When to use footnotes vs. integrated attribution88- Precedent examples from journalism and academic history8990### [escalation-protocols.md](./escalation-protocols.md)91- PACER search strategies and district inference92- BOP inmate locator workflow (and why it fails for released inmates)93- Local news archive search patterns by region and decade94- How to format `[GAP]` vs. `[GAP — searched, not public]` in your manuscript95- Author's-note disclosure templates for remaining gaps9697---9899## Integration with narrative100101This workflow produces **sourcing annotations** that feed directly into:102- Scene-by-scene outlines (which facts are Tier 1, which need reconstruction flags)103- Character portrayals (what dialogue can be quoted vs. summarized)104- Editorial checklists (where `[SINGLE-SOURCE]` items need corroboration)105106See [`../../../shared/narrative-architecture.md`](../../../shared/narrative-architecture.md) and [`../../../shared/editorial-checklist.md`](../../../shared/editorial-checklist.md) for how to translate verification results into narrative structure.107108---109110## When to stop searching111112- **Tier 1 fact with 3+ independent Tier 1 sources**: Use it, cite converging Tier 1s113- **Tier 2 fact with 2+ independent Tier 2 sources**: Use it, note as Tier 2114- **Tier 3 fact with 5+ independent Tier 3 sources**: Use it, note convergence115- **Fact appearing only at Tier 4**: Mark as `[SINGLE-SOURCE]`; don't use without Tier 1–3 backup116- **Fact unreachable after PACER, BOP, archive searches**: Mark as `[GAP]` and disclose in author's note117118Genuine gaps are not failures. They're opportunities for transparent writing.119120---121122## Common pitfalls to avoid1231241. **Assuming interview transcripts are Tier 2 without corroboration** — The transcript must show the interviewer independently verifying surrounding claims (e.g., "I read the police reports and it checks out")1252. **Treating speaker-bureau bios as Tier 3** — They're Tier 4; they recycle the subject's self-description without independent checking1263. **Counting repetition as corroboration** — Five articles copying the same press kit is one source, not five1274. **Skipping PACER when you have a quote** — If the court record says something different, Tier 1 trumps Tier 2 or 31285. **Inventing specificity to fill gaps** — If you don't know the prison name, don't guess; mark `[GAP]` and move on1296. **Assuming "not found" means "doesn't exist"** — Document your search attempts; "not found after 3 reformulations" is different from "never searched"130131---132133## Resources134135- **PACER** (Public Access to Court Electronic Records): pacer.uscourts.gov136- **BOP Inmate Locator**: bop.gov/inmateloc (historical archives available through Ancestry, some state corrections)137- **NewsBank**: newsbankarchives.com (local newspaper archives, typically institutional access)138- **Google News Archive**: news.google.com/newspapers (historical newspaper search, free)139- **RECAP** (Free PACER archive): recapthelaw.org140141---142143**This module is part of `@h4shed/skill-underworld-writer`.** See the root `SKILL.md` for the full skill overview and integration guide.