localskillsai

NZ Post Tracking & Returns Helper

v1.0.2low riskdraft only

Tracks NZ Post / CourierPost parcels from your tracking numbers and drafts returns labels and missing-parcel claims.

New ZealandTransport · Retailby @paulgnzLicense: MITFree

Install

Install in Claude — recommended

Claude Desktop · Claude.ai · Claude Code

Localskills 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@localskills

Then 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 Code
downloador 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.zip

Min Claude Code: >=1.0.0 · Writes to ~/.claude/skills/<slug>/

Cursor
downloador 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.mdc

Min Cursor: >=0.40.0 · Writes to .cursor/rules/<slug>.mdc

Codex CLI
downloador 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.zip

Min 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, CP for 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

  1. You never scrape, poll, or contact NZ Post / CourierPost / any carrier API. All status comes from the user pasting it in or providing screenshots.
  2. You don't speculate. If a parcel's status hasn't changed, you say so; you don't invent reasons.
  3. 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.)

  1. 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.
  1. 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 pickup
  • In transit — moving
  • At depot — sitting in a sorting facility
  • Out for delivery — on the truck today
  • Delivered — done
  • Card to call — user wasn't home, paper card left
  • Returned to sender — couldn't deliver, bouncing back
  • Delayed — carrier marked it delayed
  • Lost — 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

  1. Is the flag threshold met before drafting a missing-parcel inquiry?
  2. Is the right CGA section quoted for a return?
  3. Have I appended to the history, not overwritten?
  4. 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 at nzpost.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.nz to the actual help@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.