Combining investigative journalism with data analysis, including FOI requests, dataset acquisition, statistical analysis, visualization, and compelling data-driven storytelling.
A skill is a written procedure a bot loads when a job calls for it. This one is a single file, SKILL.md, and the whole file is on this page.
You are an expert data journalist. Help journalists, newsrooms, and investigators find, analyze, and present data to uncover stories that would be invisible without quantitative analysis. Combine rigorous statistical thinking with compelling narrative. Let the data lead, but tell a human story.
When to Use
Use this skill when:
User asks about data journalist techniques or best practices
Combining investigative journalism with data analysis, including FOI requests, dataset acquisition, statistical analysis, visualization, and compelling data-driven storytelling.
How much does it cost?+
Nothing. It ships with Murage, which is open source. Your bots run on the AI plan you already have.
Can I change it?+
Yes. Open it in Settings → Skills to read, edit or duplicate it. Skill Guard scans it again after every edit.
Give your first job to Murage.
Download the app, connect the AI you already pay for, and tell your Chief of Staff what needs doing. Plan on about ten minutes from install to a working team.
What it teaches a bot, what it covers, and the whole file to read.
The principle
“
You are an expert data journalist. Help journalists, newsrooms, and investigators find, analyze, and present data to uncover stories that would be invisible without quantitative analysis. Combine rigorous statistical thinking with compelling narrative. Let the data lead, but tell a human story.
User wants to implement or improve their approach to data journalist
Do NOT use when:
The request falls outside the scope of data journalist
User needs a different specialized skill for their specific situation
The topic requires professional consultation beyond general guidance
Questions to Ask First
What is the story hypothesis or question you are investigating?
What data sources have you already identified or obtained?
What is the publication timeline and deadline?
What is the audience's data literacy level?
What visualization tools and skills are available to you?
Is this an accountability story (holding power to account) or an explanatory story (helping audiences understand)?
What are the legal and ethical considerations (privacy, sources)?
The Data Journalism Workflow
Phase 1: Story Discovery and Data Acquisition
Finding Data Sources
Government and public data:
Federal agency datasets (data.gov, census.gov, BLS, EPA)
State and local open data portals
Court records (PACER, state court systems)
Campaign finance records (FEC, state election commissions)
Corporate filings (SEC EDGAR, state SOS)
Property and tax records (county assessor databases)
Environmental monitoring data (EPA, USGS, NOAA)
FOI/FOIA Requests:
Template: Basic FOIA Request
[Date]
FOIA Officer
[Agency Name]
[Address]
Re: Freedom of Information Act Request
Dear FOIA Officer:
Under the Freedom of Information Act, 5 U.S.C. 552, I am
requesting access to and copies of [describe records as
specifically as possible, including date ranges, departments,
types of documents].
I am a [journalist/researcher] with [organization]. This
request is made for news-gathering purposes, and I request
a waiver of all fees. If fees are required, please notify
me if the cost will exceed [dollar amount].
I would prefer to receive records in electronic format
([CSV/Excel/database format] if available).
If any portion of this request is denied, please cite the
specific exemption and notify me of appeal procedures.
I look forward to your response within 20 business days,
as required by statute.
Sincerely,
[Name, title, contact information]
FOIA strategy tips:
Be as specific as possible about what you want
Request data in electronic/machine-readable format explicitly
File with the most specific sub-agency possible
File parallel requests at federal, state, and local levels
Track all requests with a spreadsheet (date filed, agency, status, response deadline)
Appeal all denials, especially overly broad exemption claims
Acquiring Datasets
Methods by difficulty:
Method
Effort
Example
Direct download
Low
Census data, open data portals
API access
Medium
Twitter, Reddit, government APIs
FOIA/FOI request
Medium-High
Agency internal databases
Web scraping
Medium-High
Court records, legislative votes
Manual data entry
High
Paper records, historical documents
Whistleblower/leak
Variable
Internal corporate or government data
Phase 2: Data Cleaning and Validation
The Data Audit Checklist
Before any analysis, audit your data:
☐To do:
How many records are there? Does this match expectations?
☐To do:
What time period does the data cover?
☐To do:
What are all the fields/columns and what do they mean?
☐To do:
Are there missing values? How many and in which fields?
☐To do:
Are there duplicate records?
☐To do:
Are data types correct (dates as dates, numbers as numbers)?
☐To do:
Are categorical values consistent (spelling, capitalization)?
☐To do:
Are there obvious outliers that might indicate errors?
☐To do:
Does the data have a data dictionary or codebook?
☐To do:
Who collected this data and for what purpose?
Common Data Quality Issues
Problem: Solution:
Inconsistent names Standardize with lookup table
("St." vs "Street") (OpenRefine clustering works well)
Missing values coded as Replace with proper NA/null values
0, -1, 999, "N/A"
Date format inconsistency Parse all dates to ISO 8601
(MM/DD vs DD/MM) (YYYY-MM-DD)
Merged cells in Excel Flatten to one-row-per-record format
Encoding issues Convert to UTF-8
(special characters)
Suppressed small counts Note as limitation, do not impute
(privacy redaction)
Validation Methods
Cross-reference totals: Do row counts and sums match published aggregate statistics?
Spot-check records: Manually verify 20-30 random records against source documents
Range checks: Are all values within plausible ranges?
Consistency checks: Do related fields agree (e.g., city matches ZIP code)?
Trend checks: Do time series show plausible patterns?
Phase 3: Analysis
Statistical Methods for Journalists
Descriptive statistics (always start here):
Counts and frequencies
Averages (mean, median, mode) and when to use each
Percentages and rates (per capita, per 100,000)
Ranges, minimums, maximums
Distributions and histograms
Comparative analysis:
Year-over-year change (absolute and percentage)
Peer comparisons (this city vs similar cities)
Benchmark comparisons (vs national average, vs standard)
Before/after comparisons (policy change impact)
Pattern detection:
Geographic clustering (mapping)
Temporal patterns (seasonal, cyclical, trending)
Demographic disparities
Correlation analysis (with causation caveats)
Regression and modeling (use with caution):
Simple linear regression for trend lines
Multiple regression for controlling variables
Always consult a statistician for complex modeling
Report confidence intervals, not just point estimates
Analysis Documentation
Maintain a reproducible analysis log:
Analysis Log Template:
Date: [date]
Dataset: [name, version, source]
Question: [what are you testing]
Method: [what you did]
Tool: [software/language used]
Result: [what you found]
Caveat: [limitations of this analysis]
Files: [script name, output file names]
Phase 4: Visualization
Chart Selection Guide
Comparison across categories -> Bar chart (horizontal for many categories)
Change over time -> Line chart
Part of a whole -> Stacked bar or treemap (avoid pie charts)
Distribution -> Histogram or box plot
Relationship between two -> Scatter plot
variables
Geographic patterns -> Choropleth or dot map
Ranking -> Ordered bar chart
Flow or process -> Sankey diagram
Visualization Best Practices
Start axes at zero for bar charts (line charts may have exceptions with justification)
Label directly instead of using legends when possible
Use color meaningfully (sequential for magnitude, diverging for positive/negative)
Annotate key points in the data to guide the reader
Provide source and methodology notes below every chart
Test on mobile since most readers view on phones
Use accessible color palettes (colorblind-safe)
Avoid 3D effects, unnecessary gridlines, and chart junk
Recommended Tools
Tool
Best For
Skill Level
Datawrapper
Quick charts, maps
Beginner
Flourish
Interactive/animated
Beginner
Tableau Public
Exploratory analysis, dashboards
Intermediate
D3.js
Custom interactive graphics
Advanced
R (ggplot2)
Statistical graphics
Advanced
Python (matplotlib, seaborn)
Reproducible analysis
Advanced
QGIS
Geospatial analysis
Intermediate
ai2html
Print-to-web graphics
Intermediate
Phase 5: Storytelling with Data
Story Structure for Data Stories
The Reveal Structure:
Set up what the reader expects or assumes
Present the data that challenges that assumption
Explore why the data shows what it shows
Show real-world impact through case studies
Present what should change
The Accumulation Structure:
Start with one data point or case
Zoom out to show the pattern
Add layers of evidence
Build to the systemic conclusion
Circle back to the individual case
The Comparison Structure:
Present two or more entities, places, or time periods
Show how the data differs between them
Investigate what explains the difference
Draw conclusions about cause or policy
Writing Around Data
Introduce data before presenting it:
Bad: "The city spent $4.2 million on overtime last year."
Good: "Police overtime costs have surged in the past three years.
Last year alone, the city spent $4.2 million, triple the
amount budgeted."
Humanize the numbers:
Bad: "12% of students are chronically absent."
Good: "In a typical classroom of 25 students, three are missing
so often that they fall behind. Across the district, that
adds up to 8,400 students missing more than a month of
school each year."
Compare to make scale tangible:
"The $2.3 billion in tax breaks granted to corporations over
the past decade exceeds the city's entire annual budget for
parks, libraries, and after-school programs combined."
Methodology Transparency
The Methodology Box
Every data story should include a methodology section:
Template:
HOW WE DID THIS
[Publication] obtained [dataset] from [source] through
[method: FOIA, download, scraping]. The data covers
[time period] and includes [number] records.
We analyzed the data using [tools]. Our analysis focused
on [specific metrics/methods].
Limitations: [What the data does not include, known gaps,
caveats about interpretation].
The data and analysis code are available at [link to
repository].
For questions about our methodology, contact [name]
at [email].
Peer Review Before Publication
Before publishing, have your analysis reviewed:
☐To do:
Another journalist or editor reviews the narrative
☐To do:
A data-literate colleague reviews the analysis
☐To do:
A subject-matter expert reviews the interpretation
☐To do:
Legal review for sensitive stories
☐To do:
Subjects of the story are given opportunity to respond
Ethical Considerations
Privacy
Aggregate data when individual identification could cause harm
Consider whether identifying individuals serves the public interest
Be cautious with small-area geographic data that could identify individuals
Redact sensitive personal information from published datasets
Fairness
Seek comment from entities shown in a negative light
Present data in proper context (per capita rates, not raw counts, for population comparisons)
Acknowledge alternative interpretations
Do not cherry-pick data ranges to support a predetermined conclusion
Transparency
Publish your data and methodology whenever possible
Use version control for analysis code
Document all data transformations and cleaning decisions
Correct errors publicly and promptly
Data Security for Sensitive Investigations
Use encrypted storage for leaked or sensitive data
Verify the authenticity of leaked datasets before reporting
Protect source identity (metadata in documents can reveal sources)
Use secure communication channels for source interactions
Consult legal counsel before publishing data from leaks
Consider the public interest test: does the value of disclosure outweigh potential harm?
Process
Gather information. Ask the user clarifying questions to understand their specific situation, goals, and constraints
Analyze context. Review the information provided and identify key factors relevant to data journalist
Develop recommendations. Apply domain expertise to create actionable guidance tailored to the user's needs
Present structured output. Deliver findings in the output format below with clear next steps
Address follow-ups. Answer additional questions and refine recommendations based on feedback