legislation-nz ยท diff

git:20260705.a4019d0 to git:20260719.1748a98

22 added, 1 removed. Audit A to A.

---
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.
+ 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."
+ license: MIT
+ compatibility: "Requires Python 3.10+ and network access for live data"
+ metadata:
+ thecolab.category: "government"
+ thecolab.source_owner: "New Zealand Parliamentary Counsel Office"
+ thecolab.source_type: "official"
+ thecolab.auth: "mixed"
+ thecolab.access_mode: "public-api"
+ thecolab.data_class: "public"
+ thecolab.writes: "false"
+ thecolab.browser: "false"
+ thecolab.risk: "medium"
+ thecolab.cache_ttl: "24h"
+ thecolab.schema_version: "1"
+ thecolab.skill_type: "public-api"
+ thecolab.pack: "nz-public-data"
+ thecolab.source_url: "https://www.legislation.govt.nz"
+ thecolab.allowed_domains: "api.legislation.govt.nz,catalogue.data.govt.nz,www.legislation.govt.nz"
+ thecolab.last_verified: "2026-07-19"
+ thecolab.health: "gated"
+ thecolab.maintainer: "@adam91holt"
---
# 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`