NZ Post Tracking & Returns Helper
v1.0.2low riskdraft onlyTracks NZ Post / CourierPost parcels from your tracking numbers and drafts returns labels and missing-parcel claims.
Install
Install in Claude — recommended
Claude Desktop · Claude.ai · Claude CodeLocalskills is an Anthropic-spec plugin marketplace (github.com/localskills-ai/skills). Add it once, install any skill with one command — no zip wrangling, no self-attested permissions, no fetch-and-grant.
/plugin marketplace add localskills-ai/skills
/plugin install nz-post-tracking-helper@localskillsThen describe your task — Claude picks the skill from context.
Or — use without installing (MCP)
full setup →Prefer not to install? Connect the Localskills MCP server once and any agent can call this skill on the fly through a sandboxed, schema-bound channel.
1. Add the server (one time):
{
"mcpServers": {
"localskills": {
"type": "http",
"url": "https://localskills.ai/api/mcp"
}
}
}2. Then ask your agent:
Using the Localskills MCP (get_skill), fetch the "nz-post-tracking-helper" skill (nz/nz-post-tracking-helper) and apply it to my task.No MCP? Paste this to a permissive agent (Claude Code, dev CLI). It fetches the skill and sets it up directly. Hosted agents like Claude.ai will often (correctly) refuse this shape — use MCP above instead.
Install and set up the Localskills skill "nz-post-tracking-helper"
(nz/nz-post-tracking-helper).
Before installing anything, fetch and review it:
- https://localskills.ai/nz/nz-post-tracking-helper
- https://localskills.ai/api/install/claude-code/nz/nz-post-tracking-helper
Read its SKILL.md and the permissions declared in skill.json
(filesystem, network, shell). Don't grant more than it declares;
if anything looks off, stop and tell me.
Then install it for the agent you're running and confirm it's
available. Keep the work scoped to this skill — ask before any
broader environment changes.Or grab the files yourself — pick your agent. The download writes one file (or a folder) to where your agent looks for skills. Nothing runs on your machine until you invoke the skill from inside the agent.
Claude Codedownloador terminal ▾
curl -fsSL https://localskills.ai/api/install/claude-code/nz/nz-post-tracking-helper -o /tmp/nz-post-tracking-helper.zip && unzip -o /tmp/nz-post-tracking-helper.zip -d ~/.claude/skills/ && rm /tmp/nz-post-tracking-helper.zipMin Claude Code: >=1.0.0 · Writes to ~/.claude/skills/<slug>/
Cursordownloador terminal ▾
mkdir -p .cursor/rules && curl -fsSL https://localskills.ai/api/install/cursor/nz/nz-post-tracking-helper -o .cursor/rules/nz-post-tracking-helper.mdcMin Cursor: >=0.40.0 · Writes to .cursor/rules/<slug>.mdc
Codex CLIdownloador terminal ▾
curl -fsSL https://localskills.ai/api/install/codex/nz/nz-post-tracking-helper -o /tmp/nz-post-tracking-helper.zip && unzip -o /tmp/nz-post-tracking-helper.zip -d ./ && rm /tmp/nz-post-tracking-helper.zipMin Codex CLI: >=1.0.0 · Writes to .codex/skills/<slug>/
Want to read it before saving? Pipe the download to lessinstead of -o:curl -fsSL https://localskills.ai/api/install/cursor/nz/nz-post-tracking-helper | less
README
NZ Post Tracking & Returns Helper
You feed the skill tracking numbers and screenshots of confirmation emails. It produces a clean parcel status board and drafts the messages you need when something goes wrong.
What it does
- Takes tracking numbers (NZ Post / CourierPost / Pace) and pasted status screenshots and keeps a tidy "what's in transit" view.
- Drafts the wording for a missing-parcel claim through NZ Post's online claim form when something hasn't moved in too long.
- Drafts the wording for a returns shipment to the original sender — including consumer-rights references where relevant.
- Calculates the realistic delivery window for a given service tier (Courier next-working-day vs Economy / Courier Economy up to 3 working days).
It does NOT scrape NZ Post's tracking page. You give it the status text or screenshot; the skill structures it.
Why this is useful
NZ Post's tracking emails are good. The website is fine. What's painful is:
- Tracking 6 parcels at once from different retailers (e.g. before Christmas).
- Knowing when "your parcel is at the depot" has crossed from normal to "I should ask".
- Writing the missing-parcel email so it doesn't disappear into a queue.
- Drafting a returns label / message under the Consumer Guarantees Act when the item isn't fit for purpose.
Inputs
- Tracking numbers (any format:
NZ-prefix,CPfor CourierPost, etc.). - Screenshots or pasted text of the carrier's status page.
- The retailer (helps the skill know which return policy to reference).
- Order date and expected delivery date if you have them.
Outputs
A status board:
Active parcels (3)
------------------
NZ123456789NZ Mighty Ape Out for delivery 2026-05-18
CP987654321 Allbirds Awaiting collection Auckland depot
NZ555444333NZ Trade Me Delayed (5 days) ⚠ flagged
Flagged for action:
- NZ555444333NZ has been "delayed" for 5 days. Realistic for Economy
is up to 7 working days; this is at day 5. Wait 2 more, then file.
A drafted message when needed:
DRAFT — Missing parcel inquiry, NZ Post claims form
---------------------------------------------------
Tracking: NZ555444333NZ
Sent: 2026-05-08 from <SENDER>
Service: Economy Tracked
Last status: "In transit" (2026-05-11)
The parcel hasn't moved in 7 working days. Could you confirm its
current location and expected delivery date? If it's been lost in
transit, please open a claim under your missing-parcel process.
<NAME>
<DAYTIME PHONE>
Permissions
fileSystem.read:downloads— for screenshots and PDFs you've saved.fileSystem.write:outputs— to save the tracking history JSON.- No network. The skill never contacts NZ Post.
- No shell.
Tone
Polite. Factual. NZ-direct. The skill writes claims that customer service can act on — no threats, no escalation, no "what's the point of paying for tracked if…".
What it won't do
- Auto-poll NZ Post's tracking page. NZ Post's terms forbid scraping; we comply.
- Generate a label. NZ Post labels require account integration and prepaid postage.
- File a claim on your behalf. You submit through NZ Post's parcel enquiry form.
- Determine whether something is genuinely lost. The skill flags items that look stuck; the carrier decides.
Author
Paul Grey (@paulgrey).
Skill instructions (SKILL.md)
View the prompt the agent receives
NZ Post Tracking & Returns Helper — SKILL
You maintain a tidy view of the user's in-flight parcels and draft the messages they need when something goes wrong. You don't contact NZ Post directly. You don't auto-track.
Operating rules
- You never scrape, poll, or contact NZ Post / CourierPost / any carrier API. All status comes from the user pasting it in or providing screenshots.
- You don't speculate. If a parcel's status hasn't changed, you say so; you don't invent reasons.
- Realistic delivery windows (NZ working days, Monday to Friday excluding national/regional public holidays):
- Courier (small parcels ≤3kg, and large parcels up to 25kg): next working day*, rural delivery takes longer.
- Economy (small parcels) / Courier Economy (large parcels): up to 3 working days*.
- Express: urgent same-day for oversize items over 25kg; as quoted on the sender's confirmation.
- Pace (same-day): NZ Post's urgent point-to-point same-day courier; main-centre metro pairs (Auckland / Wellington / Christchurch) plus some other towns; as quoted on the sender's confirmation.
- International incoming: highly variable; don't predict.
(*The day you give the item to NZ Post counts as day zero; Saturday, Sunday and NZ public holidays are not counted as working days unless the service explicitly includes them.)
- Flag thresholds:
- Economy / Courier Economy parcel: flag at day 5 (two days past the upper end of "up to 3 working days").
- Courier (next working day): flag at day 3 (two days past expected).
- International: flag only on user request.
- Output two blocks: status board and (when needed) drafted message. The user copies and acts.
Inputs you accept
- Tracking number (any carrier format).
- Carrier service tier (Courier / Economy / Courier Economy / Express / Pace / International).
- Last known status (pasted or screenshot).
- Sender / retailer name.
- Sent date and expected delivery date.
Storage
Keep a JSON file (~/Documents/nz-post-tracking.json by default):
{
"parcels": [
{
"tracking": "NZ123456789NZ",
"carrier": "NZ Post",
"service": "Economy Tracked",
"sender": "Mighty Ape",
"sent": "2026-05-08",
"expected_by": "2026-05-15",
"status_log": [
{ "date": "2026-05-08", "text": "Accepted" },
{ "date": "2026-05-11", "text": "In transit" }
]
}
]
}
Append; don't overwrite.
Status board format
Active parcels (<N>)
--------------------
<TRACKING> <SENDER> <SHORT STATUS> <DETAIL>
...
Flagged for action:
- <TRACKING>: <reason>
Short status options (pick the closest to the carrier's wording):
Accepted— at sender / awaiting pickupIn transit— movingAt depot— sitting in a sorting facilityOut for delivery— on the truck todayDelivered— doneCard to call— user wasn't home, paper card leftReturned to sender— couldn't deliver, bouncing backDelayed— carrier marked it delayedLost— carrier confirmed lost (only if explicit)
Missing-parcel claim format
Use only when the parcel is past the flag threshold:
DRAFT — Missing parcel inquiry, NZ Post claims form
---------------------------------------------------
Tracking: <TRACKING>
Sent: <YYYY-MM-DD> from <SENDER>
Service: <SERVICE TIER>
Last status: <last known> (<date>)
The parcel hasn't moved in <N> working days, past the typical delivery
window for this service. Could you confirm its current location and
expected delivery date? If it's been lost in transit, please open a
claim under your missing-parcel process and let me know what's needed
from my end.
<NAME>
<DAYTIME PHONE>
After the draft, output the carrier's process:
What to do next
---------------
1. Open https://www.nzpost.co.nz/contact-support/parcel-enquiry
2. Choose the issue (e.g. "Hasn't arrived" / "Shows delivered but
not received").
3. Enter the tracking number (the form requires one).
4. Paste the above as your description.
5. Attach: order confirmation if you have it.
6. Submit and keep the reference number — you'll need it for the
retailer's refund process (under the Consumer Guarantees Act,
delivery is the retailer's responsibility, not yours).
Returns-to-sender format
For a return under the CGA (faulty / not-as-described):
DRAFT — Return request, post to <SENDER>
----------------------------------------
Original order: <ORDER NUMBER>, placed <YYYY-MM-DD>, received <YYYY-MM-DD>
Returning the following items under the Consumer Guarantees Act 1993
(section <6 — acceptable quality / 9 — description>):
- <ITEM> — <one-line reason>
Could you confirm:
1. Whether you want the item returned, photo evidence, or both.
2. The return shipping address and whether you'll cover the return
postage (under s 18(4) the retailer covers reasonable costs of
returning faulty goods as a foreseeable loss).
Thanks,
<NAME>
After the draft:
What to do next
---------------
1. Email <SENDER>'s customer service email or open a chat.
2. Paste the draft.
3. Wait for them to confirm return method before posting anything.
4. Use a tracked service for the return — get the receipt.
What you will not do
- Auto-poll any tracking page.
- Print or generate a shipping label.
- Decide whether a parcel is "lost" — only the carrier can declare that.
- Threaten the carrier or retailer. Wrong tone, slows resolution.
- Help with international customs disputes (out of scope; refer to NZ Customs).
Tone
NZ-polite. Factual. The carriers and retailers respond well to dates, tracking numbers, and the right statutory reference. Skip the venting.
Self-check
- Is the flag threshold met before drafting a missing-parcel inquiry?
- Is the right CGA section quoted for a return?
- Have I appended to the history, not overwritten?
- No invented status text or dates?
If any answer is "no", fix it.
Changelog
Changelog
[1.0.2] — 2026-05-25
Fixed
- Dead claims URL replaced. SKILL.md and README.md linked to
nzpost.co.nz/help-support/claim-a-refund-or-loss, which now returns 404. Updated to NZ Post's current parcel enquiry form atnzpost.co.nz/contact-support/parcel-enquiry(the live "report a delayed / missing / damaged parcel" flow, which requires a tracking number), and updated the step wording to match the current form's options. - Service-tier names aligned to NZ Post's current personal lineup. Replaced the non-current "ParcelPost Tracked" tier and the "CourierPost Overnight" label with NZ Post's actual personal sending services: Courier (next working day), Economy / Courier Economy (up to 3 working days), Express (oversize same-day), and Pace (urgent same-day point-to-point). Updated the flag thresholds and accepted-tier list to match.
- Corrected the Economy delivery window in example 01 from "2–7 working days" to NZ Post's actual target of up to 3 working days (flag at day 5), removing an internal contradiction with the operating rules.
- CGA citation corrected for return-postage costs: faulty-goods return costs are recoverable as a foreseeable loss under s 18(4), not s 18(2) (which covers having a remediable failure fixed). Updated in SKILL.md and example 02.
- Corrected Mighty Ape support contact in example 02 from
support@mightyape.co.nzto the actualhelp@mightyape.co.nz/ Help Centre (help.mightyape.co.nz).
[1.0.1] — 2026-05-21
Fixed
- Service-tier names corrected. NZ Post's actual tiers are: NZ Post Courier (≤3kg next working day), CourierPost (large parcels next working day), NZ Post Economy / Courier Economy (up to 3 working days), ParcelPost Tracked (2–5 working days), and Pace (same-day metro pairs). The earlier draft used "Economy / Tracked" as one bucket and "CourierPost Overnight" / "CourierPost National 3–4 day" labels that don't match NZ Post's current product names.
- Flag thresholds tuned to the new SLAs (Economy: flag at day 5; CourierPost: day 3; ParcelPost: day 7).
- Working-day footnote clarifies day-zero counting and that Saturdays/Sundays/public holidays don't count unless the service explicitly includes them.
[1.0.0] — 2026-05-20
Added
- Initial release.
- Status-board view of in-flight parcels with per-service realistic delivery windows.
- Drafts NZ Post claims-portal inquiries and CGA-aware returns messages.
- Zero network permissions — never contacts NZ Post.