Index of every page on this site: llms.txt
All skills
tristanmanchester avatar

/tracking-pettracer-location

@3323bc9
Run it yourself

Retrieve and interpret an authorised owner's PetTracer collar inventory, latest known GPS fix, or bounded location history. Use for explicit PetTracer work, not generic pet questions or tracking a person. Distinguish measurement time, contact time, missing data, and stale fixes.

Use this Skill: https://skilld.dev/gh/tristanmanchester/agent-skills/tracking-pettracer-location

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

referencesPORTAL.md

≈917 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Unofficial portal contract and streaming boundary

The endpoint/field evidence below comes from the inspected repository implementation, not a current public PetTracer developer specification. Review date 2026-09-13. The official product/help sites were searched; no supported replacement CLI/API was established. This is not proof no private partner API exists.

Bounded snapshot/history helper

The inherited portal origin is https://portal.pettracer.com/api:

  • POST /user/login with login/password; accept only the expected access_token.
  • GET /map/getccs returns an account device array.
  • POST /map/getccpositions with devId, filterTime, toTime returns history; timestamps in the request are epoch milliseconds.

These are the helper's only operations. History uses POST for a read; no device configuration, delete, mode-change, or arbitrary raw-request operation is exposed. The credential-bearing origin is fixed, redirects refused, bodies bounded, and errors omit raw server bodies. If the vendor changes hosts/auth, deliberately review the new contract; do not solve it by sending credentials to a caller-supplied URL.

An explicit selected ID must occur exactly once in the account inventory. Observed type1 is a HomeStation, type0 a collar. Missing type is surfaced as unverified; unknown types fail. Verify identity in the official UI before relying on it. The helper never substitutes top-level HomeStation coordinates for a missing lastPos.

Only timezone-aware timeMeasure establishes measurement time. timeDb is retained separately. Unknown/future measurement timestamps do not pass freshness. Latitude and longitude must be finite and in geographic range; quality metadata must not be converted to metres, percent, or confidence without a verified vendor contract.

Live protocol investigation

The old implementation records a SockJS/STOMP endpoint rooted at wss://pt.pettracer.com/sc, with server/session path segments and a token in the query string. It sends STOMP CONNECT after SockJS open, waits for CONNECTED, subscribes to /user/queue/messages and /user/queue/portal, then sends deviceIds to /app/subscribe. These are inherited observations, not a freshly verified protocol or an endorsement to connect without account authorisation.

A new live implementation must verify that handshake against the authorised current portal, keep query tokens out of logs/traces, validate the TLS origin and selected account device IDs, and bound session duration, frame sizes, reconnect attempts, and backoff. Parse complete SockJS and STOMP frames, including content-length, heartbeat, error, disconnect, and partial-message behaviour. Check device identity for every update, not just at subscription time.

Use actual measurement timestamps to reject stale regressions; receive time is not fix time. Preserve unknown updates without guessing a location shape. Close subscriptions, sockets, and clients on timeout/cancellation. Reconnecting must not implicitly enable live search or increase the collar's GPS rate. Test loss/reorder, expired tokens, wrong device, no-new-fix, and teardown before claiming live support. Until that integration is verified, use the maintained official app for live search.

Scope of verification

The bundled tests establish local data/transport rules only. They do not establish live login success, subscription entitlement, vendor field units, GPS accuracy, history completeness, radio coverage, or mode/battery behaviour. A fresh retrieval is evidence of a retrieved record, not a new satellite measurement.

Official user-facing entry points:

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

1 alert1mo5 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill enables tracking of PetTracer GPS collars by interfacing with their web portal API. It provides tools for fetching current location, location history, and live updates via WebSocket. The skill handles authentication securely through environment variables and focuses on providing structured location data for the agent to process. The low verdict reflects the inherent surface for indirect prompt injection from the external API.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

  • Runlayer7mo

    4/8 files flagged

  • ZeroLeaks6mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 3323bc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Steadyupdated last month
metadata
{
  "version": "1.0.0",
  "reviewed": "2026-09-13"
}
Other metadata
compatibility
Optional Python 3.10+ standard-library helper uses the unofficial PetTracer portal protocol. It requires authorised credentials for live reads; vendor API stability and current field semantics are not guaranteed.

README badge

README badge for tristanmanchester/agent-skills/tracking-pettracer-location