Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add TimSimpsonJr/magpie --skill dataset-analyzegit clone --depth 1 https://github.com/TimSimpsonJr/magpieWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/timsimpsonjr/magpie/dataset-analyze)<a href="https://agentmods.dev/skills/timsimpsonjr/magpie/dataset-analyze"><img src="https://agentmods.dev/badge/skills/timsimpsonjr/magpie/dataset-analyze/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/timsimpsonjr/magpie/dataset-analyze"><img src="https://agentmods.dev/badge/skills/timsimpsonjr/magpie/dataset-analyze.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00109 | $0.01890 |
| Opus 5 | $0.00055 | $0.00945 |
| Sonnet 5 | $0.00022 | $0.00378 |
| Haiku 4.5 | $0.00011 | $0.00189 |
Grade A, and why
dataset-analyze scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dataset-analyze
Turn a dirty FOIA / audit-log export (CSV or XLSX) into clean, derived data that
is both summarized with the deterministic stats module and exposed for
read-only SQL querying through an mcp-sqlite server. This is Magpie's
structured-data flagship (Track A). It is deterministic and rigor-gated: the
pipeline is built to refuse to silently publish on incomplete or misread data.
The pipeline
Run the steps in order. Each is a script under scripts/ (invoke with the
project's Python; none import each other). The verified-API contract for every
step lives in references/prior-art.md (the Phase 3 research gate) — consult it
before changing a library call.
-
Load —
scripts/load_table.py::load_table(path, ...). Read a dirty CSV/XLSX into a clean DataFrame plus a load report. Pinencoding=when the report flagsencoding_low_confidence(a single-byte codepage sniff is not trustworthy). The token-boundary TEXT-whitelist preserves leading-zero IDs; the NARROWempty_nullturns only whitespace-only cells into NA, so a literalN/A/NULLsurvives as a string. -
Gate on data quality FIRST —
scripts/data_quality.py::data_quality_report(df, date_col=..., requested_start=..., requested_end=...). Check truncation BEFORE analyzing: a row count of exactly2**20 - 1(1,048,575) means the export was silently truncated upstream — stop and request the gap rather than publishing on a partial slice. The report also surfaces date-window head/tail gaps and per-column anomaly leads. -
Derive —
scripts/derive.py::derive_columns(df, config). Add the conventional derived columns the analysis needs, driven entirely byconfig(home state, keyword vocab, type map, timezone — no jurisdiction is hardcoded):geo,reason_cat,is_immigration,nets,has_case,base_type,date_et/hour_et/dow_et. Keyword matching is word-boundary (sopolice/service/justicenever trip theiceimmigration keyword) and a***redaction counts as PRESENT.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 127 lines · 109 tokens per session scan A 26861f308a87
dataset-analyze is a skill published in the GitHub repository TimSimpsonJr/magpie (2 stars, last pushed 2mo ago), licensed MIT. It adds 109 tokens to every session and 1,890 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
pdf-table-extractor-brief
Produces a structured extraction plan and clean spreadsheet template for pulling tabular data out of a PDF document — identifying the table structure, defining column headers, flagging extraction pitfalls, and providing a ready-to-use template that ensures the data lands in a consistent, analysable format.
data-table-formatter
Formats raw or messy data into a clean, publication-ready table with appropriate headers, sorted rows, consistent number formatting, and a source note — ready to drop into an article, report, or web page.
foia-request-writer
Drafts legally complete public records requests (federal FOIA and all 50 state laws), administrative appeals, and redaction challenge strategies for U.S. government records.
osint-tool-catalog
Produces a categorised catalog of open-source intelligence tools relevant to a journalist's investigation, with practical guidance on what each tool does, when to use it, and what its limitations are.
social-media-intelligence
Produces a structured open-source intelligence brief on a social media account or set of accounts, covering account authenticity analysis, narrative tracking, and coordination-detection patterns to support investigative reporting.
data-cleaning-brief
Writes clear, step-by-step instructions for cleaning a messy or inconsistent dataset — specifying exactly what needs to be standardised, corrected, or removed to make the data ready for analysis and publication.