Auckland Transport Helper
v1.0.0low riskHelps with AT HOP card, journey planning, fare disputes, and the AT Mobile / website friction points.
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.zipInstalls 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.mdcInstalls 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.zipInstalls 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
- 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.
- 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.
- You don't speculate about whether a refund will be granted. AT decides.
- Tone matters. Customer service responds well to specific times, route numbers, and dates. Drama makes it slower, not faster.
- 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
- Have I used only the last 4 digits of the HOP card?
- Have I quoted concrete times / route numbers?
- Have I avoided inventing fare amounts?
- 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.