{
  "schemaVersion": "1.0",
  "item": {
    "slug": "garmin-connect-cli",
    "name": "Garmin Connect CLI",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/bpauli/garmin-connect-cli",
    "canonicalUrl": "https://clawhub.ai/bpauli/garmin-connect-cli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/garmin-connect-cli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=garmin-connect-cli",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.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-cli"
    },
    "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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/garmin-connect-cli",
    "agentPageUrl": "https://openagent3.xyz/skills/garmin-connect-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/garmin-connect-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/garmin-connect-cli/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "gccli",
        "body": "Use gccli for Garmin Connect health, fitness, and activity data. Requires Garmin SSO authentication.\n\nSetup (once)\n\ngccli auth login you@example.com (opens browser for Garmin SSO)\nHeadless: gccli auth login you@example.com --headless (with --mfa-code <code> for MFA)\nSet default account: export GCCLI_ACCOUNT=you@example.com\nVerify: gccli auth status\n\nOutput\n\nDefault: human-friendly tables. Use --json / -j for JSON, --plain for TSV.\nData goes to stdout, messages/errors to stderr.\nAlways use --json when parsing output programmatically.\n\nDate shortcuts\n\ntoday, yesterday, 3d (N days ago), YYYY-MM-DD (specific date).\nUse --start/--end flags for date ranges.\n\nCommon commands\n\nAuth status: gccli auth status\nAuth token (for scripting): gccli auth token\nRemove credentials: gccli auth remove\nList activities: gccli activities list --limit 20\nList activities by type: gccli activities list --type running\nActivity count: gccli activities count\nSearch activities: gccli activities search --start-date 2024-01-01 --end-date 2024-12-31\nActivity summary: gccli activity summary <id>\nActivity details: gccli activity details <id>\nActivity splits: gccli activity splits <id>\nActivity weather: gccli activity weather <id>\nActivity HR zones: gccli activity hr-zones <id>\nActivity power zones: gccli activity power-zones <id>\nActivity exercise sets: gccli activity exercise-sets <id>\nActivity gear: gccli activity gear <id>\nDownload activity (FIT): gccli activity download <id> --format fit\nDownload activity (GPX): gccli activity download <id> --format gpx --output track.gpx\nUpload activity: gccli activity upload ./activity.fit\nCreate manual activity: gccli activity create --name \"Morning Run\" --type running --date 2024-06-15T07:30:00 --duration 1800 --distance 5000\nRename activity: gccli activity rename <id> \"New Name\"\nRetype activity: gccli activity retype <id> running\nDelete activity: gccli activity delete <id> --force\nHealth summary: gccli health summary [date]\nSteps chart: gccli health steps [date]\nDaily steps range: gccli health steps daily --start 2024-01-01 --end 2024-01-31\nWeekly steps: gccli health steps weekly --weeks 4\nHeart rate: gccli health hr [date]\nResting HR: gccli health rhr [date]\nFloors climbed: gccli health floors [date]\nSleep: gccli health sleep [date]\nRespiration: gccli health respiration [date]\nSpO2: gccli health spo2 [date]\nHRV: gccli health hrv [date]\nStress: gccli health stress [date]\nWeekly stress: gccli health stress weekly --weeks 4\nBody battery: gccli health body-battery [date]\nBody battery range: gccli health body-battery range --start 2024-01-01 --end 2024-01-07\nTraining readiness: gccli health training-readiness [date]\nTraining status: gccli health training-status [date]\nFitness age: gccli health fitness-age [date]\nVO2max / max metrics: gccli health max-metrics [date]\nLactate threshold: gccli health lactate-threshold\nCycling FTP: gccli health cycling-ftp\nRace predictions: gccli health race-predictions [date]\nRace predictions range: gccli health race-predictions range --start 2024-01-01 --end 2024-06-30\nEndurance score: gccli health endurance-score [date]\nHill score: gccli health hill-score [date]\nIntensity minutes: gccli health intensity-minutes [date]\nWeekly intensity minutes: gccli health intensity-minutes weekly --start 2024-01-01 --end 2024-01-31\nWellness events: gccli health events [date]\nBody composition: gccli body composition [date]\nBody composition range: gccli body composition --start 2024-01-01 --end 2024-01-31\nWeigh-ins: gccli body weigh-ins --start 2024-01-01 --end 2024-01-31\nAdd weight: gccli body add-weight 75.5 --unit kg\nAdd composition: gccli body add-composition 75.5 --body-fat 15.2 --muscle-mass 35.0\nBlood pressure: gccli body blood-pressure --start 2024-01-01 --end 2024-01-31\nAdd blood pressure: gccli body add-blood-pressure --systolic 120 --diastolic 80 --pulse 65\nList workouts: gccli workouts list --limit 20\nWorkout detail: gccli workouts detail <id>\nDownload workout (FIT): gccli workouts download <id> --output workout.fit\nUpload workout (JSON): gccli workouts upload ./workout.json\nSchedule workout: gccli workouts schedule add <id> 2024-06-20\nList scheduled workouts: gccli workouts schedule list 2024-06-20\nRemove scheduled workout: gccli workouts schedule remove <schedule-id> (use --force to skip confirmation)\nDelete workout: gccli workouts delete <id>\nCreate running workout with pace: gccli workouts create \"Easy Run\" --type run --step \"warmup:5m\" --step \"run:20m@pace:5:00-5:30\" --step \"cooldown:5m\"\nCreate workout with HR targets: gccli workouts create \"HR Run\" --type run --step \"warmup:10m\" --step \"run:20m@hr:140-160\" --step \"cooldown:10m\"\nCreate cycling workout with power: gccli workouts create \"FTP Intervals\" --type bike --step \"warmup:10m\" --step \"run:5m@power:250-280\" --step \"recovery:3m\" --step \"run:5m@power:250-280\" --step \"cooldown:10m\"\nList courses: gccli courses list\nFavorite courses: gccli courses favorites\nCourse detail: gccli courses detail <id>\nImport course from GPX (default: cycling, private): gccli courses import route.gpx\nImport course with name: gccli courses import route.gpx --name \"Sunday Ride\"\nImport course with type: gccli courses import route.gpx --type gravel_cycling\nImport public course: gccli courses import route.gpx --privacy 1\nSend course to device: gccli courses send <course-id> <device-id>\nDelete course: gccli courses delete <id> (use -f to skip confirmation)\nList devices: gccli devices list\nDevice settings: gccli devices settings <device-id>\nPrimary device: gccli devices primary\nLast used device: gccli devices last-used\nDevice alarms: gccli devices alarms\nSolar data: gccli devices solar <device-id> --start 2024-06-01 --end 2024-06-30\nList gear: gccli gear list\nGear stats: gccli gear stats <uuid>\nGear activities: gccli gear activities <uuid> --limit 20\nGear defaults: gccli gear defaults\nLink gear: gccli gear link <uuid> <activity-id>\nUnlink gear: gccli gear unlink <uuid> <activity-id>\nGoals: gccli goals list --status active\nEarned badges: gccli badges earned\nAvailable badges: gccli badges available\nIn-progress badges: gccli badges in-progress\nChallenges: gccli challenges list\nBadge challenges: gccli challenges badge\nPersonal records: gccli records\nProfile: gccli profile\nProfile settings: gccli profile settings\nHydration: gccli hydration [date]\nLog water: gccli hydration add 500\nTraining plans: gccli training plans --locale en\nTraining plan detail: gccli training plan <id>\nMenstrual cycle: gccli wellness menstrual-cycle --start-date 2024-01-01 --end-date 2024-03-31\nPregnancy summary: gccli wellness pregnancy-summary\nList events: gccli events list\nList events from date: gccli events list --start 2024-06-01 --limit 50\nAdd event: gccli events add --name \"Berlin Marathon\" --date 2026-09-27 --type running --race --location \"Berlin, Germany\" --distance 42.195km --time 09:15 --timezone Europe/Berlin\nAdd event with goal and training priority: gccli events add --name \"Spring 10K\" --date 2026-05-10 --type running --race --distance 10km --goal 40m --training\nDelete event: gccli events delete <id> (use -f to skip confirmation)\nReload data: gccli reload [date]\n\nNotes\n\nSet GCCLI_ACCOUNT=you@example.com to avoid repeating --account.\nFor scripting, use --json for JSON output or --plain for TSV.\nDates support today, yesterday, 3d, or YYYY-MM-DD.\nTokens are stored securely in the OS keyring (macOS Keychain, Linux Secret Service, file fallback).\nTokens auto-refresh on 401; automatic retry on 429/5xx with exponential backoff.\nFor Garmin China accounts: export GCCLI_DOMAIN=garmin.cn.\nConfirm before deleting activities/workouts (or use --force).\nDownload formats: FIT (default), GPX, TCX, KML, CSV.\nWorkout step format: type:duration[@target:low-high] — types: warmup, run, recovery, cooldown; targets: pace (min:sec), hr (bpm), power (watts), cadence."
      }
    ],
    "body": "gccli\n\nUse gccli for Garmin Connect health, fitness, and activity data. Requires Garmin SSO authentication.\n\nSetup (once)\n\ngccli auth login you@example.com (opens browser for Garmin SSO)\nHeadless: gccli auth login you@example.com --headless (with --mfa-code <code> for MFA)\nSet default account: export GCCLI_ACCOUNT=you@example.com\nVerify: gccli auth status\n\nOutput\n\nDefault: human-friendly tables. Use --json / -j for JSON, --plain for TSV.\nData goes to stdout, messages/errors to stderr.\nAlways use --json when parsing output programmatically.\n\nDate shortcuts\n\ntoday, yesterday, 3d (N days ago), YYYY-MM-DD (specific date).\nUse --start/--end flags for date ranges.\n\nCommon commands\n\nAuth status: gccli auth status\nAuth token (for scripting): gccli auth token\nRemove credentials: gccli auth remove\nList activities: gccli activities list --limit 20\nList activities by type: gccli activities list --type running\nActivity count: gccli activities count\nSearch activities: gccli activities search --start-date 2024-01-01 --end-date 2024-12-31\nActivity summary: gccli activity summary <id>\nActivity details: gccli activity details <id>\nActivity splits: gccli activity splits <id>\nActivity weather: gccli activity weather <id>\nActivity HR zones: gccli activity hr-zones <id>\nActivity power zones: gccli activity power-zones <id>\nActivity exercise sets: gccli activity exercise-sets <id>\nActivity gear: gccli activity gear <id>\nDownload activity (FIT): gccli activity download <id> --format fit\nDownload activity (GPX): gccli activity download <id> --format gpx --output track.gpx\nUpload activity: gccli activity upload ./activity.fit\nCreate manual activity: gccli activity create --name \"Morning Run\" --type running --date 2024-06-15T07:30:00 --duration 1800 --distance 5000\nRename activity: gccli activity rename <id> \"New Name\"\nRetype activity: gccli activity retype <id> running\nDelete activity: gccli activity delete <id> --force\nHealth summary: gccli health summary [date]\nSteps chart: gccli health steps [date]\nDaily steps range: gccli health steps daily --start 2024-01-01 --end 2024-01-31\nWeekly steps: gccli health steps weekly --weeks 4\nHeart rate: gccli health hr [date]\nResting HR: gccli health rhr [date]\nFloors climbed: gccli health floors [date]\nSleep: gccli health sleep [date]\nRespiration: gccli health respiration [date]\nSpO2: gccli health spo2 [date]\nHRV: gccli health hrv [date]\nStress: gccli health stress [date]\nWeekly stress: gccli health stress weekly --weeks 4\nBody battery: gccli health body-battery [date]\nBody battery range: gccli health body-battery range --start 2024-01-01 --end 2024-01-07\nTraining readiness: gccli health training-readiness [date]\nTraining status: gccli health training-status [date]\nFitness age: gccli health fitness-age [date]\nVO2max / max metrics: gccli health max-metrics [date]\nLactate threshold: gccli health lactate-threshold\nCycling FTP: gccli health cycling-ftp\nRace predictions: gccli health race-predictions [date]\nRace predictions range: gccli health race-predictions range --start 2024-01-01 --end 2024-06-30\nEndurance score: gccli health endurance-score [date]\nHill score: gccli health hill-score [date]\nIntensity minutes: gccli health intensity-minutes [date]\nWeekly intensity minutes: gccli health intensity-minutes weekly --start 2024-01-01 --end 2024-01-31\nWellness events: gccli health events [date]\nBody composition: gccli body composition [date]\nBody composition range: gccli body composition --start 2024-01-01 --end 2024-01-31\nWeigh-ins: gccli body weigh-ins --start 2024-01-01 --end 2024-01-31\nAdd weight: gccli body add-weight 75.5 --unit kg\nAdd composition: gccli body add-composition 75.5 --body-fat 15.2 --muscle-mass 35.0\nBlood pressure: gccli body blood-pressure --start 2024-01-01 --end 2024-01-31\nAdd blood pressure: gccli body add-blood-pressure --systolic 120 --diastolic 80 --pulse 65\nList workouts: gccli workouts list --limit 20\nWorkout detail: gccli workouts detail <id>\nDownload workout (FIT): gccli workouts download <id> --output workout.fit\nUpload workout (JSON): gccli workouts upload ./workout.json\nSchedule workout: gccli workouts schedule add <id> 2024-06-20\nList scheduled workouts: gccli workouts schedule list 2024-06-20\nRemove scheduled workout: gccli workouts schedule remove <schedule-id> (use --force to skip confirmation)\nDelete workout: gccli workouts delete <id>\nCreate running workout with pace: gccli workouts create \"Easy Run\" --type run --step \"warmup:5m\" --step \"run:20m@pace:5:00-5:30\" --step \"cooldown:5m\"\nCreate workout with HR targets: gccli workouts create \"HR Run\" --type run --step \"warmup:10m\" --step \"run:20m@hr:140-160\" --step \"cooldown:10m\"\nCreate cycling workout with power: gccli workouts create \"FTP Intervals\" --type bike --step \"warmup:10m\" --step \"run:5m@power:250-280\" --step \"recovery:3m\" --step \"run:5m@power:250-280\" --step \"cooldown:10m\"\nList courses: gccli courses list\nFavorite courses: gccli courses favorites\nCourse detail: gccli courses detail <id>\nImport course from GPX (default: cycling, private): gccli courses import route.gpx\nImport course with name: gccli courses import route.gpx --name \"Sunday Ride\"\nImport course with type: gccli courses import route.gpx --type gravel_cycling\nImport public course: gccli courses import route.gpx --privacy 1\nSend course to device: gccli courses send <course-id> <device-id>\nDelete course: gccli courses delete <id> (use -f to skip confirmation)\nList devices: gccli devices list\nDevice settings: gccli devices settings <device-id>\nPrimary device: gccli devices primary\nLast used device: gccli devices last-used\nDevice alarms: gccli devices alarms\nSolar data: gccli devices solar <device-id> --start 2024-06-01 --end 2024-06-30\nList gear: gccli gear list\nGear stats: gccli gear stats <uuid>\nGear activities: gccli gear activities <uuid> --limit 20\nGear defaults: gccli gear defaults\nLink gear: gccli gear link <uuid> <activity-id>\nUnlink gear: gccli gear unlink <uuid> <activity-id>\nGoals: gccli goals list --status active\nEarned badges: gccli badges earned\nAvailable badges: gccli badges available\nIn-progress badges: gccli badges in-progress\nChallenges: gccli challenges list\nBadge challenges: gccli challenges badge\nPersonal records: gccli records\nProfile: gccli profile\nProfile settings: gccli profile settings\nHydration: gccli hydration [date]\nLog water: gccli hydration add 500\nTraining plans: gccli training plans --locale en\nTraining plan detail: gccli training plan <id>\nMenstrual cycle: gccli wellness menstrual-cycle --start-date 2024-01-01 --end-date 2024-03-31\nPregnancy summary: gccli wellness pregnancy-summary\nList events: gccli events list\nList events from date: gccli events list --start 2024-06-01 --limit 50\nAdd event: gccli events add --name \"Berlin Marathon\" --date 2026-09-27 --type running --race --location \"Berlin, Germany\" --distance 42.195km --time 09:15 --timezone Europe/Berlin\nAdd event with goal and training priority: gccli events add --name \"Spring 10K\" --date 2026-05-10 --type running --race --distance 10km --goal 40m --training\nDelete event: gccli events delete <id> (use -f to skip confirmation)\nReload data: gccli reload [date]\n\nNotes\n\nSet GCCLI_ACCOUNT=you@example.com to avoid repeating --account.\nFor scripting, use --json for JSON output or --plain for TSV.\nDates support today, yesterday, 3d, or YYYY-MM-DD.\nTokens are stored securely in the OS keyring (macOS Keychain, Linux Secret Service, file fallback).\nTokens auto-refresh on 401; automatic retry on 429/5xx with exponential backoff.\nFor Garmin China accounts: export GCCLI_DOMAIN=garmin.cn.\nConfirm before deleting activities/workouts (or use --force).\nDownload formats: FIT (default), GPX, TCX, KML, CSV.\nWorkout step format: type:duration[@target:low-high] — types: warmup, run, recovery, cooldown; targets: pace (min:sec), hr (bpm), power (watts), cadence."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/bpauli/garmin-connect-cli",
    "publisherUrl": "https://clawhub.ai/bpauli/garmin-connect-cli",
    "owner": "bpauli",
    "version": "1.3.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/garmin-connect-cli",
    "downloadUrl": "https://openagent3.xyz/downloads/garmin-connect-cli",
    "agentUrl": "https://openagent3.xyz/skills/garmin-connect-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/garmin-connect-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/garmin-connect-cli/agent.md"
  }
}