| name | citation-extraction-en |
| description | Extracts the legal citations from an English-language text by pattern and rule, with no LLM in the extraction step, so the same text yields the same list every run - ECLI (CJEU and national), EU act identifiers (CELEX, Official Journal references, Regulation and Directive numbers), case names, and cited provisions (Article/section). It then normalises, deduplicates and resolves short references (ibid., id., supra, op. cit., the above-cited judgment) to their antecedent. The front end to verification: collect what is cited, then check it. Unusual or malformed citation formats can still be missed, so treat the output as a working list rather than a guarantee. Jurisdiction-neutral, EU-aware. Use when: "list every citation in this text", "what authorities are cited", "extract the provisions", "pull the case references", "what is cited here" - before verification or before sending.
|
| license | Apache-2.0 |
| allowed-tools | ["Read","Grep"] |
| data-residency | local |
| requires-human-approval | false |
| pii-egress | none |
| attribution | {"source":"freelawproject/eyecite (Free Law Project)","url":"https://github.com/freelawproject/eyecite","license":"BSD-2-Clause","relationship":"clean-room","note":"The extraction -> aggregation -> annotation architecture follows eyecite. US reporter regexes dropped; ECLI, CELEX/OJ and EU-citation patterns and antecedent rules written from scratch. English counterpart of ekstraktor-cytatow-pl.\n"} |
| metadata | {"canonical_source":"https://github.com/matematicsolutions/awesome-matematic-skills-en/blob/main/verification-foundation/skills/citation-extraction-en/SKILL.md - the maintained version. Catalogue copies are snapshots and may be out of date; check the canonical file before relying on any legal reference in this skill.\n","author":"Wiesław Mazur / MateMatic","version":"1.1.0","companion_skills":"output-scoring-en, eu-sparql-search, legal-syllogism-en"} |
Citation extraction - find every citation before you check it
Philosophy
You can only verify what you first find. Grounding a citation checks whether it exists in the
source - but it runs on a list that someone has to assemble first. This skill is that front-end: it
walks the text and lists every authority, so none slips past verification. A missed citation is an
unverified one.
Extraction is mechanical (patterns + rules, not an LLM) on purpose - a model asked to find
citations might miss one or invent one. Local, jurisdiction-neutral, EU-aware.
Three steps (after eyecite)
- Extraction - recognise and capture every reference by the patterns below.
- Aggregation - resolve short references (ibid. / id. / supra / op. cit. / "the above-cited
judgment") to their antecedents by the pointer-aware rules below, so they count as one citation,
not several.
- Hand-off - pass the structured list to verification (grounding) and, for EU sources, to
eu-sparql-search for retrieval.
Citation patterns
Case law
- ECLI (EU):
ECLI:EU:C:2020:559 (Court of Justice), ECLI:EU:T:2019:... (General Court).
- ECLI (national):
ECLI:NL:HR:2021:..., ECLI:DE:BGH:..., ECLI:PL:SN:....
- Case names / numbers:
Party v Party; CJEU case numbers C-123/20, C-123/20 P (appeal),
joined cases C-123/20 and C-124/20; General Court T-456/19.
EU legislation
- CELEX:
32016R0679, 32019L0790 (sector + year + type + number).
- Named acts:
Regulation (EU) 2016/679, Directive 2019/790, Regulation (EC) No 1/2003.
- Official Journal:
OJ L 119, OJ C 326.
Provisions
Article 5(1)(a) GDPR, Art. 263 TFEU, section 12, § 3(2).
Aggregation - short references (antecedents)
Short reference forms carry different resolution rules - they cannot all be sent to the nearest
antecedent: