Repository navigation
Conversation
…ing just a tracking number
Bump skill count 9 -> 10 across READMEs/CONTRIBUTING/eval comments, add tracking-map to the README skill tables, and bump package.json Include tracking-map in the ClawHub digest: add its placeholder and extend build-clawhub-bundle.js to ship the report template + references into the bundle (bundle version 1.4.0 -> 1.5.0); teach check-no-generated-edits.sh about the bundle's per-skill assets/ and refs. Add a CHANGELOG entry.
…ms they want the map: token -> GetTrack -> fill template -> present the file...no shipment analysis or narration.
🛡️ Validate✅ PASS
Covered: direct-edit guard, JSON manifests, token-leak + ClawScan scans, .mcp.json schema (Claude + Codex), OAuth reachability probe, plugin loaders (claude + codex), frontmatter, tool references vs catalog, agentskills.io spec, ClawHub publish dry-run, four-way version match, sync drift.
|
🎯 Skill-triggering eval✅ PASS 95.1% pass · 0.0% false-positive
🔁 5 prompt(s) needed a retry (single-run wobble), expand for prompts + responses✅
|
Problem
Support and logistics folks routinely want to see a package's journey, not just read a status line, e.g. when dissecting scan events to design webhook triggers. There was no skill for turning a tracking number into a visual route + timeline; the existing Tracking workflow only returns a plain status/details summary.
Approach
Adds a new
tracking-mapskill that turns a single tracking number into a self-contained, interactive HTML report: a MapLibre GL + OpenFreeMap route map plus a synchronized chronological event timeline (hover a leg for transit time, click a row for the raw event payload), with a plain-text timeline fallback for when the map can't load.GetTrackoperation. Ownership context comes from thetransactionfield already in the response; a deeperGetTransactionlookup is optional and only runs on user request, so it never blocks rendering.GetTrack→ fill template → present file), explicitly avoiding shipment analysis or narration.hermes_ukgotcha) live inreferences/.package.json1.5.0 → 1.6.0.Trade-offs
.htmlfile to open in a browser, not inline, partly because some desktop preview panes block the CDN and render blank. The plain-text timeline fallback covers the no-browser case.approx; only origin/destination are true anchors. This is labeled in the report rather than hidden.transactionfield alone — claiming it requires a confirmingGetTransactionlookup, which is left opt-in to avoid extra latency and a possible tracking fee on external numbers.Testing
npm testpasses locally (skill frontmatter validation, drift check, tool-reference check all green) and the syncedproviders/output is committed.tests/skill-triggering.jsoncases covering the map-vs-plain-details disambiguation, and registeredtracking-mapinSKILL_NAMES(scripts/eval-skill-triggering.js).Roll-back plan
Revert the PR. This is additive (a new skill + distribution wiring); reverting removes the skill, restores the skill count, and reverts the version/bundle bumps with no data migration.
Pre-flight checks
skills/), NOT derived files inproviders/(exception:providers/clawhub/skills/goshippo/SKILL.md.templateis the editable source for ClawHub digest framing)npm testlocally and committed the synced outputversioninpackage.json(1.5.0 → 1.6.0);npm testpropagated it into.claude-plugin/marketplace.jsonandproviders/claude/plugin/.claude-plugin/plugin.json(not hand-edited)providers/clawhub/skills/goshippo/SKILL.md.template; the digest regenerated vianpm testCHANGELOG.mdunder "Unreleased"tools/mcp-catalog.json; no API-key / test-mode contenttests/skill-triggering.jsoncases AND registered it inSKILL_NAMES(scripts/eval-skill-triggering.js)See CONTRIBUTING.md for the full discipline, and CODE_REVIEW.md for how changes are reviewed.