claude-skills-journalism
# Claude skills for journalism, media, and academia A curated collection of Claude Code skills designed for journalists, researchers, academics, media professionals, and communications practitioners. **Docs site:** [skills.amditis.tech](https://skills.amditis.tech) — interactive skill browser, setup guides, and full documentation. ## Guides Setup and workflow guides, separate from the skills themselves: | Guide | Description | |-------|-------------| | [Autonomous and hands-on dev work](https://skills.amditis.tech/autonomy/) | A first-person account of running dev work with Claude in two modes — autonomous sessions that pull tasks off GitHub issues, and hands-on multi-agent reviews at the keyboard — held to one quality bar, with copy-able prompts to adapt the approach to your own agent | | [Multi-agent workflows](https://skills.amditis.tech/workflows/) | Plain-language guide to running many AI agents on one job — fan-out, pipeline, and adversarial-verify patterns, with real examples from ICIJ, The Markup, Full Fact, and Elicit, plus honest cautions | | [Persistent sessions](https://skills.amditis.tech/persistent-sessions/) | Keep Claude Code sessions alive through disconnects using tmux — setup, key bindings, activity notifications, and scheduler coexistence | ## What are Claude skills? Skills are modular instruction sets that extend Claude's capabilities for specialized tasks. Each skill contains domain-specific knowledge, workflows, templates, and best practices that Claude loads automatically when relevant to your work. ## Installation **Prerequisite:** You need [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) installed. Run `claude --version` in your terminal to check. ### Plugins (recommended) Plugins give you slash commands you can run directly inside Claude Code. Run these two commands inside a Claude Code session: ``` /plugin marketplace add jamditis/claude-skills-journalism /plugin install pdf-playground@claude-skills-journalism ``` Then restart Claude Code (close and reopen). See the [PDF Playground README](./pdf-playground/) for detailed setup instructions and troubleshooting. **Available plugins:** | Plugin | Description | Commands | |--------|-------------|----------| | [autocontext](./autocontext/) | Cross-session knowledge persistence with skill evolution. Lessons accumulate per-skill, and `/autocontext:evolve` folds them back into skill files | `/autocontext:setup`, `/autocontext:init`, `/autocontext:review`, `/autocontext:status`, `/autocontext:evolve` | | [dev-toolkit](./dev-toolkit/) | Ten development-focused skills for journalists, researchers, and small newsroom dev teams: accessibility (WCAG 2.2), Electron app patterns, mobile/remote debugging, irreversible-decision discipline, Python data pipelines, test-first bug fixing, AI-assisted development workflows, ethical web scraping, no-build frontend patterns, and signs-of-taste guidance for web UI | n/a — skills only | | [journalism-core](./journalism-core/) | Thirteen core journalism skills, including AP-style writing, AI-slop detoxing, source verification (deepfakes/C2PA), FOIA + NJ OPRA requests, fact-checking, interview prep + transcription, story pitches, editorial workflow, crisis communications, and newsletter publishing with current Gmail / Yahoo / Outlook bulk-sender requirements | n/a — skills only | | [pdf-design](./pdf-design/) | PDF report and proposal design system with brand variables, budget tables, and reusable content blocks (stats strips, three-column, four-tile pillars, partner grids) | n/a — skill-only | | [pdf-playground](./pdf-playground/) | Create branded proposals, reports, one-pagers, newsletters, slides, and event materials with an interactive control panel for live design editing (colors, fonts, spacing, sections) and a guided wizard for proposals | `/pdf-playground:proposal`, `/pdf-playground:report`, `/pdf-playground:onepager`, `/pdf-playground:newsletter`, `/pdf-playground:slides`, `/pdf-playground:event`, `/pdf-playground:preview` | | [project-templates-toolkit](./project-templates-toolkit/) | Three skills for setting up and closing out journalism projects: a CLAUDE.md project-memory writer (institutional knowledge), a LESSONS.md retrospective writer (failures and decisions), and a template-selector decision tree across 6 project types | n/a — skills only | | [research-toolkit](./research-toolkit/) | Six skills for research, source preservation, and academic workflows: academic writing, legal paywall-bypass via Unpaywall and library databases, web archiving (Wayback / Archive.today / ArchiveBox), web page change monitoring, AI-enriched digital archive construction, and a curated free-API catalog with sunset currency notes (IEX Cloud, CrowdTangle, ProPublica Congress, X, Reddit) | n/a — skills only | | [security-toolkit](./security-toolkit/) | Four defensive security skills covering OWASP Top 10 fundamentals and supply-chain hardening: pre-deployment audit checklists (auth, input validation, secrets management), secure authentication patterns (password hashing, session management, JWT, OAuth, passkeys), API hardening (rate limiting, CORS, request throttling, defense-in-depth for Express, FastAPI, and serverless), and npm/bun supply-chain hardening with install-time cooldown plus a sandboxed pre-install scan for the bypass case (defends against Mini Shai-Hulud-class worms) | `/security-toolkit:hotpatch` | | [superjawn](./superjawn/) | Research-augmented fork of obra/superpowers. Default-on research phase fires before brainstorming, systematic-debugging, and writing-skills. v1.0.0 ships all 14 skills with no soft dependencies on the upstream `superpowers` plugin | invoked indirectly via skills (e.g. `superjawn:brainstorming`, `superjawn:systematic-debugging`, `superjawn:writing-plans`) | | [visual-explainer](./visual-explainer/) | HTML diagrams, data tables, architecture views, slide decks, and KPI dashboards adapted from nicobailon/visual-explainer with journalism, newsroom, and academic design sensibilities | `/visual-explainer:project-recap` | ### Skills (manual installation) Every skill in this repo now lives inside a plugin's `skills/` directory. To install just one without taking the whole plugin, clone the repo and copy or symlink the nested skill folder. Claude Code discovers skills at `~/.claude/skills/<skill-name>/SKILL.md` — one level deep: ``` git clone https://github.com/jamditis/claude-skills-journalism.git ~/projects/claude-skills-journalism cd ~/projects/claude-skills-journalism mkdir -p ~/.claude/skills # Pull a single skill out of a plugin's skills/ directory: cp -r journalism-core/skills/source-verification ~/.claude/skills/ cp -r research-toolkit/skills/free-apis-catalog ~/.claude/skills/ cp -r research-toolkit/skills/web-archiving ~/.claude/skills/ cp -r dev-toolkit/skills/web-scraping ~/.claude/skills/ cp -r security-toolkit/skills/secure-auth ~/.claude/skills/ cp -r project-templates-toolkit/skills/project-memory ~/.claude/skills/ # Or symlink so git pull updates them in place (ln -sfn replaces an existing link): ln -sfn "$PWD/research-toolkit/skills/free-apis-catalog" ~/.claude/skills/free-apis-catalog ``` Do not clone the repo directly into `~/.claude/skills/journalism-skills/` — that nests each `SKILL.md` too deep and Claude Code won't find them. ### For Claude.ai users Skills can be added via the Claude.ai interface under Settings > Skills. ## Skills overview ### Core journalism skills (in `journalism-core` plugin) These thirteen skills ship together as the [journalism-core](./journalism-core/) plugin. Install via `/plugin install journalism-core@claude-skills-journalism` to get all of them at once. | Skill | Description | |-------|-------------| | [ai-writing-detox](./journalism-core/skills/ai-writing-detox/) | Eliminate AI-generated patterns that erode reader trust. Banned words, phrases, and structures with alternatives | | [crisis-communications](./journalism-core/skills/crisis-communications/) | Breaking news protocol, rapid verification, crisis response, misinformation countering | | [data-journalism](./journalism-core/skills/data-journalism/) | Dataset analysis, chart and map creation, statistical reasoning, data-driven story structure | | [editorial-workflow](./journalism-core/skills/editorial-workflow/) | Story assignment tracking, deadline management, editorial calendars, handoff protocols | | [fact-check-workflow](./journalism-core/skills/fact-check-workflow/) | Claim extraction, evidence gathering, rating scales, correction protocols | | [foia-requests](./journalism-core/skills/foia-requests/) | Public records request drafting (federal FOIA + NJ OPRA), tracking, appeals, current statutory citations | | [interview-prep](./journalism-core/skills/interview-prep/) | Pre-interview research, question frameworks, recording consent, attribution guidelines | | [interview-transcription](./journalism-core/skills/interview-transcription/) | Whisper / WhisperX transcription pipelines, quote management, speaker diarization | | [newsletter-publishing](./journalism-core/skills/newsletter-publishing/) | Email newsletter creation, subscriber management, deliverability, 2024–2026 Gmail / Yahoo / Outlook bulk-sender compliance | | [newsroom-style](./journalism-core/skills/newsroom-style/) | AP Style enforcement, attribution rules, headline formatting, number conventions | | [social-media-intelligence](./journalism-core/skills/social-media-intelligence/) | Narrative tracking, coordinated-campaign analysis, account authenticity checks, OSINT for digital investigations | | [source-verification](./journalism-core/skills/source-verification/) | SIFT method, image and video verification, deepfake detection (2026), C2PA Content Credentials, verification trails | | [story-pitch](./journalism-core/skills/story-pitch/) | Pitch templates for daily news, features, investigations, op-eds, and freelance queries | ### Research and academic skills (in `research-toolkit` plugin) These six skills ship together as the [research-toolkit](./research-toolkit/) plugin. Install via `/plugin install research-toolkit@claude-skills-journalism` to get all of them at once. | Skill | Description | |-------|-------------| | [academic-writing](./research-toolkit/skills/academic-writing/) | Research design, literature reviews, IMRaD structure, peer review responses, grant proposals | | [content-access](./research-toolkit/skills/content-access/) | Unpaywall, CORE, Semantic Scholar APIs, library databases, ethical access patterns | | [digital-archive](./research-toolkit/skills/digital-archive/) | Building archives with AI enrichment, entity extraction, knowledge graphs | | [free-apis-catalog](./research-toolkit/skills/free-apis-catalog/) | Curated free-API catalog organized by journalism use-case, with currency notes for major API sunsets (IEX Cloud, CrowdTangle, ProPublica Congress, X, Reddit) and an evaluation rubric | | [page-monitoring](./research-toolkit/skills/page-monitoring/) | Change detection, RSS generation, webhook alerts, automatic archiving on changes | | [web-archiving](./research-toolkit/skills/web-archiving/) | Wayback Machine, Archive.today, legal evidence preservation, multi-archive redundancy | ### Design and production | Skill | Description | |-------|-------------| | [pdf-design](./pdf-design/) | Professional PDF reports and proposals with brand system, budget tables, and multi-page layouts. For the full interactive experience, use [pdf-playground](./pdf-playground/) instead | | [visual-explainer](./visual-explainer/) | Turn complex data into styled HTML pages — architecture diagrams, data tables, flowcharts, timelines, source maps, and dashboards with dark/light theme support. Now registered as a plugin (`/plugin install visual-explainer@claude-skills-journalism`) | ### Project documentation skills (in `project-templates-toolkit` plugin) These three skills ship together as the [project-templates-toolkit](./project-templates-toolkit/) plugin. Install via `/plugin install project-templates-toolkit@claude-skills-journalism` to get all of them at once. | Skill | Description | |-------|-------------| | [project-memory](./project-templates-toolkit/skills/project-memory/) | Generate CLAUDE.md files that capture project-specific knowledge. Includes templates for editorial tools, events, publications, research, pipelines, and archives | | [project-retrospective](./project-templates-toolkit/skills/project-retrospective/) | Generate LESSONS.md files that document what worked and what didn't. Templates for investigations, events, publications, and tools | | [template-selector](./project-templates-toolkit/skills/template-selector/) | Decision tree for choosing the right project documentation template | ### Development skills (in `dev-toolkit` plugin) These ten skills ship together as the [dev-toolkit](./dev-toolkit/) plugin. Install via `/plugin install dev-toolkit@claude-skills-journalism` to get all of them at once, or copy individual skills from `dev-toolkit/skills/<name>/`. | Skill | Description | |-------|-------------| | [accessibility-compliance](./dev-toolkit/skills/accessibility-compliance/) | WCAG 2.2 baseline, alt text, focus management, motion preferences, accessible charts | | [electron-dev](./dev-toolkit/skills/electron-dev/) | Electron security model (contextIsolation, sandbox), IPC patterns, packaging | | [mobile-debugging](./dev-toolkit/skills/mobile-debugging/) | Eruda, vConsole, Chrome DevTools on Android, Safari Web Inspector for iOS, console capture | | [one-way-door](./dev-toolkit/skills/one-way-door/) | Flag irreversible architectural decisions (data models, infra, auth, APIs) before committing | | [python-pipeline](./dev-toolkit/skills/python-pipeline/) | Data pipelines (pandas, polars, DuckDB, asyncio) with modular architecture | | [test-first-bugs](./dev-toolkit/skills/test-first-bugs/) | Test-driven bug fixing: write failing test first, then fix with subagents | | [vibe-coding](./dev-toolkit/skills/vibe-coding/) | AI-assisted development workflow (Claude Code, Cursor, Aider, Continue) | | [web-scraping](./dev-toolkit/skills/web-scraping/) | Ethical scraping patterns (Playwright, robots.txt, anti-bot defense, terms-of-service) | | [web-ui-best-practices](./dev-toolkit/skills/web-ui-best-practices/) | Container queries, `:has()`, view transitions, scroll-driven animations, signs of taste in web UI | | [zero-build-frontend](./dev-toolkit/skills/zero-build-frontend/) | ESM import maps, htmx, Alpine.js, no-build deployment | ### Security skills (in `security-toolkit` plugin) These four skills ship together as the [security-toolkit](./security-toolkit/) plugin, paired with the `/security-toolkit:hotpatch` slash command. Install via `/plugin install security-toolkit@claude-skills-journalism` to get all of them at once. | Skill | Description | |-------|-------------| | [api-hardening](./security-toolkit/skills/api-hardening/) | Rate limiting, input validation, CORS, security headers, API key management, defense-in-depth for Express, FastAPI, and serverless | | [secure-auth](./security-toolkit/skills/secure-auth/) | Production-ready authentication patterns: password hashing, session management, JWT, OAuth, passkeys / WebAuthn, MFA | | [security-checklist](./security-toolkit/skills/security-checklist/) | Pre-deployment security audit covering OWASP Top 10 fundamentals: authentication, input validation, secrets, database security, compliance basics | | [supply-chain-hardening](./security-toolkit/skills/supply-chain-hardening/) | npm/bun install-time cooldown plus sandboxed pre-install scan (bwrap on Linux, sandbox-exec on macOS). Defends against Mini Shai-Hulud-class worms; paired with `/security-toolkit:hotpatch` for the cooldown-bypass case | ## Hooks Hooks are automated checks that run at specific points in your workflow. Most are **non-blocking warnings**, but two — `one-way-door-check` and `enforce-test-first` — block intentionally until you resolve them. ### Writing quality hooks | Hook | Event | Description | |------|-------|-------------| | [ap-style-check](./hooks/ap-style-check.md) | PostToolUse | Flag common AP Style violations | | [ai-slop-detector](./hooks/ai-slop-detector.md) | PostToolUse | Warn about AI-generated patterns | | [accessibility-check](./hooks/accessibility-check.md) | PostToolUse | Check alt text, heading structure, link text | ### Verification hooks | Hook | Event | Description | |------|-------|-------------| | [source-attribution-check](./hooks/source-attribution-check.md) | PostToolUse | Flag unattributed quotes and claims | | [verification-reminder](./hooks/verification-reminder.md) | PostToolUse | Prompt to verify facts before including | | [data-methodology-check](./hooks/data-methodology-check.md) | PostToolUse | Ensure data stories include methodology | ### Editorial workflow hooks | Hook | Event | Description | |------|-------|-------------| | [source-diversity-check](./hooks/source-diversity-check.md) | PostToolUse | Note when sources may lack diversity | | [legal-review-flag](./hooks/legal-review-flag.md) | PostToolUse | Flag potentially defamatory content | | [pre-publish-checklist](./hooks/pre-publish-checklist.md) | Stop | Reminder checklist before completing tasks | | [deadline-tracker](./hooks/deadline-tracker.md) | SessionStart | Surface upcoming deadlines | ### Preservation hooks | Hook | Event | Description | |------|-------|-------------| | [archive-reminder](./hooks/archive-reminder.md) | PostToolUse | Remind to archive URLs when citing sources | ### Development hooks | Hook | Event | Description | |------|-------|-------------| | [one-way-door-check](./hooks/one-way-door-check.md) | PreToolUse | Block creation of files representing irreversible architectural decisions | | [bug-report-detector](./hooks/bug-report-detector.md) | UserPromptSubmit | Detect bug reports and remind to follow test-first workflow | | [enforce-test-first](./hooks/enforce-test-first.md) | PreToolUse | Block source code edits until a test file has been written | ## Skill structure Each skill follows the Claude Agent Skills standard: ``` skill-name/ ├── SKILL.md # Main instructions (required) ├── examples/ # Example inputs/outputs (optional) ├── templates/ # Reusable templates (optional) └── scripts/ # Helper scripts (optional) ``` ### SKILL.md format ```yaml --- name: skill-name description: When to use this skill and what it does --- # Skill title Instructions and knowledge for Claude to use. ``` ## Usage examples ### Source verification When you ask Claude to verify a claim or check a source: ``` "Can you help me verify this viral tweet claiming [X]?" "What steps should I take to verify this document?" "Help me check if this image is authentic" ``` ### Interview preparation When preparing for interviews: ``` "Help me prepare questions for interviewing the mayor about the budget" "What background research should I do before this interview?" "Create a question framework for an investigative interview" ``` ### Story pitching When developing story ideas: ``` "Help me pitch this feature story idea" "Draft a query letter for this freelance investigation" "What's the angle for this daily news story?" ``` ### Fact-checking When verifying claims: ``` "Walk me through fact-checking this politician's statement" "Help me document the evidence for this claim" "What rating should this fact-check receive?" ``` ### Project documentation When setting up or closing projects: ``` "Generate a CLAUDE.md for this investigation project" "Write a retrospective for the conference website we just finished" "Which template should I use for this newsletter project?" ``` ### Social media intelligence When investigating online narratives: ``` "Help me analyze this account for authenticity" "Track how this claim is spreading across platforms" "Check for signs of coordinated behavior" ``` ### Web archiving and monitoring When preserving or tracking content: ``` "Archive this page to multiple services for redundancy" "Set up monitoring for changes to this government page" "Find academic papers related to this topic" ``` ## Contributing Contributions welcome! See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full guide — skill structure, testing, and style guidelines. Quick version: fork, create your skill with a `SKILL.md` frontmatter file, test with Claude Code, submit a PR. ## Target audiences - **Investigative journalists** - source verification, FOIA, data analysis - **Newsroom developers** - scraping, data pipelines, visualization tools - **Academic researchers** - writing, methodology, peer review - **Graduate students** - thesis writing, literature reviews, proposals - **Communications professionals** - content strategy, research methods - **Fact-checkers** - verification workflows, evidence documentation - **Digital archivists** - preservation, metadata, knowledge graphs - **Editors** - workflow management, style enforcement, quality control ## Related resources - [Anthropic official skills](https://github.com/anthropics/skills) - [Claude Code documentation](https://docs.anthropic.com/claude-code) - [Agent Skills Standard](http://agentskills.io) - [autopunk-media-skills](https://github.com/ur-grue/autopunk-media-skills) — broadcast, TV, podcast, and radio production skills; complements this repo's investigative focus. Free library, paired with a paid product ([autopunk.io](https://autopunk.io)) - [NICAR (Investigative Reporters & Editors)](https://www.ire.org/nicar/) - [First Draft News](https://firstdraftnews.org/) - [Verification Handbook](https://verificationhandbook.com/) - [AP Stylebook](https://www.apstylebook.com/) - [Bellingcat OSINT guides](https://www.bellingcat.com/resources/) ## License MIT License - See [LICENSE](./LICENSE) for details. ## Author Joe Amditis ([@jamditis](https://github.com/jamditis)) --- *Built with Claude Code*