# Send Garmin Connect to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "garmin-connect",
    "name": "Garmin Connect",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/Rayleigh3105/garmin-connect",
    "canonicalUrl": "https://clawhub.ai/Rayleigh3105/garmin-connect",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/garmin-connect",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=garmin-connect",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "requirements.txt",
      "scripts/garmin-auth-oauth.py",
      "scripts/garmin-auth.py",
      "scripts/garmin-cron.sh"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/garmin-connect"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/garmin-connect",
    "downloadUrl": "https://openagent3.xyz/downloads/garmin-connect",
    "agentUrl": "https://openagent3.xyz/skills/garmin-connect/agent",
    "manifestUrl": "https://openagent3.xyz/skills/garmin-connect/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/garmin-connect/agent.md"
  }
}
```
## Documentation

### Garmin Connect Skill

Sync all your Garmin fitness data to Clawdbot:

🚶 Daily Activity: Steps, heart rate, calories, active minutes, distance
😴 Sleep: Duration, quality, deep/REM/light sleep breakdown
🏋️ Workouts: Recent activities with distance, duration, calories, heart rate
⏱️ Real-time sync: Every 5 minutes via cron

### 1. Install Dependencies

pip install -r requirements.txt

### 2. OAuth Authentication (One-time)

python3 scripts/garmin-auth.py your-email@gmail.com your-password

This saves your OAuth session to ~/.garth/session.json — fully local and secure.

### 3. Test Sync

python3 scripts/garmin-sync.py

You should see JSON output with today's stats.

### 4. Set Up 5-Minute Cron

Add to your crontab:

*/5 * * * * /home/user/garmin-connect-clawdbot/scripts/garmin-cron.sh

Or manually:

*/5 * * * * python3 /home/user/garmin-connect-clawdbot/scripts/garmin-sync.py ~/.clawdbot/.garmin-cache.json

### 5. Use in Clawdbot

Import and use in your scripts:

from scripts.garmin_formatter import format_all, get_as_dict

# Get all formatted data
print(format_all())

# Or get raw dict
data = get_as_dict()
print(f"Steps today: {data['summary']['steps']}")

### Features

✅ OAuth-based (secure, no password storage)
✅ All metrics: activity, sleep, workouts
✅ Local caching (fast access)
✅ Cron-friendly (5-minute intervals)
✅ Easy Clawdbot integration
✅ Multi-user support

### Daily Activity (summary)

steps: Daily step count
heart_rate_resting: Resting heart rate (bpm)
calories: Total calories burned
active_minutes: Intensity minutes
distance_km: Distance traveled

### Sleep (sleep)

duration_hours: Total sleep time
duration_minutes: Sleep in minutes
quality_percent: Sleep quality score (0-100)
deep_sleep_hours: Deep sleep duration
rem_sleep_hours: REM sleep duration
light_sleep_hours: Light sleep duration
awake_minutes: Time awake during sleep

### Workouts (workouts)

For each recent workout:

type: Activity type (Running, Cycling, etc.)
name: Activity name
distance_km: Distance traveled
duration_minutes: Duration of activity
calories: Calories burned
heart_rate_avg: Average heart rate
heart_rate_max: Max heart rate

### Cache Location

By default, data is cached at: ~/.clawdbot/.garmin-cache.json

Customize with:

python3 scripts/garmin-sync.py /custom/path/cache.json

### Files

FilePurposegarmin-auth.pyOAuth setup (run once)garmin-sync.pyMain sync logic (run every 5 min)garmin-formatter.pyFormat data for displaygarmin-cron.shCron wrapper scriptrequirements.txtPython dependencies

### OAuth authentication fails

Check email/password
Disable 2FA on Garmin account (or use app password)
Garmin servers might be rate-limiting — wait 5 minutes

### No data appears

Sync your Garmin device with the Garmin Connect app
Wait 2-3 minutes for data to sync
Check that data appears in Garmin Connect web/app
Then run garmin-sync.py again

### Permission denied on cron

chmod +x scripts/garmin-cron.sh
chmod +x scripts/garmin-sync.py
chmod +x scripts/garmin-auth.py

### Cache file not found

Run garmin-sync.py at least once to create cache:

python3 scripts/garmin-sync.py

### Usage Examples

from scripts.garmin_formatter import format_all, get_as_dict

# Get formatted output
print(format_all())

# Get raw data
data = get_as_dict()
if data:
    print(f"Sleep: {data['sleep']['duration_hours']}h")
    print(f"Steps: {data['summary']['steps']:,}")

### License

MIT — Use, fork, modify freely.

Made for Clawdbot | Available on ClawdHub
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Rayleigh3105
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-23T16:43:11.935Z
- Expires at: 2026-04-30T16:43:11.935Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/garmin-connect)
- [Send to Agent page](https://openagent3.xyz/skills/garmin-connect/agent)
- [JSON manifest](https://openagent3.xyz/skills/garmin-connect/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/garmin-connect/agent.md)
- [Download page](https://openagent3.xyz/downloads/garmin-connect)