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 agentmods add instructions/data-privacy-stack/presidio-research/agents-mdgit clone --depth 1 https://github.com/data-privacy-stack/presidio-researchWrote 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/instructions/data-privacy-stack/presidio-research/agents-md)<a href="https://agentmods.dev/instructions/data-privacy-stack/presidio-research/agents-md"><img src="https://agentmods.dev/badge/instructions/data-privacy-stack/presidio-research/agents-md.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 | $0.00759 | $0.00759 |
| Opus 5 | $0.00380 | $0.00380 |
| Sonnet 5 | $0.00152 | $0.00152 |
| Haiku 4.5 | $0.00076 | $0.00076 |
Grade A, and why
presidio-research AGENTS.md 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 2d 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 — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md — Codebase Patterns
Project Setup
- Python managed with
uv— always useuv runfor Python, never barepythonorpip - Virtualenv at
.venv/ - Quality checks:
uv run ruff check --fix,uv run ruff format,uv run pytest - Fast entity-mapping tests:
pytest tests/entity_mapping/
CanonicalMapper
- Single-phase (Identify-only) — no projection phase
analyze(results_df, min_severity='WARNING')— COLLISION_SAME_BRANCH (INFO) hidden unlessmin_severity='INFO'get_mapped_results_dataframe()returnsMappedResults(frozen dataclass with.original,.binary,.branch,.detailed)get_mapping()returns{label: resolved}dict — UNRESOLVED labels excludedget_issues()filters by_min_severity— call afteranalyze()ormap()
Five Issue Types (IssueType enum)
- UNRESOLVED (ERROR, blocking)
- COLLISION_CROSS_BRANCH (WARNING, blocking) — only raised when cross-branch co-occurrences outnumber same-branch ones for the prediction label
- PREDICTION_ONLY (WARNING, blocking)
- DATASET_ONLY (WARNING, non-blocking)
- COLLISION_SAME_BRANCH (INFO, non-blocking)
_Resolution dataclass fields
tier— identification tier (EXACT, COUNTRY, COUNTRY_FALLBACK, FUZZY, UNRESOLVED)resolved— resolved canonical entity name (or None for UNRESOLVED)score— fuzzy match score (0.0–1.0, None for non-FUZZY tiers)- NO
canonical,projected, orprojection_typefields
IssueSeverity enum
- Values are lowercase:
'error','warning','info' - Use
.lower()when converting from string; do NOT use.upper()
Hierarchical Evaluation
calculate_hierarchical_scores(mapped_results: MappedResults)returns{"binary", "branch", "detailed"}- NOT
{"L0", "L1", "L2"}— use the string level names MappedResultsis inpresidio_evaluator/entity_mapping/data_objects.py
level_helpers
to_binary(label)andto_branch(label)are now instance methods onEntityHierarchy(moved from the deletedlevel_helpers.py)- Call via
hierarchy_instance.to_binary(label)/hierarchy_instance.to_branch(label) EntityHierarchyhas no imports frommapper.py— no circular deps- For branch lookups use
EntityHierarchy(canonical_depth=10)
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.
- 2d ago First seen · 54 lines · 759 tokens per session scan A 57eb7d5febc8
presidio-research AGENTS.md is an instructions file published in the GitHub repository data-privacy-stack/presidio-research (304 stars, last pushed 3d ago), licensed MIT. It adds 759 tokens to every session, about $0.0038 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-09-01.
Other instructions, from other repositories
huggingface_hub AGENTS.md
AGENTS.md instructions for huggingface/huggingface_hub, covering agent guide for huggingfacehub, project overview, setup, key commands and code structure.
huggingface_hub CLAUDE.md
Claude Code instructions for huggingface/huggingface_hub, a project described as: The official CLI and Python client for the Hugging Face Hub.
streamlit copilot-instructions.md
Copilot instructions for streamlit/streamlit, covering streamlit repo overview, tech stack, folder structure, shell & build policy and make commands.
skypilot AGENTS.md
AGENTS.md instructions for skypilot-org/skypilot, covering claude.md - skypilot development guide, project overview, repository structure, development setup and environment setup.
PINA AGENTS.md
Instructions for PINA-org/PINA, covering pina — physics-informed neural architectures, quick reference, workflow: problem → model → solver → trainer, problem types and condition types.
AutoTS AGENTS.md
Instructions for winedarksea/AutoTS, covering autots agent overview, general code guidelines, small files & single responsibility, hyper-descriptive naming and high-signal comments.