NZ regulatory analysis
Use when finding or inspecting current official New Zealand Regulatory Analysis Summaries (RAS), Regulatory Impact Statements or Assessments (RIS/RIA), supplementary or cost-recovery analyses, quality assessments, Cabinet documents, and linked PDFs published by the Ministry for Regulation or Ministry for the Environment.
NZ regulatory analysis
Goal
Discover current official regulatory-analysis publication pages and inspect their linked PDFs. The skill reads the Ministry for Regulation's RAS index and the Ministry for the Environment's Cabinet-paper/RIS index. It classifies records without downloading or interpreting PDF contents.
Use this when
- Finding current official RAS, RIS, RIA, supplementary analysis reports, or cost recovery impact statements.
- Locating independent, departmental, agency, or otherwise-labelled quality assessments.
- Finding the Cabinet papers and minutes linked from an environmental regulatory package.
- Producing source URLs and retrieval timestamps before a policy comparison.
Do not use this for
- Recovering deleted, superseded, or archived publications.
- Claiming that a search result is the complete government-wide corpus.
- Treating a document's presence as proof that its analysis or quality assurance is adequate.
- Summarising PDF contents: this CLI returns links and labels but does not fetch PDFs.
- Circumventing CAPTCHA, access challenges, robots controls, or request blocks.
Preferred workflow
- Run
searchwith a narrow policy phrase. Use--sourcewhen the publisher is known. - Select the official publication-page URL from the results.
- Run
inspect URL --jsonto list linked official PDFs and their distinct document types. - Open and read the relevant returned PDF separately before making content claims.
- Cite the exact page/PDF URL and
source.retrieved_at; explain that listings can change.
CLI
Run from the repository root:
python3 skills/nz-regulatory-analysis/scripts/cli.py <command> [flags]
Commands:
search QUERY [--source all|regulation|environment] [--limit 1-25] [--json]searches one or both current indexes.QUERYis positional.inspect URL [--json]fetches one supported official HTML publication page and lists same-site linked PDFs.URLis positional.
Examples:
python3 skills/nz-regulatory-analysis/scripts/cli.py search "climate disclosures" --json
python3 skills/nz-regulatory-analysis/scripts/cli.py search freshwater --source environment --limit 5
python3 skills/nz-regulatory-analysis/scripts/cli.py inspect "https://www.regulation.govt.nz/publications-and-resources/regulatory-analysis-summaries/EXAMPLE/" --json
Result contract
--json emits the repository result envelope (schema_version: "1"). Successful live results include source.url, source.retrieved_at, query, data, warnings, and blocked: false.
- Search records retain
title, officialurl, displayed publication date, publisher, anddocument_type; source-specific author/tags are retained when shown. Regulation searches follow all result pages within the safety bound sosource_totals.regulationis not a page-one count. Multi-document environment packages usepublication_packageand expose every labelled type indocument_typesrather than collapsing Cabinet and regulatory documents into one type. - Inspect results retain the page title/type/update value plus deduplicated
documentswith official PDF URLs and separate document types. - A genuine no-match search is
ok: truewithresults: []. - HTTP/access challenges are exit 4 with
blocked: true; upstream outages are exit 5; changed/malformed page structures are exit 6. They never become empty success.
Document types include regulatory_analysis_summary, regulatory_impact_statement, regulatory_impact_assessment, supplementary_analysis_report, cost_recovery_impact_statement, quality-assessment variants, Cabinet paper/minute, briefing, and conservative fallback types.
Resources
scripts/cli.py— bounded stdlib HTTP client and parser.scripts/test_contract.py— deterministic repository contract runner.tests/test_parser.pyandtests/fixtures/— scrubbed minimal parser and adversarial cases.scripts/smoke_test.py— fixture checks plus bounded normal/empty/blocked-aware live contracts.references/source-notes.md— source surfaces, limits, and parser assumptions.
Safety and limits
- Read-only GET requests, no authentication, browser automation, cache, proxy configuration, or PDF download.
- Regulation searches follow at most 10 index pages (up to 120 results with the current 12-result page size); a broader result set fails explicitly and asks for a narrower query rather than reporting a partial total. Environment search makes one index request. Inspect makes one request. Each request has a 10-second timeout and 2 MB HTML cap.
- Redirects remain inside the two declared official hosts and supported publication paths.
- Labels drive type classification; inspect the document itself before relying on that classification in consequential work.
Last updated: October 13, 2026
Files (13)
LICENSEAssetsreferences/source-notes.mdReferencesscripts/cli.pyScriptsscripts/smoke_test.pyScriptsscripts/test_contract.pyScriptsSKILL.mdSKILL.mdtests/fixtures/contract.jsonAssetstests/fixtures/detail-page.htmlAssetstests/fixtures/environment-search.htmlAssetstests/fixtures/regulation-search.htmlAssetstests/fixtures/regulation-search-page-2.htmlAssetstests/fixtures/source-sample.jsonAssetstests/test_parser.pyAssets
- Jurisdiction
- 🇳🇿 New Zealand
- Practice area
- Administrative
- License
- MIT
- Author
- thecolab-ai
Test NZ regulatory analysis
Ask a legal question — get an answer generated live from this skill’s instructions.
Sign in to test this skill.