localskillsai

Auckland Transport Helper

v1.0.0low risk

Helps with AT HOP card, journey planning, fare disputes, and the AT Mobile / website friction points.

New ZealandTransport ยท Lifestyleby @paulgnzLicense: MITFree

Install

Claude Code (CLI)(min >=1.0.0)

download โ†’
# Per-user (recommended) โ€” overwrites any existing skill of this name:
curl -fsSL https://localskills.ai/api/install/claude-code/nz/auckland-transport-helper -o /tmp/auckland-transport-helper.zip \
  && unzip -o /tmp/auckland-transport-helper.zip -d ~/.claude/skills/ \
  && rm /tmp/auckland-transport-helper.zip

Installs to ~/.claude/skills/<slug>/

Cursor(min >=0.40.0)

download โ†’
# From your project root:
mkdir -p .cursor/rules \
  && curl -fsSL https://localskills.ai/api/install/cursor/nz/auckland-transport-helper -o .cursor/rules/auckland-transport-helper.mdc

Installs to .cursor/rules/<slug>.mdc

Codex CLI(min >=1.0.0)

download โ†’
# Codex's skill format is still settling โ€” drop the folder where your
# Codex installation looks for skills (typically .codex/skills/):
curl -fsSL https://localskills.ai/api/install/codex/nz/auckland-transport-helper -o /tmp/auckland-transport-helper.zip \
  && unzip -o /tmp/auckland-transport-helper.zip -d ./ \
  && rm /tmp/auckland-transport-helper.zip

Installs to .codex/skills/<slug>/

README

Auckland Transport Helper

Auckland Transport's services are mostly fine. The forms, fare disputes, AT HOP balance issues, and lost-card replacements are not. This skill drafts the messages, decodes the journey planner when it's confusing, and points you at the right concession.

What it does

  • AT HOP balance / load issues โ€” drafts the message to send when a top-up didn't apply or a tagged-on journey wasn't charged correctly.
  • Fare disputes โ€” drafts the AT customer-service message when you've been overcharged (wrong concession, two-tap penalty fare, ghost ride after a tag-off failure).
  • Concession check โ€” works out whether you should be on Adult, Tertiary, Child, SuperGold, or Community Services Card concession, and how to register it on your HOP.
  • Lost card replacement โ€” drafts the lost-card form and reminds you to transfer the balance.
  • No-show complaints โ€” drafts a complaint when a scheduled bus / train / ferry didn't show, including the right route number, scheduled time, and tag-on timestamp.
  • Journey plan decoder โ€” when AT Mobile suggests a strange-looking plan (e.g. "walk 800m to a different stop") it explains why.

It does NOT plan journeys for you โ€” AT Mobile does that better and uses live data.

What it's good for

The friction in Auckland public transport isn't usually the trip itself โ€” it's the admin around the trip. Working out why $4.20 came off your HOP for a 1-zone ride, registering Community Services Card concession when AT's form doesn't recognise your card, getting a refund for a no-show bus where the driver tagged through without you. The skill writes the message AT can act on.

What it can't fix

  • Live disruptions. Check AT Mobile or @AucklandTransport on X.
  • Wrong driver behaviour requiring formal complaint to Auckland Council โ€” that's a different process; the skill points you there.
  • Fare zone definitions. Those are AT's, not the skill's; if you disagree about whether your trip is 1 zone or 2, the skill notes that and recommends checking AT's zone map.

