legislation-nz · git:20260705.a4019d0 · 2026-07-05 · sha256 a518b004bc177183

legislation-nz git:20260705.a4019d0A

Immutable. This exact content never changes and is served at /api/v1/blob/a518b004bc177183.

---
name: legislation-nz
description: Resolves, searches, and checks New Zealand Acts, Bills, secondary legislation, sections, point-in-time versions, and update feeds from official legislation.govt.nz and PCO sources. Use when a task needs NZ legislation text, exact section citations, current in-force status, amendments since a date, current Bills, or source caveats.
---

# New Zealand Legislation

## Goal

Use official New Zealand Legislation sources to resolve legislation records, quote current or point-in-time sections, list versions, inspect current Bills, and check recent publication/update feeds.

## Quick triage

Use this when:
- A user cites an Act or regulation by year/number and needs exact text
- A finding needs a current "as at" section citation from legislation.govt.nz
- A workflow needs to check versions or amendments since a date
- A user asks for Bills currently before Parliament
- A task needs to distinguish keyless web/XML access from the keyed PCO API

Do not use this for:
- Legal advice or statutory interpretation beyond quoting/checking source text
- Non-NZ legislation
- Unofficial commentary, case law, or policy guidance

## CLI

```bash
python3 skills/legislation-nz/scripts/cli.py search "Grocery Industry" --type act --json
python3 skills/legislation-nz/scripts/cli.py get-act 2003/52 --json
python3 skills/legislation-nz/scripts/cli.py get-section 2003/52 9C --json
python3 skills/legislation-nz/scripts/cli.py versions 2003/52 --json
python3 skills/legislation-nz/scripts/cli.py updates --since 2026-07-01 --json
python3 skills/legislation-nz/scripts/cli.py list-bills --json
python3 skills/legislation-nz/scripts/cli.py sources --json
```

Commands:

- `search QUERY [--type act|bill|regulation|secondary-legislation] [--field title|content] [--source auto|web|api] [--limit N] [--json]`
- `get-act ACT_ID [--version YYYY-MM-DD|latest] [--sections-limit N|--all-sections] [--json]`
- `get-section ACT_ID SECTION [--version YYYY-MM-DD|latest] [--json]`
- `versions ACT_ID [--version YYYY-MM-DD|latest] [--limit N] [--json]`
- `updates --since YYYY-MM-DD [--type act|bill|regulation|secondary-legislation] [--limit N] [--json]`
- `list-bills [QUERY] [--all-statuses] [--limit N] [--json]`
- `sources` or `datasets` for source metadata and caveats

`ACT_ID` can be a `year/number` pair such as `2003/52`, a work/version id such as `act_public_2003_52`, or a canonical legislation.govt.nz URL.

## Source Behaviour

- `get-act` and `get-section` use keyless official XML format URLs from legislation.govt.nz.
- `search`, `versions`, and `list-bills` use keyless official legislation.govt.nz web pages by default.
- `updates` uses the official public web-feed generator and parses the returned Atom feed.
- `search --source api` uses the PCO developer API and requires `LEGISLATION_NZ_API_KEY` or `PCO_API_KEY`.
- Network calls time out after 10 seconds by default. Upstream blocks, bot challenges, missing API keys, and parse failures are surfaced as explicit non-stacktrace errors.

## Resources

- CLI: `scripts/cli.py`
- Smoke test: `scripts/smoke_test.py`
- Source notes and caveats: `references/api-notes.md`