agentsclimarketplace

Bailii case download

Skill ciaransaunders/Skills-Public/bailii-case-download

Search BAILII (www.bailii.org) for a UK or Irish case and download the full judgment as a clean PDF. Use whenever the user wants a case from BAILII, gives a neutral citation (e.g. "[2024] EAT 114", "[2021] UKSC 5") or a BAILII URL and asks to fetch/download/save it, asks for "the full case as a PDF", wants to verify a case PDF against the authoritative source, or asks to find a case on BAILII by name. Also trigger when the user mentions BAILII, case law downloads, or building a bundle of authorities and needs the underlying judgments.From its SKILL.md

Install
npx -y skills add ciaransaunders/Skills-Public --skill bailii-case-download

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 3 commands, including `python3 scripts/bailii_fetch.py cite "[2024] EAT 114" --out DIR` and 2 more.

SKILL.md

3.9 KB, 875 tokens by cl100k_base, as published. Nobody here has run it

BAILII case downloader

Fetches UK/Irish judgments from BAILII and saves them as clean, readable PDFs (BAILII chrome, nav, search forms, donation banners and footers removed).

BAILII now sits behind Anubis — a JavaScript proof-of-work bot wall, on top of its long-standing cloud-IP block. The bundled script solves the proof-of-work in pure Python (no browser needed) and handles BAILII's CGI quirks, so prefer it over web_fetch/curl, which will just hit the "Making sure you're not a bot!" page.

The script

scripts/bailii_fetch.py — self-contained, Python 3 stdlib only for fetching. PDF rendering uses the first available of: wkhtmltopdf → headless Chrome/Chromium → weasyprint. If none is present it saves the cleaned HTML and says so in the output (you can then convert it yourself).

Run it with python3 scripts/bailii_fetch.py <command> .... All commands print JSON to stdout.

Choosing a command (in order of preference)

1. cite — when you have a neutral citation. Most reliable; use this first.

python3 scripts/bailii_fetch.py cite "[2024] EAT 114" --out DIR

Resolves the citation via BAILII's citation finder and downloads the case. Works for the usual courts: UKSC, UKHL, UKPC, EWCA, EWHC, EAT/UKEAT, UKUT, etc. Exits with code 2 and a helpful message if the citation doesn't resolve.

2. url — when you already have the BAILII case URL.

python3 scripts/bailii_fetch.py url "https://www.bailii.org/uk/cases/UKSC/2021/5.html" --out DIR

3. search — when you only have the case name. Returns candidates; does NOT auto-download.

python3 scripts/bailii_fetch.py search "Uber Aslam" --limit 6

Prints a JSON list of {url, title} candidates (title-scoped search — fuzzy by design). Pick the right one yourself, confirm with the user if ambiguous, then download it with url. Don't assume the first result is correct; BAILII often returns the whole litigation chain (ET → EAT → CA → SC) and you want the specific instance the user means.

Options

  • --out DIR where to save (default: current dir). Create/choose a sensible folder, e.g. an authorities bundle directory.
  • --keep-html also keep the cleaned standalone HTML next to the PDF.
  • --no-pdf save cleaned HTML only, skip PDF rendering.
  • --limit N (search only) max candidates to return.

Output

cite and url print JSON with title, source_url, pdf (path), optionally html, and pdf_engine. The PDF carries a small "Retrieved from BAILII · <url>" provenance banner at the top so the source is always traceable — useful for an authorities bundle.

Notes / caveats

  • Anubis is occasionally flaky. The script already solves-and-retries and validates the final page (rejects bot-wall pages, checks it's a real /cases/...html judgment). If a fetch still fails, just run it again.
  • Always sanity-check the result. Confirm the returned title matches the case the user asked for before relying on it — especially after search.
  • This pulls public judgments from a free public legal database. It is not a substitute for a citator: BAILII does not show subsequent treatment / whether a case is still good law.
  • Filenames are derived from the case title and capped in length; the script handles the awkward characters.

What ships with it: 1 file

15.7 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.