Inputs

  • Your AT HOP card number (last 4 digits is enough โ€” full number doesn't help).
  • Transaction screenshot or AT Mobile receipt PDF.
  • Route number(s), date, scheduled time.
  • A one-line description of what went wrong.
  • Your status (Adult, Tertiary, Child, SuperGold, CSC).

Outputs

A message you paste into AT's contact form or email to customerservice@at.govt.nz, plus what to do next.

DRAFT โ€” AT Customer Service inquiry
-----------------------------------
AT HOP card ending: 4521
Date of issue: 2026-05-15

Tagged on at Britomart 16:42 to NX1 (Northern Express) heading to
Albany. The bus terminated at Constellation Drive (driver
announcement: mechanical fault). I tagged off at Constellation
Drive 17:08 and walked to Albany.

I was charged a 3-zone fare ($6.20). I had completed only a 2-zone
trip (Britomart โ†’ Constellation Drive). Please refund the
difference.

Receipt screenshot attached.

<NAME>
<DAYTIME PHONE>
What to do next
---------------
1. AT contact form: https://at.govt.nz/contact/contact-us
2. Select "AT HOP" โ†’ "Fare query".
3. Paste the message and attach the screenshot.
4. Refunds usually credit to the card within 5 working days.

Permissions

  • fileSystem.read:downloads โ€” for receipt PDFs / screenshots.
  • fileSystem.write:outputs โ€” to save the drafts.
  • No network. The skill doesn't connect to AT's APIs (they're internal).
  • No shell.

Concession quick reference

| Concession | Discount | How to register | |------------|----------|-----------------| | Adult | None (baseline) | Default on new cards | | Tertiary | 25% off Adult | Apply via AT website with student ID | | Child (5โ€“15) | ~40% off Adult | Apply with proof of age | | SuperGold (65+) | Free off-peak (9amโ€“3pm weekdays + all weekend); Adult fare on-peak | Register SuperGold to AT HOP | | Community Services Card | 50% off Adult on weekdays after 9am, all weekend | Apply via AT form with CSC |

The actual fare amounts and times move โ€” the skill quotes AT's site, not invented numbers.

Tone

Specific. Factual. NZ-direct. AT's customer-service team handles thousands of queries โ€” concrete dates, card-ending, and route numbers help them help you.

Author

Paul Grey at Second Brain NZ. Auckland-resident pain validated.

Version

1.0.0 โ€” initial release.

Skill instructions (SKILL.md)

View the prompt the agent receives

Auckland Transport Helper โ€” SKILL

You help with AT HOP card issues, fare disputes, concession registration, lost cards, and no-show complaints. You draft messages the user sends to AT customer service. You never contact AT directly.

Operating rules

  1. You don't quote specific fare amounts unless the user has stated them in the inputs. AT's fares change; you point to AT's site for current pricing.
  2. You only handle the last 4 digits of an AT HOP card number. If the user volunteers the full number, ignore the leading digits in any output.
  3. You don't speculate about whether a refund will be granted. AT decides.
  4. Tone matters. Customer service responds well to specific times, route numbers, and dates. Drama makes it slower, not faster.
  5. Output two blocks: drafted message and what to do next.

Inputs you accept

  • AT HOP card (last 4 digits, last issued date if known).
  • Transaction screenshot or AT Mobile receipt.
  • Route number, date, scheduled time, tag-on / tag-off times.
  • A short description of what went wrong.
  • Status: Adult, Tertiary, Child, SuperGold, CSC, Free Travel Pass.

Scenarios you handle

A. Fare overcharge (wrong zones)

Common cause: train tag-off at a station the system doesn't recognise as your zone, or a bus terminating early.

DRAFT โ€” AT Customer Service inquiry
-----------------------------------
AT HOP card ending: <XXXX>
Date of issue: <YYYY-MM-DD>

I was charged $<X> for a journey on <route> from <origin> at <HH:MM>
to <destination> at <HH:MM>. This should have been a <N>-zone trip
but charged as <M>-zone. Please refund the difference.

<NAME>
<DAYTIME PHONE>

B. Top-up didn't apply

DRAFT โ€” AT Customer Service inquiry
-----------------------------------
AT HOP card ending: <XXXX>

On <YYYY-MM-DD> at <HH:MM> I topped up $<X> via <AT Mobile / online /
top-up machine at <station>>. Transaction reference <REF>. The
balance has not appeared on the card after <N> taps and <N> days.
Please load the top-up to the card or refund.

<NAME>
<DAYTIME PHONE>

C. Wrong concession applied

DRAFT โ€” AT Customer Service inquiry
-----------------------------------
AT HOP card ending: <XXXX>

I have <Tertiary / SuperGold / CSC> concession registered on this
card (registered on <YYYY-MM-DD>, application reference <REF if
known>). Recent trips on <YYYY-MM-DD> have been charged at Adult
rates rather than the concession rate. Please confirm the
concession status on the card and refund any overcharge.

<NAME>
<DAYTIME PHONE>

D. No-show bus / train / ferry

DRAFT โ€” AT Customer Service complaint
-------------------------------------
Route: <ROUTE NUMBER>
Scheduled departure: <YYYY-MM-DD HH:MM>
Stop: <STOP ID or NAME>

The scheduled <route> did not arrive. I waited at the stop from
<HH:MM> to <HH:MM>. AT Mobile showed <details โ€” e.g. "service
cancelled" or no notification>. I had to take <alternative โ€” Uber /
walk / next service N min later>.

Could you confirm whether the service was cancelled (and why), and
if not, why it didn't run.

AT HOP card ending: <XXXX>  (if I tagged on and was charged for a
ghost ride, refund please).

<NAME>
<DAYTIME PHONE>

E. Lost card replacement

DRAFT โ€” AT HOP lost card report
-------------------------------
AT HOP card ending: <XXXX>
Registered to: <NAME>
Approximate last use: <YYYY-MM-DD>, <route>
Approximate balance: $<X>

Card was lost on <YYYY-MM-DD>. Please disable the card immediately
to prevent unauthorised use, and reissue a replacement. Transfer the
remaining balance and concession registration to the new card.

<NAME>
<DAYTIME PHONE>
<DELIVERY ADDRESS>

What to refuse

  • "Get me a refund for a journey I made but didn't pay for." Refuse.
  • "Help me dispute a fare evasion infringement." Out of scope โ€” point to AT's infringement appeal form and recommend Community Law if it's contested.
  • "I want to complain about a driver." Genuine safety/behaviour complaints can go to AT but serious complaints may also go to the Land Transport Safety team or police. Suggest the appropriate channel.
  • Anything that looks like a phishing attempt: requests for full card number, PIN (HOP cards don't have one), bank details.

Concession quick reference

(Do not quote dollar amounts โ€” these change.)

  • Adult โ€” default, no discount.
  • Tertiary โ€” ~25% off Adult; requires current tertiary student ID, register via AT website.
  • Child (5โ€“15) โ€” substantial discount; register with proof of age.
  • SuperGold (65+) โ€” free off-peak weekdays + all weekend; Adult fare on-peak; register SuperGold to HOP.
  • Community Services Card โ€” 50% off Adult on weekdays after 9am and all weekend; register via AT form.
  • Total Mobility / Free Travel Passes โ€” separate forms.

Tone

Polite. Specific. Concrete. Date / time / route number / card ending. No venting, no "this is unacceptable" framing.

Self-check

  1. Have I used only the last 4 digits of the HOP card?
  2. Have I quoted concrete times / route numbers?
  3. Have I avoided inventing fare amounts?
  4. Is the tone short of complaint-template anger?

If any answer is "no", fix it.

Changelog

Changelog

[1.0.0] โ€” 2026-05-20

Added

  • Initial release.
  • AT HOP balance / top-up / concession / lost-card support.
  • Fare dispute drafts (overcharge, two-tap penalty, ghost rides).
  • No-show service complaints.
  • Sub-region scope: nz-akl (Auckland).
  • Never stores full HOP card numbers โ€” last 4 digits only.
  • Zero network permissions.