Back to skill
Skillv1.0.0

ClawScan security

Garmin Trail Running Roadmap & Training Plan · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

ReviewMar 16, 2026, 4:02 AM
Verdict
Review
Confidence
high
Model
gpt-5-mini
Summary
The skill's code mostly matches its description (fetch Garmin data, generate roadbooks, sync calendar) but the package metadata omits required credentials/dependencies and the code writes persistent tokens and runs macOS calendar commands — review before installing or providing credentials.
Guidance
This skill appears to implement what it advertises, but the registry metadata is incomplete. Before installing or running: (1) Review the code yourself or only run in a disposable environment; (2) Be aware you must supply Garmin credentials (via env vars, CLI, or config.json) even though metadata says none — the scripts store tokens under ~/.clawdbot/garmin; treat that folder as sensitive and delete it if you revoke access; (3) Install required Python packages (garminconnect, fitparse, gpxpy) from PyPI and validate versions; (4) macOS calendar sync uses osascript and will create events — ensure you trust the generated AppleScript and permit calendar access intentionally; (5) If you prefer not to hand over your password, consider creating a dedicated Garmin account or revocable credentials and verify token handling (tokens are not persisted to a remote server in this bundle); and (6) Ask the publisher why required env vars and dependencies were omitted from the registry metadata — that mismatch is the main reason this is rated 'suspicious'.

Review Dimensions

Purpose & Capability
noteThe skill's code (garmin_auth, garmin_query, activity parsers, calendar sync) aligns with the stated purpose of reading Garmin data, producing analysis, and syncing calendar events. However the registry metadata claims no required env vars/credentials while the implementation requires a Garmin account (email/password or saved tokens) and optional GARMIN_* env vars — a metadata mismatch.
Instruction Scope
okSKILL.md and the scripts instruct the agent to read a local config.json or environment variables, call the garminconnect-based client, parse GPX/FIT files, generate HTML, and (on macOS) call osascript to write calendar events. All actions stay within the advertised functionality and do not appear to collect unrelated system data.
Install Mechanism
noteThis is an instruction-only skill (no install spec). The code depends on third‑party Python packages (garminconnect, fitparse, gpxpy, etc.) but these dependencies are not declared in the registry metadata or an install step — the user must install them manually. No remote download URLs or archive extraction are present in the skill bundle itself.
Credentials
concernThe implementation requires or supports Garmin credentials (email/password or tokenstore) and stores persistent tokens under ~/.clawdbot/garmin; it may also read env vars GARMIN_EMAIL, GARMIN_PASSWORD, GARMIN_IS_CN and writes a config.json to the skill root. The registry metadata lists no required env vars or primary credential — the omission is a meaningful inconsistency that users should be aware of before providing credentials.
Persistence & Privilege
noteThe skill creates persistent state: a token store directory (~/.clawdbot/garmin) and a config.json in the skill directory. It does not request always:true and does not modify other skills, but stored tokens allow future API access without re-entering the password — treat the token store like credentials and plan for secure cleanup on uninstall.