track17
Original:🇺🇸 English
Translated
1 scriptsChecked / no sensitive code detected
Track parcels via the 17TRACK API (local SQLite DB, polling + optional webhook ingestion)
6installs
Added on
NPX Install
npx skill4agent add tristanmanchester/agent-skills track17Tags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →track17 (17TRACK parcel tracking)
This skill lets Clawdbot keep a local list of your parcels, track their state via the 17TRACK Tracking API v2.2, and summarise changes.
It stores everything in a small SQLite DB under your workspace (by default: ).
<workspace>/packages/track17/track17.sqlite3<workspace>skills//clawd/skills/track17//clawd/packages/track17/Requirements
- must be set (17TRACK API token; used as the
TRACK17_TOKENheader).17token - Python (preferred).
python3
Optional:
- if you want to verify webhook signatures.
TRACK17_WEBHOOK_SECRET - to override where the DB/inbox live.
TRACK17_DATA_DIR - to override what this tool considers the workspace directory.
TRACK17_WORKSPACE_DIR
Quick start
- Initialise storage (safe to run multiple times):
bash
python3 {baseDir}/scripts/track17.py init- Add a package (registers it with 17TRACK and stores it locally):
bash
python3 {baseDir}/scripts/track17.py add "RR123456789CN" --label "AliExpress headphones"If carrier auto-detection fails, specify a carrier code:
bash
python3 {baseDir}/scripts/track17.py add "RR123456789CN" --carrier 3011 --label "..."- List tracked packages:
bash
python3 {baseDir}/scripts/track17.py list- Poll for updates (recommended if you don't want webhooks):
bash
python3 {baseDir}/scripts/track17.py sync- Show details for one package:
bash
python3 {baseDir}/scripts/track17.py status 1
# or
python3 {baseDir}/scripts/track17.py status "RR123456789CN"Webhooks (optional)
17TRACK can push updates to a webhook URL. This skill supports webhook ingestion in two ways:
A) Run the included webhook server
bash
python3 {baseDir}/scripts/track17.py webhook-server --bind 127.0.0.1 --port 8789Then point 17TRACK's webhook URL at that server (ideally via a reverse proxy or Tailscale Funnel).
B) Ingest webhook payloads from stdin/file
bash
cat payload.json | python3 {baseDir}/scripts/track17.py ingest-webhook
# or
python3 {baseDir}/scripts/track17.py ingest-webhook --file payload.jsonIf you saved webhook deliveries to the inbox directory, process them:
bash
python3 {baseDir}/scripts/track17.py process-inboxCommon actions
- Stop tracking:
bash
python3 {baseDir}/scripts/track17.py stop 1- Retrack a stopped parcel:
bash
python3 {baseDir}/scripts/track17.py retrack 1- Delete a parcel from local DB (does not delete at 17TRACK unless you also call ):
delete-remote
bash
python3 {baseDir}/scripts/track17.py remove 1- Show API quota:
bash
python3 {baseDir}/scripts/track17.py quotaOperating guidance for the agent
- Prefer sync (polling) for simplicity unless the user explicitly wants webhooks.
- After adding a package, run once to confirm a valid carrier/status was returned.
status - When summarising, prioritise:
- delivered/out for delivery
- exception/failed delivery
- customs holds
- carrier handoffs
- Never echo or
TRACK17_TOKEN.TRACK17_WEBHOOK_SECRET