Agent skill · mvanhorn

pp-garmin

Your whole Garmin history in a local database, not one 28-day page at a time. Trigger phrases: `how did I sleep this month`, `sleep trend for the last 90 days`, `training load and time in heart rate zones`, `vo2 max trend`, `fill the garmin archive`, `use garmin connect`, `run garmin`.

What it needs

About 12k tokens when loaded.

What this skill does

Garmin Connect — Printing Press CLI Prerequisites: Install the CLI This skill drives the garmin-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first: 1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows: 2. Verify: garmin-pp-cli --version 3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill. If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead: If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds. Garmin Connect caps every daily-stats request at 28 calendar days and issues no personal API token, which is why its ecosystem is a handful of Python libraries rather than a tool an agent can call. history walks the whole account into a local SQLite archive, oldest day first, and insights sleep and insights training answer months-long sleep, training-load and heart-rate-zone questions from that archive with JSON on stdout. auth login keeps each household account in its own home and refuses to store a token that belongs to somebody else. When to Use This CLI Reach for this CLI for questions about the owner's own Garmin Connect history: sleep and training trends, VO2 max, resting heart rate, step and intensity-minute totals, heart-rate zones, and the activity feed. It earns its keep on questions that span weeks or years, because those are answered from the local archive instead of from Garmin's 28-day pages. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills mvanhorn/garmin

View the source on GitHub

Browse the @skills marketplace