$npx -y skills add jezweb/claude-skills --skill parcel-trackingTrack parcels and check delivery status for Australian and international couriers. Searches Gmail for dispatch/shipping emails and provides tracking links for all major Australian couriers including AusPost, StarTrack, Aramex, CouriersPlease, Sendle, Toll, Team Global Express, DH
| 1 | # Parcel Tracking |
| 2 | |
| 3 | Find tracking numbers from Gmail dispatch emails and check delivery status for Australian and international couriers. |
| 4 | |
| 5 | ## When to Use |
| 6 | |
| 7 | - "Where's my parcel / package / order?" |
| 8 | - "Has my [product] arrived / shipped yet?" |
| 9 | - "Track my order from [store]" |
| 10 | - "What's the status of my delivery?" |
| 11 | - "Do I have a tracking number for [item]?" |
| 12 | - User pastes or mentions a tracking number |
| 13 | - "Check the StarTrack / AusPost / Aramex / Toll tracking" |
| 14 | |
| 15 | ## Workflow |
| 16 | |
| 17 | ### Step 1: Find the Tracking Number |
| 18 | |
| 19 | If the user already provided a tracking number, skip to Step 2. |
| 20 | |
| 21 | Otherwise, search Gmail for dispatch emails. Look for recent messages matching: |
| 22 | |
| 23 | ``` |
| 24 | dispatched OR shipped OR "tracking number" OR "consignment number" newer_than:30d |
| 25 | ``` |
| 26 | |
| 27 | For a specific store or order, narrow the search: |
| 28 | ``` |
| 29 | from:mwave.com.au dispatched |
| 30 | from:amazon.com.au shipped |
| 31 | ``` |
| 32 | |
| 33 | Read the email body and extract: |
| 34 | - Tracking / consignment number |
| 35 | - Carrier name |
| 36 | - Order number |
| 37 | - Dispatch date |
| 38 | - Delivery notes (signature required, etc.) |
| 39 | |
| 40 | **Gmail access**: Use whatever Gmail tool is available (Gmail MCP, gws CLI `gws gmail`, or ask the user to check manually and paste the tracking number). |
| 41 | |
| 42 | ### Step 2: Identify the Carrier and Build the Tracking Link |
| 43 | |
| 44 | Use the table below to identify the carrier from the tracking number format or dispatch email, then build the direct tracking link where possible. |
| 45 | |
| 46 | | Carrier | Number format / example | Direct tracking link | |
| 47 | |---------|------------------------|----------------------| |
| 48 | | **AusPost / StarTrack** | Alphanumeric, e.g. `36VJ65064757`, `JD123456789AU` | `https://auspost.com.au/mypost/track/details/{NUMBER}` | |
| 49 | | **Sendle** | 6-8 alphanumeric chars, e.g. `SNFJJ3` | `https://track.sendle.com/tracking?ref={NUMBER}` | |
| 50 | | **DHL** | 10-12 digits, e.g. `1234567890` | `https://www.dhl.com/au-en/home/tracking.html?tracking-id={NUMBER}` | |
| 51 | | **FedEx** | 12-15 digits, or AU+10 digits | `https://www.fedex.com/apps/fedextrack/?tracknumbers={NUMBER}` | |
| 52 | | **TNT** (now FedEx) | 9 digits, e.g. `907384999` | `https://www.tnt.com/express/en_au/site/shipping-tools/tracking.html` (paste) | |
| 53 | | **UPS** | Starts with 1Z, 18 chars | `https://www.ups.com/track?tracknum={NUMBER}` | |
| 54 | | **Aramex** (formerly Fastway) | Numeric label number, varies | `https://www.aramex.com.au/tools/track` (paste) | |
| 55 | | **CouriersPlease** | Numeric or CP prefix | `https://www.couriersplease.com.au/tools-track` (paste) | |
| 56 | | **Toll / MyToll** | Numeric consignment, varies | `https://mytoll.com/` (paste) | |
| 57 | | **Team Global Express** | Numeric, varies | `https://myteamge.com/` (paste) | |
| 58 | | **Hunter Express** | Alphanumeric, e.g. `AIM478695` | `https://www.hunterexpress.com.au/tracking/` (paste) | |
| 59 | | **Border Express** | Numeric, varies | `https://www.borderexpress.com.au/tracking/` (paste) | |
| 60 | | **Direct Freight Express** | Numeric consignment | `https://www.directfreight.com.au/ConsignmentStatus.aspx` (paste) | |
| 61 | |
| 62 | **Deep-links** (tracking number in URL): AusPost/StarTrack, Sendle, DHL, FedEx, UPS. |
| 63 | |
| 64 | **Form-based** (provide link + number separately): Aramex, CouriersPlease, Toll, Team Global Express, Hunter Express, Border Express, Direct Freight Express, TNT. |
| 65 | |
| 66 | **If carrier is unknown:** Default to AusPost (most common in Australia), or ask the user to check their dispatch email. |
| 67 | |
| 68 | ### Step 3: Try to Get Live Status |
| 69 | |
| 70 | If web scraping tools are available, try scraping the tracking page: |
| 71 | |
| 72 | ``` |
| 73 | url: {direct tracking URL} |
| 74 | wait_for: 3000 (many tracking pages are JS-rendered) |
| 75 | ``` |
| 76 | |
| 77 | Many tracking pages return limited data when scraped. AusPost is particularly JS-heavy. If scraping returns useful status info, include it. If not, just provide the direct link. Don't mention failed scrapes to the user. |
| 78 | |
| 79 | If browser automation is available (Chrome MCP, Playwright), navigate to the tracking page and read the status directly. |
| 80 | |
| 81 | If no scraping/browser tools are available, skip this step and provide the link. |
| 82 | |
| 83 | ### Step 4: Present Results |
| 84 | |
| 85 | Always include: |
| 86 | 1. **Current status** (from scrape if available, or from dispatch email) |
| 87 | 2. **Direct tracking link** (always) |
| 88 | 3. **Expected delivery window** (if known) |
| 89 | 4. **Delivery notes** (signature required, card-to-collect, etc.) |
| 90 | |
| 91 | #### Example: Carrier with Deep Link |
| 92 | |
| 93 | ``` |
| 94 | Order IN03069870 — Mac mini x 2 |
| 95 | Dispatched by Mwave via AusPost/StarTrack on 17 Mar |
| 96 | |
| 97 | Tracking: 36VJ65064757 |
| 98 | Status: In transit — processed at Sydney sorting facility |
| 99 | Expected: Thu 19 – Fri 20 Mar |
| 100 | Note: Signature required. If no one home, parcel goes to |