Skip to content
Back to skills

Education Counts Nz

ASecurity

Query Education Counts teacher workforce and initial teacher education public sources for New Zealand teacher supply research. Use when the task involves ITE enrolments/completions, teacher numbers, teacher entry/leaving, teacher turnover, teacher demand and supply projections, workbook URLs, or source caveats for Ministry of Education teacher workforce data.

  • 31 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 10, 2026
businesspythongobashapi

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned September 10, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Education Counts Nz?

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

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

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: education-counts-nz
description: "Query Education Counts teacher workforce and initial teacher education public sources for New Zealand teacher supply research. Use when the task involves ITE enrolments/completions, teacher numbers, teacher entry/leaving, teacher turnover, teacher demand and supply projections, workbook URLs, or source caveats for Ministry of Education teacher workforce data."
license: MIT
compatibility: "Requires Python 3.10+ and network access for live data"
metadata:
  thecolab.category: "education"
  thecolab.source_owner: "Ministry of Education"
  thecolab.source_type: "official"
  thecolab.auth: "none"
  thecolab.access_mode: "public-download"
  thecolab.data_class: "public"
  thecolab.writes: "false"
  thecolab.browser: "false"
  thecolab.risk: "low"
  thecolab.cache_ttl: "24h"
  thecolab.schema_version: "1"
  thecolab.skill_type: "public-download"
  thecolab.pack: "nz-public-data"
  thecolab.source_url: "https://www.educationcounts.govt.nz"
  thecolab.allowed_domains: "www.educationcounts.govt.nz"
  thecolab.last_verified: "2026-07-19"
  thecolab.health: "gated"
  thecolab.maintainer: "@adam91holt"
---

# Education Counts NZ

## Goal

Discover and extract public Ministry of Education Education Counts teacher workforce and ITE data with a read-only CLI.

## Use This When

- A user asks for NZ teacher supply, teacher workforce, or initial teacher education statistics
- A workflow needs current Education Counts workbook/PDF links and release dates
- Another tool needs machine-readable rows from a public Education Counts workbook
- A user needs source caveats for rounded, provisional, or bot-blocked Education Counts data

## Do Not Use This For

- School directory lookup; use an NZ schools or Education Counts directory-specific skill
- Individual teacher records, private workforce data, or Teaching Council registration checks
- Generic tertiary enrolment statistics unrelated to initial teacher education
- Authenticated Ministry systems or any attempt to bypass CAPTCHA/request-auth blocks

## Preferred Workflow

1. Run `scripts/cli.py list --json` to inspect supported dataset families and known source pages.
2. Use `resources --dataset <name> --json` to discover workbook/PDF links from the live page when the page is reachable.
3. Use the focused commands for common teacher supply tasks:
   - `ite-enrolments --from 2005 --to 2025 --json`
   - `teacher-numbers --resource headcount --from 2020 --to 2025 --json`
   - `teacher-movement --kind entering --measure numbers --from 2020 --to 2025 --json`
   - `teacher-turnover --measure rates --from 2020 --to 2024 --json`
   - `tds --year 2025 --json`
4. Use `workbook --url URL --sheet SHEET --json` for a direct public workbook URL or a downloaded file.
5. When the Education Counts site returns HTTP 403/429, report the returned `blocked` status and source URL rather than treating the source as missing.

## CLI

Run with:

```bash
python3 skills/education-counts-nz/scripts/cli.py <command> [flags]
```

Commands:

- `list [--json]` - list supported teacher workforce dataset families and source pages
- `resources --dataset NAME [--json]` - discover current links from an Education Counts page
- `ite-enrolments [--from YEAR] [--to YEAR] [--json]` - discover and parse first-time domestic ITE enrolment workbook rows
- `ite-completions [--from YEAR] [--to YEAR] [--json]` - discover/preview first ITE completion sources when available
- `teacher-numbers --resource headcount|ftte|pivot|school [--from YEAR] [--to YEAR] [--json]` - fetch teacher number workbook rows
- `teacher-movement --kind entering|leaving --measure numbers|rates [--from YEAR] [--to YEAR] [--json]` - fetch entry/leaving workbook rows
- `teacher-turnover --measure numbers|rates|pivot [--from YEAR] [--to YEAR] [--json]` - fetch turnover workbook rows
- `tds [--year YEAR] [--json]` - discover Teacher Demand and Supply Planning Projection publication pages from the live series page
- `workbook --url URL [--sheet NAME] [--from YEAR] [--to YEAR] [--limit N] [--json]` - parse a public XLSX workbook directly

## Resources

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

## Notes

- The CLI is read-only, keyless, and uses Python standard library modules only.
- XLSX workbooks are parsed with `zipfile` and `xml.etree.ElementTree`; PDFs are listed as source documents but not text-parsed.
- Education Counts pages can return HTTP 403 to HTTP clients. The CLI sends browser-like headers, then classifies 403/429 as `blocked` and keeps source metadata available.
- Figures from Education Counts may be rounded or revised; keep `source_url`, `fetched_at`, and release notes with any reported numbers.

Files in this skill

  • SKILL.md4.7 KB
  • references/api-notes.md2.3 KB
  • references/source-notes.md497 B
  • scripts/cli.py27.9 KB
  • scripts/smoke_test.py9 KB
  • scripts/test_contract.py376 B
  • tests/fixtures/contract.json179 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.