Back to skill
v1.0.0

Garmin Connect

ReviewClawScan verdict for this skill. Analyzed May 1, 2026, 4:55 AM.

Analysis

The skill mostly matches Garmin syncing, but it handles Garmin credentials and sensitive health data with unsafe 2FA guidance and extra background/log storage that should be reviewed before installation.

GuidanceInstall only if you are comfortable granting Garmin account access and storing health data locally. Avoid disabling 2FA, avoid entering a real password directly on the command line if possible, protect `~/.garth/session.json` and the Garmin cache, edit or remove the `/tmp` logging in the cron wrapper, and know how to remove the cron entry to stop background syncing.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

Abnormal behavior control

Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.

Human-Agent Trust Exploitation
SeverityMediumConfidenceHighStatusConcern
SKILL.md
This saves your OAuth session to `~/.garth/session.json` — fully local and secure. ... Disable 2FA on Garmin account (or use app password)

The wording overstates the safety of a reusable token file and recommends weakening account protection by disabling 2FA.

User impactA user may underestimate the sensitivity of the token file or reduce Garmin account security to make the skill work.
RecommendationDo not disable 2FA unless you fully accept the account risk; prefer app passwords or supported OAuth flows, and treat the session file as a sensitive credential.
Rogue Agents
SeverityLowConfidenceHighStatusNote
SKILL.md
⏱️ **Real-time sync**: Every 5 minutes via cron ... */5 * * * * python3 /home/user/garmin-connect-clawdbot/scripts/garmin-sync.py ~/.clawdbot/.garmin-cache.json

The skill explicitly asks the user to configure recurring background sync every five minutes.

User impactThe integration will keep contacting Garmin and updating local files until the crontab entry is removed.
RecommendationOnly add the cron job if you want continuous sync, and keep a record of the crontab line so you can remove it later.
Agentic Supply Chain Vulnerabilities
SeverityLowConfidenceHighStatusNote
scripts/garmin-auth-oauth.py
client.load("/home/mamotec/.garth/session.json") ... garth auth moritz.vogt@vogges.de

An included OAuth helper contains developer-specific paths and account text, which indicates packaging/provenance quality issues even though it is not the main documented flow.

User impactRunning helper scripts unedited may fail, use the wrong local paths, or create account confusion.
RecommendationUse the documented `garmin-auth.py` flow only after review, remove or update hardcoded helper paths, and verify dependencies in a virtual environment.
Permission boundary

Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.

Identity and Privilege Abuse
SeverityMediumConfidenceHighStatusConcern
SKILL.md
python3 scripts/garmin-auth.py your-email@gmail.com your-password ... This saves your OAuth session to `~/.garth/session.json`

The skill requires Garmin account credentials and creates a reusable local OAuth session token, despite the registry metadata declaring no primary credential.

User impactThe skill can access Garmin account health data; a copied session file could reuse that access, and entering a password as a command-line argument can expose it through shell or process history.
RecommendationUse an app-specific or browser-based OAuth flow where possible, avoid putting a real password on the command line, protect `~/.garth/session.json`, and revoke the Garmin session if uninstalling.
Sensitive data protection

Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.

Memory and Context Poisoning
SeverityMediumConfidenceHighStatusConcern
scripts/garmin-cron.sh
timeout 30 python3 scripts/garmin-sync.py > /tmp/garmin-sync.log 2>&1

The cron wrapper writes sync output to a predictable `/tmp` log; the sync script outputs JSON health data, so this creates an extra sensitive-data copy outside the documented cache path.

User impactSteps, sleep, workout, heart-rate, and calorie data may be left in an additional local temp log beyond the intended cache.
RecommendationEdit the cron wrapper to suppress sensitive stdout or write logs only to a protected user-owned directory, and delete any existing `/tmp/garmin-sync.log` if not needed.