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 investigategit 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/investigate)<a href="https://agentmods.dev/skills/timsimpsonjr/magpie/investigate"><img src="https://agentmods.dev/badge/skills/timsimpsonjr/magpie/investigate/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/investigate"><img src="https://agentmods.dev/badge/skills/timsimpsonjr/magpie/investigate.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.00099 | $0.02301 |
| Opus 5 | $0.00049 | $0.01151 |
| Sonnet 5 | $0.00020 | $0.00460 |
| Haiku 4.5 | $0.00010 | $0.00230 |
Grade A, and why
investigate 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 10d 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 — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
investigate
investigate is the verification gate that sits between a trustworthy ingested document and a published finding. It turns the document into human-gated, citation-anchored, redacted findings by treating every LLM extraction as unverified source material -- the ProPublica posture. The skill does not trust its own extractor: it stamps each claim with an exact citation anchor (the engine scripts/citation.py build_anchor), re-checks each claim two independent ways, and then routes every claim through a mandatory solo human gate before anything is published. The semantic re-check is advisory only; in Layer 0-1 the human gate is the only real verifier.
Call one engine: scripts/citation.py is the pure citation-anchor record + resolver. The skill orchestrates extract -> verify -> human gate -> redacted Librarian output around it. The skill is the only place that touches the publish edge (redact_note) and the keyword guard (derive.keyword_mask); citation.py stays free of both. No .mcp.json ships with this skill.
0. Refuse a non-trustworthy document (safety-critical, checked first)
The only upstream input is one ingest IngestResult plus its DoclingDocument JSON. Before doing anything else, check the boolean trustworthy_for_extraction on that result.
- ingest sets trustworthy_for_extraction as not (review or partial) (scripts/ingest.py). It is false for BOTH a review decision (handwriting, garbled, or weak-signal pages dominate) AND a PARTIAL_SUCCESS conversion.
- If trustworthy_for_extraction is false, STOP. A non-trustworthy document is evidence for human inspection, never an automated-extraction source. There is no override flag in v1.
Key on the boolean, never on the decision string. Do NOT key on doc_decision == review: that would let a flagged partial-success document leak through. The boolean is the one correct seam.
1. Extract (LLM, schema-constrained -- not a script, not an ML model)
The extractor reads the DoclingDocument .text and emits a schema-constrained list of {claim_text, verbatim_quote, block_self_ref}. The contract on each quote:
What ships with it
1 file 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.
- 10d ago First seen · 178 lines · 99 tokens per session scan A 3fc1a9868ab8
investigate is a skill published in the GitHub repository TimSimpsonJr/magpie (2 stars, last pushed 3mo ago), licensed MIT. It adds 99 tokens to every session and 2,301 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.
pdf-design
Designs PDF reports and proposals from HTML with previews and branding. Use to create, export, or securely upload a PDF.
document-design
Creates print-ready HTML that exports to PDF. Use to make a proposal, report, one-pager, newsletter, slides, or flyer.
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.