Access EU law. Search and retrieve Directives, Regulations, Treaties and CJEU case law from EUR-Lex.
npx skills add https://github.com/lawve-ai/awesome-legal-skills --skill EU-Legislation
Access EU law directly. Search and retrieve Directives, Regulations, Decisions, Treaties and CJEU case law from EUR-Lex.
| Action | Method |
|-------------------------------------------|-----------------|
| Search legislation/case law | EUR-Lex Search |
| Document info, status, modifications | EUR-Lex /ALL/ |
| Procedure history | EUR-Lex /HIS/ |
| National transposition status | EUR-Lex /NIM/ |
| National transposition full text | Official National Databases (27 MS) |
Best for: Finding documents by concept, topic, or keyword.
https://eur-lex.europa.eu/search.html?scope=EURLEX&text=QUERY&lang=LANG&type=quick&locale=LOCALE
| Language | Code | Native Name |
|-------------|------|--------------------|
| Bulgarian | bg | Български |
| Czech | cs | Čeština |
| Danish | da | Dansk |
| Dutch | nl | Nederlands |
| English | en | English |
| Estonian | et | Eesti keel |
| Finnish | fi | Suomi |
| French | fr | Français |
| German | de | Deutsch |
| Greek | el | Ελληνικά |
| Croatian | hr | Hrvatski |
| Hungarian | hu | Magyar |
| Irish | ga | Gaeilge |
| Italian | it | Italiano |
| Latvian | lv | Latviešu valoda |
| Lithuanian | lt | Lietuvių kalba |
| Maltese | mt | Malti |
| Polish | pl | Polski |
| Portuguese | pt | Português |
| Romanian | ro | Română |
| Slovak | sk | Slovenčina |
| Slovenian | sl | Slovenščina |
| Spanish | es | Español |
| Swedish | sv | Svenska |
Use code for both lang= and locale= parameters.
When reading search results, identify the document type from the "Form" field:
| Form | Type | Description |
|-----------------------------------|----------|--------------------------------|
| Judgment | JUDG | CJEU/General Court judgment |
| Opinion of the Advocate General | OPIN_AG | AG conclusions |
| Directive | DIR | EU Directive |
| Regulation | REG | EU Regulation |
| Decision | DEC | EU Decision |
| Treaty | TREATY | EU Treaty |
| Proposal | PROP | Commission proposal |
Note: Prefer broad searches WITHOUT FM_CODED filter to catch more results. Filter by reading the Form field in results instead.
# Broad search (recommended - catches all document types)
https://eur-lex.europa.eu/search.html?scope=EURLEX&text=cookies+consent&lang=en&type=quick&locale=en
# Search in French
https://eur-lex.europa.eu/search.html?scope=EURLEX&text=protection+donnees&lang=fr&type=quick&locale=fr
# Search CSRD
https://eur-lex.europa.eu/search.html?scope=EURLEX&text=CSRD&lang=en&type=quick&locale=en
&page parameter&page=2, &page=3, etc.Replace {CELEX} with the CELEX ID (e.g., 32016R0679).
| Page | URL Pattern | Content |
|-----------------|--------------------------------|--------------------------------------------|
| Full text | /TXT/?uri=CELEX:{CELEX} | Document text |
| All info | /ALL/?uri=CELEX:{CELEX} | Related docs, modifications, annexes |
| Procedure | /HIS/?uri=CELEX:{CELEX} | Legislative procedure history |
| Transposition | /NIM/?uri=CELEX:{CELEX} | National implementation (directives) |
https://eur-lex.europa.eu/legal-content/{LANG}/{PAGE}/?uri=CELEX:{CELEX}
GDPR - All information:
https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX:32016R0679
Whistleblower Directive - National transposition:
https://eur-lex.europa.eu/legal-content/EN/NIM/?uri=CELEX:32019L1937
CSRD - Procedure history:
https://eur-lex.europa.eu/legal-content/EN/HIS/?uri=CELEX:32022L2464
> IMPORTANT: EUR-Lex /NIM/ links to national texts often show "Texte non disponible". When this happens, use the Official National Legal Databases (see below) to retrieve the actual text.
EU law contains extensive cross-references. Always verify referenced texts to provide accurate answers.
| Reference Type | Example | How to Verify |
|-------------------------------------|----------------------------------|------------------------------------------------------------------------------------|
| Internal article | "Article 21" | Re-read the full text |
| External act | "Regulation (EU) 2016/679" | GoodLegal API or EUR-Lex /TXT/ |
| Annex | "Annex I, Part B" | EUR-Lex /ALL/ page |
| Implementing act (Art. 291 TFEU) | "Commission Implementing Regulation" | EUR-Lex /ALL/ → "Internal procedures based on this legislative basic act" |
| Delegated act (Art. 290 TFEU) | "Commission Delegated Regulation" | EUR-Lex /ALL/ → "Internal procedures based on this legislative basic act" |
| CJEU case law | "Case C-xxx/xx" | EUR-Lex /ALL/ → "Affected by case" |
Reading EU text
│
├─► Found "Article X" reference?
│ └─► WebFetch same document, extract Article X
│
├─► Found "Directive/Regulation XXXX/XXX" reference?
│ └─► GoodLegal API with CELEX ID
│ OR WebFetch EUR-Lex /TXT/ page
│
├─► Found "Annex" reference?
│ └─► WebFetch EUR-Lex /ALL/ page
│ Look for "Annexes" section
│
└─► Need related/implementing acts?
└─► WebFetch EUR-Lex /ALL/ page
Look for:
- "Implemented by"
- "Delegated acts"
- "Related documents"
- "Based on"
The /ALL/ page shows the complete document ecosystem:
https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX:{CELEX}
What to look for:
| EUR-Lex Label | Contains |
|-----------------------------------------------------------|-------------------------------------------------------------------|
| Legal basis | Treaties (Art. 290, 291 TFEU), parent legislation |
| Internal procedures based on this legislative basic act | Implementing acts (Art. 291 TFEU) and Delegated acts (Art. 290 TFEU) |
| Modified by | Amending acts with dates and affected subdivisions |
| Modifies | Acts that this document amends |
| Corrected by | Corrigenda (language-specific corrections) |
| Subsequent related instruments | Follow-up legislation, related acts |
| Affected by case | CJEU judgments interpreting this act |
| Consolidated text | Link to consolidated version with all amendments |
Note: Implementing acts (uniform application conditions) and Delegated acts (supplement/amend non-essential elements) are often grouped together under "Internal procedures".
User asks: "What are the penalties under Directive 20XX/XXX?"
Step 1: Get full text
→ GoodLegal API: "320XXLXXXX"
Step 2: Find sanctions article (e.g., Article 30)
→ WebFetch EUR-Lex /TXT/ page, extract Article 30
→ Found: "Member States shall lay down penalties..."
→ References Article 5 (obligations) and Article 10 (reporting)
Step 3: Verify internal references
→ WebFetch same page, extract Articles 5 and 10
→ Article 5: Main compliance obligations
→ Article 10: Notification requirements
Step 4: Check for external references
→ Article 30 references Regulation (EU) 20YY/YYY
→ GoodLegal API: "320YYRYYYY"
→ Extract relevant provisions
Step 5: Check /ALL/ for implementing acts
→ WebFetch EUR-Lex /ALL/?uri=CELEX:320XXLXXXX
→ Found: Commission Implementing Regulation 20ZZ/ZZZ
→ Retrieve and review implementing details
When answering legal questions, document the reference chain:
**Question:** What are the reporting obligations under Directive 20XX/XXX?
**Answer:**
- Article 10: Notification within 72 hours
- Article 11: Content requirements (see Annex II)
**Internal references verified:**
- Article 5 → Scope of application
- Annex II → Notification template
**External references verified:**
- Regulation 20YY/YYY Article 15 → Definitions
- Commission Implementing Regulation 20ZZ/ZZZ → Technical standards
**Related acts from /ALL/ page:**
- 3 implementing regulations
- 1 delegated act
- 2 amending acts
User request
│
├─► Full text needed?
│ └─► GoodLegal API (CELEX ID or reference)
│
├─► Search by concept?
│ └─► EUR-Lex Search via WebFetch
│ Read Form field to identify document type
│
├─► Legal status / modifications?
│ └─► EUR-Lex /ALL/ page via WebFetch
│
├─► Transposition status?
│ └─► EUR-Lex /NIM/ page via WebFetch
│
└─► Legislative procedure?
└─► EUR-Lex /HIS/ page via WebFetch
For comprehensive research, launch multiple WebFetch calls in parallel:
# Search pages 1-5 simultaneously
Page 1: .../search.html?scope=EURLEX&text=QUERY&lang=en&type=quick&locale=en
Page 2: .../search.html?scope=EURLEX&text=QUERY&lang=en&type=quick&locale=en&page=2
Page 3: .../search.html?scope=EURLEX&text=QUERY&lang=en&type=quick&locale=en&page=3
Page 4: .../search.html?scope=EURLEX&text=QUERY&lang=en&type=quick&locale=en&page=4
Page 5: .../search.html?scope=EURLEX&text=QUERY&lang=en&type=quick&locale=en&page=5
Then filter results by Form field (Judgment, Directive, Regulation, etc.) based on user needs.
| Name | CELEX ID |
|---------------|-------------|
| GDPR | 32016R0679 |
| AI Act | 32024R1689 |
| DSA | 32022R2065 |
| DMA | 32022R1925 |
| NIS2 | 32022L2555 |
| Whistleblower | 32019L1937 |
| ePrivacy | 32002L0058 |
| CSRD | 32022L2464 |
| Name | Case Number | Topic |
|-------------------|-------------|--------------------------|
| Costa v ENEL | C-6/64 | Primacy |
| Google Spain | C-131/12 | Right to be forgotten |
| Schrems II | C-311/18 | Data transfers |
| Planet49 | C-673/17 | Cookie consent |
**Directive (EU) 2019/1937 — Whistleblower Protection**
Status: In force (consolidated: 25/07/2024)
https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32019L1937
Modifications: 6 amending acts
Transposition: 27/27 Member States
**Case C-311/18 — Schrems II**
Date: 16/07/2020
Topic: Data transfers, Privacy Shield invalidation
https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:62018CJ0311
When EUR-Lex /NIM/ links show "Texte non disponible" or "Text not available", follow the National Transposition Text Retrieval workflow below.
EUR-Lex /NIM/ pages list national transposition measures but the links to actual text often fail ("Texte non disponible" / "Text not available"). The /NIM/ page provides:
Step 1: EUR-Lex /NIM/ Page
│
└─► WebFetch https://eur-lex.europa.eu/legal-content/EN/NIM/?uri=CELEX:{CELEX}
Extract: measure name, Official Journal reference, date
│
▼
Step 2: Try EUR-Lex Link
│
└─► Click/fetch the link provided on the /NIM/ page
(e.g., https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=NIM:202302012)
│
├─► Text available? → USE IT ✓
│
└─► "Texte non disponible" / "Text not available"?
│
▼
Step 3: Official National Database (see table below)
│
└─► Use the measure reference from Step 1
Search in the official national legal database
(e.g., Normattiva for Italy, Légifrance for France)
│
├─► Text found? → USE IT ✓
│
└─► Not found?
│
▼
Step 4: Web Search (last resort)
│
└─► Search for official sources using:
- Measure name + number + year
- Official Journal reference
- Filter by official government domains (.gov, .gv, .gouv, etc.)
Sources verified via N-Lex, European e-Justice Portal, and European Forum of Official Gazettes.
| Country | Code | Official Database | URL |
|---------|------|-------------------|-----|
| Austria | AT | RIS (Rechtsinformationssystem) | https://www.ris.bka.gv.at |
| Belgium | BE | Belgisch Staatsblad / Moniteur Belge | https://www.ejustice.just.fgov.be |
| Bulgaria | BG | Държавен вестник (State Gazette) | https://dv.parliament.bg |
| Croatia | HR | Narodne Novine | https://narodne-novine.nn.hr |
| Cyprus | CY | CyLaw + Official Gazette | http://www.cylaw.org |
| Czechia | CZ | Sbírka zákonů / Zákony pro lidi | https://www.zakonyprolidi.cz |
| Denmark | DK | Retsinformation | https://www.retsinformation.dk |
| Estonia | EE | Riigi Teataja | https://www.riigiteataja.ee |
| Finland | FI | Finlex | https://www.finlex.fi |
| France | FR | Légifrance | https://www.legifrance.gouv.fr |
| Germany | DE | Gesetze im Internet | https://www.gesetze-im-internet.de |
| Greece | EL | Εφημερίδα της Κυβερνήσεως (ΦΕΚ) | https://www.et.gr |
| Hungary | HU | Nemzeti Jogszabálytár | https://njt.hu |
| Ireland | IE | Irish Statute Book | https://www.irishstatutebook.ie |
| Italy | IT | Normattiva / Gazzetta Ufficiale | https://www.normattiva.it |
| Latvia | LV | Likumi.lv | https://likumi.lv |
| Lithuania | LT | e-TAR (Teisės aktų registras) | https://www.e-tar.lt |
| Luxembourg | LU | Legilux | https://legilux.public.lu |
| Malta | MT | Laws of Malta | https://legislation.mt |
| Netherlands | NL | Wetten.overheid.nl | https://wetten.overheid.nl |
| Poland | PL | ISAP (Sejm) | https://isap.sejm.gov.pl |
| Portugal | PT | DRE (Diário da República) | https://dre.pt |
| Romania | RO | Legislatie.just.ro | https://legislatie.just.ro |
| Slovakia | SK | Slov-Lex | https://www.slov-lex.sk |
| Slovenia | SI | PISRS | http://www.pisrs.si |
| Spain | ES | BOE (Boletín Oficial del Estado) | https://www.boe.es |
| Sweden | SE | Lagrummet / Svensk författningssamling | https://lagrummet.se |
# By URN (preferred)
https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:YYYY-MM-DD;NUM
# Example: D.Lgs. 24/2023 (Whistleblower)
https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:2023-03-10;24
# By Gazzetta Ufficiale
https://www.gazzettaufficiale.it/eli/id/YYYY/MM/DD/XXXXXXXX/sg
# By JORF text number
https://www.legifrance.gouv.fr/jorf/id/JORFTEXT{NUMBER}
# By law number (search)
https://www.legifrance.gouv.fr/search/all?tab_selection=all&searchField=ALL&query=loi+{YEAR}-{NUMBER}
# Example: Loi Waserman 2022-401
https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045388745
# By law abbreviation
https://www.gesetze-im-internet.de/{abbrev}/
# Federal Law Gazette (BGBl)
https://www.bgbl.de/xaver/bgbl/start.xav
# By BOE reference
https://www.boe.es/buscar/doc.php?id=BOE-A-YYYY-NNNNN
# By law reference
https://www.boe.es/buscar/act.php?id=BOE-A-YYYY-NNNNN
# By BWBR number
https://wetten.overheid.nl/BWBR{NUMBER}
# By Staatsblad reference
https://zoek.officielebekendmakingen.nl/stb-{YEAR}-{NUMBER}
# By Dz.U. reference
https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU{YEAR}{NUMBER}
User asks: "Get the Italian transposition of the Whistleblower Directive"
Step 1: Check EUR-Lex /NIM/
→ WebFetch https://eur-lex.europa.eu/legal-content/EN/NIM/?uri=CELEX:32019L1937
→ Found: "Decreto Legislativo 10 marzo 2023, n. 24"
"Gazzetta Ufficiale n. 63 del 15 marzo 2023"
Step 2: Try EUR-Lex link
→ WebFetch the provided link
→ Result: "Texte non disponible"
Step 3: Go to Normattiva (official Italian database)
→ WebFetch https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:2023-03-10;24
→ SUCCESS: Full text of D.Lgs. 24/2023 retrieved ✓
If Step 3 fails:
Step 4: Web search (last resort)
→ WebSearch "D.Lgs. 24/2023 whistleblowing site:normattiva.it OR site:gazzettaufficiale.it"
For implementation guidelines, interpretive guidance, and FAQs, also check the national regulatory authority responsible for the directive:
| Directive | Topic | Key National Authorities |
|-----------|-------|--------------------------|
| 2019/1937 (Whistleblower) | Anti-corruption | IT: ANAC, FR: Défenseur des droits, DE: BfJ |
| 2016/679 (GDPR) | Data protection | IT: Garante Privacy, FR: CNIL, DE: BfDI |
| 2022/2555 (NIS2) | Cybersecurity | IT: ACN, FR: ANSSI, DE: BSI |
3{YEAR}{TYPE}{NUMBER}| Type | Code | Example |
|------------|------|-------------|
| Directive | L | 32019L1937 |
| Regulation | R | 32016R0679 |
| Decision | D | 32021D0914 |
6{YEAR}{COURT}{NUMBER}| Court | Code | Example |
|------------------|------|-------------|
| Court of Justice | CJ | 62018CJ0311 |
| General Court | TJ | 62022TJ0354 |
| AG Opinion | CC | 62017CC0673 |
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly works. Use for literature searches, research output analysis, citation analysis, and academic database queries.
Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.
Multiagent AI system for scientific research assistance that automates research workflows from data analysis to publication. This skill should be used when generating research ideas from datasets, developing research methodologies, executing computational experiments, performing literature searches, or generating publication-ready papers in LaTeX format. Supports end-to-end research pipelines with customizable agent orchestration.
Automated LLM-driven hypothesis generation and testing on tabular datasets. Use when you want to systematically explore hypotheses about patterns in empirical data (e.g., deception detection, content analysis). Combines literature insights with data-driven hypothesis testing. For manual hypothesis formulation use hypothesis-generation; for creative ideation use scientific-brainstorming.
Take lawve-ai/eu-legislation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.