Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Track parcels via the 17TRACK API (local SQLite DB, polling + optional webhook ingestion)
Track parcels via the 17TRACK API (local SQLite DB, polling + optional webhook ingestion)
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
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> is auto-detected as the parent directory of the nearest skills/ directory that contains this skill. For example, if you install it at /clawd/skills/track17/, data will be stored at /clawd/packages/track17/.
TRACK17_TOKEN must be set (17TRACK API token; used as the 17token header). Python (python3 preferred). Optional: TRACK17_WEBHOOK_SECRET if you want to verify webhook signatures. TRACK17_DATA_DIR to override where the DB/inbox live. TRACK17_WORKSPACE_DIR to override what this tool considers the workspace directory.
Initialise storage (safe to run multiple times): python3 {baseDir}/scripts/track17.py init Add a package (registers it with 17TRACK and stores it locally): python3 {baseDir}/scripts/track17.py add "RR123456789CN" --label "AliExpress headphones" If carrier auto-detection fails, specify a carrier code: python3 {baseDir}/scripts/track17.py add "RR123456789CN" --carrier 3011 --label "..." List tracked packages: python3 {baseDir}/scripts/track17.py list Poll for updates (recommended if you don't want webhooks): python3 {baseDir}/scripts/track17.py sync Show details for one package: python3 {baseDir}/scripts/track17.py status 1 # or python3 {baseDir}/scripts/track17.py status "RR123456789CN"
17TRACK can push updates to a webhook URL. This skill supports webhook ingestion in two ways:
python3 {baseDir}/scripts/track17.py webhook-server --bind 127.0.0.1 --port 8789 Then point 17TRACK's webhook URL at that server (ideally via a reverse proxy or Tailscale Funnel).
cat payload.json | python3 {baseDir}/scripts/track17.py ingest-webhook # or python3 {baseDir}/scripts/track17.py ingest-webhook --file payload.json If you saved webhook deliveries to the inbox directory, process them: python3 {baseDir}/scripts/track17.py process-inbox
Stop tracking: python3 {baseDir}/scripts/track17.py stop 1 Retrack a stopped parcel: python3 {baseDir}/scripts/track17.py retrack 1 Delete a parcel from local DB (does not delete at 17TRACK unless you also call delete-remote): python3 {baseDir}/scripts/track17.py remove 1 Show API quota: python3 {baseDir}/scripts/track17.py quota
Prefer sync (polling) for simplicity unless the user explicitly wants webhooks. After adding a package, run status once to confirm a valid carrier/status was returned. When summarising, prioritise: delivered/out for delivery exception/failed delivery customs holds carrier handoffs Never echo TRACK17_TOKEN or TRACK17_WEBHOOK_SECRET.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.