Skip to content
Back to skills

Nz Hansard

ASecurity

Search official New Zealand parliamentary debates, speeches and oral-question transcripts by speaker, date, topic, bill and sitting.

  • 31 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
toolspythongobash

Works with

  • cli

Security analysis

A100/100

Pro scans all 9 files and shows the line behind each finding

Scanned September 10, 2026

npx -y skills add thecolab-ai/.skills --skill nz-hansard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nz Hansard?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Nz Hansard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thecolab-ai-nz-hansard/badge)](https://www.skillsdirectory.com/skills/thecolab-ai-nz-hansard)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: nz-hansard
description: "Search official New Zealand parliamentary debates, speeches and oral-question transcripts by speaker, date, topic, bill and sitting."
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: "html-readonly"
  thecolab.data_class: "public"
  thecolab.writes: "false"
  thecolab.browser: "false"
  thecolab.risk: "medium"
  thecolab.cache_ttl: "24h"
  thecolab.schema_version: "1"
  thecolab.skill_type: "html-readonly"
  thecolab.pack: "nz-public-data"
  thecolab.source_url: "https://hansard.parliament.nz/"
  thecolab.allowed_domains: "hansard.parliament.nz"
  thecolab.last_verified: "2026-07-19"
  thecolab.health: "degraded"
  thecolab.maintainer: "@adam91holt"
---

# NZ Hansard

Use the read-only Python CLI to retrieve and filter records exposed by the official first-party source.
Every command supports `--json`, bounded requests, stable exit codes, source URLs and retrieval timestamps.

## Commands

```bash
# list recent debate and question resources
python3 scripts/cli.py latest --json
# search transcript text across the latest five sittings
python3 scripts/cli.py search QUERY --sittings 5 --json
# filter by speaker across a bounded sitting corpus
python3 scripts/cli.py speaker NAME --sittings 5 --json
# discover oral questions by date
python3 scripts/cli.py oral-questions --date VALUE --json
# find debates relating to a bill across a bounded sitting corpus
python3 scripts/cli.py bill QUERY --sittings 5 --json
# find a complete debate item
python3 scripts/cli.py debate ID --json
```

Add `--limit N` (1–100) to bound returned records. Undated search, speaker and bill commands fetch the latest five official sittings by default; set `--sittings N` (1–20) to adjust that bounded corpus or `--date YYYY-MM-DD` for one exact sitting. Malformed dates fail before any source request. Human output is the default.

## Coverage and interpretation

- Quotes and attribution must remain tied to the official transcript.
- Speaker turns keep the published name in `speaker_as_published` and expose any parenthetical role or party separately as `role_or_party`.
- Preserve corrected or provisional transcript status when published.
- Do not infer a speaker's position beyond the retrieved words and context.

The CLI parses the official transcript listing and exact sitting pages at `/hansard-transcript/YYYY-MM-DD`. A date narrows search, speaker and bill commands; otherwise they search the explicitly bounded latest-sittings corpus. Debate IDs combine the sitting date with the published heading. Complete transcript pages remain the authoritative text and attribution surface.

## Resources

- `scripts/cli.py` — canonical command entrypoint
- `scripts/test_contract.py` — deterministic repository contract audit
- `scripts/smoke_test.py` — parser fixture and bounded live probe
- `tests/fixtures/listing.html` and `transcript.html` — official listing/transcript-schema fixtures
- `references/source-notes.md` — feasibility, provenance and source limits

Files in this skill

  • SKILL.md3.1 KB
  • references/source-notes.md1.5 KB
  • scripts/cli.py7 KB
  • scripts/hansard_transcript.py7.7 KB
  • scripts/smoke_test.py3.2 KB
  • scripts/test_contract.py376 B
  • tests/fixtures/contract.json170 B
  • tests/fixtures/listing.html239 B
  • tests/fixtures/transcript.html572 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.