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 cyanheads/eur-lex-mcp-server --skill eur-lex-guidegit clone --depth 1 https://github.com/cyanheads/eur-lex-mcp-serverWrote 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/cyanheads/eur-lex-mcp-server/eur-lex-guide)<a href="https://agentmods.dev/skills/cyanheads/eur-lex-mcp-server/eur-lex-guide"><img src="https://agentmods.dev/badge/skills/cyanheads/eur-lex-mcp-server/eur-lex-guide/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/cyanheads/eur-lex-mcp-server/eur-lex-guide"><img src="https://agentmods.dev/badge/skills/cyanheads/eur-lex-mcp-server/eur-lex-guide.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.00101 | $0.03262 |
| Opus 5.5 | $0.00040 | $0.01305 |
| Sonnet 5.5 | $0.00020 | $0.00652 |
| Haiku 4.5 | $0.00010 | $0.00326 |
Grade A, and why
eur-lex-guide 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 — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scope
EU law as the Publications Office's CELLAR repository holds it, keyless: treaties and Charter articles, regulations, directives, decisions, preparatory acts, Court of Justice, General Court, and Civil Service Tribunal records, consolidated texts, and member-state transposition notifications.
Not covered:
- Member-state law itself. A transposition row records a national measure a member state notified, with its national journal citation. Its
notification_datedoes not prove the directive was fully transposed. - Search inside act bodies. Keywords match English titles and CELEX strings only. To find acts about a concept, go through EuroVoc or title words, then read the bodies.
Identifiers
| Identifier | Shape | Comes from |
|---|---|---|
| CELEX, legislation | 3 + year + type + number: R regulation, L directive, D decision (32016R0679) |
eurlex_lookup_celex from a citation; every search and relation row |
| CELEX, treaty or Charter article | sector 1 (12012E016 TFEU Art. 16, 12007P008 Charter Art. 8) |
legal_basis and interprets rows |
| CELEX, case law | 6 + year + court letter (C Court of Justice, T General Court, F Civil Service Tribunal) + document letter (J judgment, O order, C AG opinion, P AG view) + number. C-131/12 is 62012CJ0131, its AG opinion 62012CC0131 |
eurlex_get_cases |
| CELEX, consolidated text | 0 + the base act's core + -YYYYMMDD (02016R0679-20160504). The base CELEX cannot always be derived from it: read base_act_celex |
consolidated_version rows; current_consolidated_celex |
| CELEX, corrigendum | base CELEX + R(nn) (32016R0679R(02)) |
eurlex_search_documents with include_corrigenda |
| CELEX, national measure | 7 + the directive's year, type, and number + member-state alpha-3 + _ + measure number (72016L0680DEU_261768) |
national_transposition rows |
| Case number | C-131/12, T-…, F-…. One case number covers several records (judgment, orders, AG opinion), so it is not one work |
the input of eurlex_get_cases |
| ECLI | ECLI:EU:C:2014:317, case law only |
eurlex_get_cases rows; eurlex_lookup_celex resolves it back |
| Commission document number | COM(2021) 206 final, also SEC, SWD, JOIN. It does not give the CELEX away (COM(2017) 10 is a proposal, 52017PC0010; COM(2020) 66 a communication, 52020DC0066), and up to 2009 one number can name several works |
eurlex_lookup_celex resolves it; several works return found: false naming each CELEX |
| Procedure reference | 2021/0106(COD): year, number, type. It names the dossier, not an act |
procedures of eurlex_get_document on a proposal or the act it produced. eurlex_lookup_celex resolves it to the act that initiated the procedure; the act it produced is that act's adopted_by on eurlex_get_relations and in procedures[].adopted_acts |
| ELI | http://data.europa.eu/eli/reg/2016/679 for the act; a consolidated text has a dated one (…/2016-05-04); case law has none |
eurlex_get_document eli |
| Work URI | http://publications.europa.eu/resource/cellar/{uuid} |
every tool. Several works can carry one CELEX (62012CJ0131 has two). The tools pick the canonical one; a SPARQL query must deduplicate on the CELEX |
| EuroVoc concept | http://eurovoc.europa.eu/{id} |
eurlex_browse_subjects; eurovoc_subjects of eurlex_get_document |
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.
- 2d ago Changed · +10 lines · +11 tokens per session a3d4912cadc2
- 10d ago First seen · 60 lines · 90 tokens per session scan A de92461e4b64
eur-lex-guide is a skill published in the GitHub repository cyanheads/eur-lex-mcp-server (12 stars, last pushed 3d ago), licensed Apache-2.0. It adds 101 tokens to every session and 3,262 once invoked, about $0.0004 per session on Opus 5.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-10-27.
eur-lex-guide compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| eur-lex-guidecyanheads/eur-lex-mcp-server | Skill | 12 | 3d ago | Apache-2.0 | A | 101 | Claude Code |
| omh-data-share-reviewrlaope/oh-my-hermes | Skill | 5.2k | yesterday | MIT | A | 106 | Claude Code, Codex |
| omh-legal-compliance-reviewrlaope/oh-my-hermes | Skill | 5.2k | yesterday | MIT | A | 73 | Claude Code, Codex |
| agreementAlpacaLabsLLC/skills-for-architects | Skill | 402 | 3d ago | MIT | A | 27 | Claude Code |
| levyseaworld008/Commonly-used-high-value-skills | Skill | 74 | 2d ago | MIT | A | 50 | Claude Code, Codex |
| disclosedgilford/ai-science-toolkit | Skill | 82 | 4d ago | MIT | A | 82 | Claude Code |
| open-meteo-guidecyanheads/open-meteo-mcp-server | Skill | 13 | 9d ago | Apache-2.0 | A | 103 | Claude Code |