Coding

parcelcli

Try it

Track parcels locally with parcelcli for Evri, Royal Mail, UPS, FedEx, and DHL. Use when the user asks to track a package, detect a carrier, check delivery s...

What it does

Track parcels locally with parcelcli for Evri, Royal Mail, UPS, FedEx, and DHL. Use when the user asks to track a package, detect a carrier, check delivery s...

The skill document

parcelcli

Use parcelcli for local parcel tracking. It drives public carrier tracking pages and returns a normalized JSON shape.

Golden Path

Always use --json when calling parcelcli.

parcelcli track  --carrier evri --postcode  --json
parcelcli track  --carrier evri --json
parcelcli track  --carrier royalmail --json
parcelcli track  --carrier ups --json
parcelcli track  --carrier fedex --json
parcelcli track  --carrier dhl --json

If the carrier is unknown, run:

parcelcli detect  --json

If detection is ambiguous, ask the user to choose a carrier.

Required Inputs

  • Evri can run rough public tracking without --postcode; use --postcode only when the user wants fuller address-specific detail or provides it.
  • Royal Mail, UPS, FedEx, and DHL do not require postcode by default.
  • Do not infer a postcode from memory unless the user clearly asks you to use their usual address.

Output Handling

Summarize only the normalized JSON fields. Prefer:

  • status
  • status_text
  • last_event
  • ETA or delivery fields when present
  • blocker/error state when present

Do not paste raw carrier page text or browser dumps into chat.

Watches

Use local watch state when the user asks to monitor a parcel:

parcelcli watch add  --carrier evri --postcode  --label ""
parcelcli watch add  --carrier evri --label ""
parcelcli watch add  --carrier royalmail --label ""
parcelcli watch add  --carrier ups --label ""
parcelcli watch add  --carrier fedex --label ""
parcelcli watch add  --carrier dhl --label ""
parcelcli watch run --json

Do not poll fast. Use 15-30 minute intervals for active delivery watches and longer intervals for non-active parcels.

Notify only on material changes: status enum, latest event, ETA, courier or handover code, delivery, exception, or blocker.

When monitoring is no longer needed, list and remove old watches with parcelcli watch list --json and parcelcli watch remove --json.

Privacy And Errors

Keep tracking numbers, postcodes, and watch state local. Do not use third-party aggregators unless the user explicitly approves that.

If Chrome is missing, say Chrome is required or use the CLI's --chrome flag if the user provides a path.

If a carrier returns unsupported or credentials_required, say that plainly and stop. For timeout or WAF failures, retry once later rather than looping.

Related skills

Monitor package logistics status and identify delivery anomalies such as delays, stalls, returns, failed delivery, customs/security holds, or abnormal signin...

21 installs

Convert parcel boundaries into OvitalMap-compatible CSV files, assign stable parcel codes, and maintain deduplicated country and master archives. Use for WGS84, DMS, or UTM coordinates supplied as text or images, including archive re-exports and coordinate corrections. Do not use it as cadastral or legal validation.

7 installs

One-stop AI courier claim assistant for lost, damaged, or disputed packages: legal analysis, compensation calculation, escalation paths, and document generat...

1 installs

Track a flight in real-time and notify when to leave for airport pickup based on distance to destination.

Track food expiry dates from grocery receipts. Get daily alerts before food goes bad, 'use this today' suggestions, and reduce food waste. Scan receipts or add items manually.

Query SPX Express shipment tracking by tracking number. Call this skill when the user mentions a tracking number matching the SPX format (CNMY..., SPXMY...),...

18 installs