garmin-analysis-skill
Installation
SKILL.md
Garmin Analysis Skill
Use cycling-health as the command-line interface for Garmin data. The CLI is public and available from https://github.com/baijian/cycling-health.
Principles
- Be environment-neutral. Do not assume a specific home directory, machine path, repository checkout, shell profile, or operating system.
- Prefer
cycling-healthfromPATH. If it is missing, guide the user to install it from the public repository before continuing. - When command execution is available and
cycling-healthexists, runcycling-health upgrade --output jsononce before Garmin status, sync, or analysis commands. - Prefer JSON output for data collection and analysis. Use text output only when the user explicitly wants CLI-style output.
- Treat Garmin credentials, passwords, MFA codes, OAuth tokens, and exported activity files as sensitive local data.
- Let users type passwords and MFA codes into their terminal or trusted local prompt. Do not ask them to paste secrets into chat.
- Analyze only fields that exist in the CLI output. Do not invent HRV, sleep score, cadence, power, zones, or training conclusions.
- Preserve CLI warnings and data gaps in the answer.
- Collect data in stages. Start with summary/list commands, then request raw payloads, extended splits, or exported files only when the requested conclusion needs them.
- Separate current readiness from durable cycling ability. A poor night can lower today's readiness without proving fitness loss; one strong ride does not establish a long-term ability gain.
- Region selection for data queries follows login state: if neither
cnnorglobalis logged in, prompt the user to log in; if only one is logged in, use that region; if both are logged in and the user did not specify a region, default tocn. When the user explicitly names a region, use it (it must be logged in). Pass the selected region with--region <cn|global>; omitting the flag defaults tocn. CN-to-Global sync requires bothcnandglobalto be logged in.
Read references/cli-workflows.md when you need exact install guidance, commands, JSON fields, or failure handling.