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 entity-crossrefgit 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/entity-crossref)<a href="https://agentmods.dev/skills/timsimpsonjr/magpie/entity-crossref"><img src="https://agentmods.dev/badge/skills/timsimpsonjr/magpie/entity-crossref.svg" alt="Measured on agentmods" 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.00082 | $0.01636 |
| Opus 5 | $0.00041 | $0.00818 |
| Sonnet 5 | $0.00016 | $0.00327 |
| Haiku 4.5 | $0.00008 | $0.00164 |
Grade A, and why
entity-crossref 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 8d 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 — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
entity-crossref
Take the Phase-13a resolved snapshot for an investigation, index it as a private yente dataset, and cross-reference the resolved entities against (a) your own corpus -- the pure-FOSS default, with ZERO external data -- and (b) sanctions/PEP watchlists, which are OPT-IN, CC-BY-NC, and documented below. A thin read-only yente-mcp server exposes the same lookups to the model. This runs AFTER entity-graph (13a): it consumes the resolved snapshot UNCHANGED and never reaches back into the resolver DB.
This skill is Layer-2, OPERATOR-tier, and Docker-gated. The journalist onramp (the JOURNALIST_START path and the doctor Track-A capabilities) stays Docker-free and is NOT touched by anything here. Watchlist hits are LEADS for a human to chase, never verdicts.
What you need before you start
- A Phase-13a resolved snapshot (one JSON file) for the investigation -- the entity_resolved_snapshot output.
- Docker running. Confirm with the
doctorskill: it reports "cross-reference entities (Layer 2)" as READY or UNAVAILABLE off a read-only Docker probe. doctor never starts services; it only probes. - The crossref deps installed from requirements-crossref.txt (httpx + mcp). These are cross-platform.
The code surface (all under scripts/, plus infra/):
- scripts/entity_yente_dataset.py -- pure: turns a snapshot into a yente entities file (line-delimited FtM JSON) plus render_manifest.
- scripts/entity_crossref.py -- pure: /match request and response shaping, typed hits, and the cross-ref report.
- scripts/entity_yente_client.py -- the live yente HTTP edge (lazy httpx import) plus run_crossref.
- scripts/yente_mcp_server.py -- the thin read-only yente-mcp server (5 tools).
- infra/docker-compose.yml (the
crossrefprofile) plus infra/yente/*.yml (manifest TEMPLATES).
PRECONDITION -- emit the dataset, bring up the stack, build the index
-
Emit the own-corpus dataset and render the live manifest into the gitignored data dir. In Python:
from scripts.entity_yente_dataset import ( write_dataset, render_manifest, DatasetEntry, DATASET_NAME, ) res = write_dataset(snapshot, "data/magpie_corpus") render_manifest( [DatasetEntry( name=res["name"], title="Magpie corpus", path="/data/entities.ftm.json", version=res["version"], )], ) # write the rendered manifest to data/magpie_corpus/manifest.yml
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.
- 8d ago First seen · 107 lines · 82 tokens per session scan A d781239d93c1
entity-crossref is a skill published in the GitHub repository TimSimpsonJr/magpie (2 stars, last pushed 2mo ago), licensed MIT. It adds 82 tokens to every session and 1,636 once invoked, about $0.0004 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.
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.
data-outlier-finder
Identifies unusual values, unexpected patterns, and potential stories hidden in a dataset by systematically checking for statistical outliers and contextual anomalies.