Query official New Zealand Parliament weekly Journals for recorded divisions, preserving printed party counts and ambiguous singleton labels without identity inference.
Scanned 9/22/2026
Install to Claude Code
npx -y skills add thecolab-ai/.skills --skill nz-parliament-votes --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Nz Parliament Votes?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/thecolab-ai-nz-parliament-votes)More formats (shields.io, HTML) on the badges page.
---
name: nz-parliament-votes
description: "Query official New Zealand Parliament weekly Journals for recorded divisions, preserving printed party counts and ambiguous singleton labels without identity inference."
license: MIT
compatibility: "Requires Python 3.10+ and network access for live data"
metadata:
thecolab.category: "government"
thecolab.source_owner: "New Zealand Parliament"
thecolab.source_type: "official"
thecolab.auth: "none"
thecolab.access_mode: "public-api"
thecolab.data_class: "public"
thecolab.writes: "false"
thecolab.browser: "false"
thecolab.risk: "low"
thecolab.cache_ttl: "none"
thecolab.schema_version: "1"
thecolab.skill_type: "public-api"
thecolab.pack: "nz-public-data"
thecolab.source_url: "https://journals.parliament.nz/"
thecolab.allowed_domains: "journals.parliament.nz"
thecolab.last_verified: "2026-09-12"
thecolab.health: "healthy"
thecolab.maintainer: "@adam91holt"
---
# NZ Parliament Votes
Use the read-only Python CLI in `scripts/cli.py` to search weekly Journals and extract supported recorded party divisions. Every data command supports `--json`, bounded requests, stable exit codes, source URLs and retrieval timestamps.
## Commands
```bash
# List one bounded page of weekly Journals; optionally filter titles on that page
python3 scripts/cli.py search [QUERY] --page 1 --limit 20 --json
# Extract printed divisions from a Journal UUID returned by search
python3 scripts/cli.py votes JOURNAL_ID --json
```
The common lookup path is positional (`QUERY` or `JOURNAL_ID`). Human-readable output is the default. `--limit` is restricted to 1–50 and each request has a 10-second timeout and 4 MiB response ceiling.
## Interpretation rules
- Weekly Journals are **drafts**, not the authoritative Sessional Journal record.
- Return source-printed party labels/counts; preserve ambiguous singleton labels as `entity_kind: unknown`.
- Never infer an individual MP's vote from party membership, classify a singleton as a person, resolve a printed label to an identity, or add roles/electorates.
- Participant rows are emitted only when their printed counts reconcile with the side total.
- Missing abstentions remain `null`; unsupported layouts produce diagnostics, not inferred results or empty-source claims.
- Search filtering applies only to the one requested API page; it is not a full-archive search.
## Resources
- `scripts/cli.py` — canonical command entrypoint
- `scripts/parliament_votes.py` — strict stdlib Journal and search parser
- `scripts/test_contract.py` — deterministic contract, adversarial parser, and normal/empty/blocked tests
- `scripts/smoke_test.py` — synthetic fixture assertions and bounded live search probe
- `tests/fixtures/` — minimal scrubbed synthetic Journal, empty response, and contract sentinel
- `references/source-profile.json` — machine-readable commands and source constraints
- `references/source-notes.md` — provenance, parser semantics, and coverage limits
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!