Back to skill
Skillv1.0.0

ClawScan security

WHOOP Lab · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

BenignMar 4, 2026, 11:04 PM
Verdict
benign
Confidence
high
Model
gpt-5-mini
Summary
The skill's code, instructions, and required binaries align with its stated purpose (fetching WHOOP data, charting it, running experiments, and optionally logging to Obsidian); it stores OAuth tokens locally and may write/commit to your vault, so review those behaviors before use.
Guidance
This skill appears to be internally consistent with its WHOOP-focused purpose, but review these practical points before installing: 1) You must create a WHOOP Developer App and enter its client_id/client_secret interactively; those tokens (access + refresh) are stored at ~/.config/whoop-skill/credentials.json (file is set to 600 permissions by the script). 2) The auth flow can open a local HTTP server (localhost:8888) to capture the OAuth callback — if you run this on a remote/cloud host, prefer the manual code-paste option so nothing listens on a public port. 3) log_to_obsidian.py will write to and may commit/push your Obsidian vault if it's a git repo; verify vault_path in config and confirm you want those files committed/pushed to your remote. 4) The only network endpoints contacted are api.prod.whoop.com and the Chart.js CDN; if you require a stricter network policy, audit the scripts and run in a network-restricted environment first. 5) Source is listed as unknown — if you do not trust the bundle, inspect the scripts (they are plaintext Python) or run them in an isolated environment. 6) Test with dry-run modes (log_to_obsidian.py --dry-run) and review created files before enabling automated or agent-driven runs. If you want additional assurance, ask for a short checklist of the key files/lines to inspect and I can point to the exact places to verify (e.g., where tokens are saved, where git commands are invoked).

Review Dimensions

Purpose & Capability
okName/description match the included scripts: auth (OAuth), fetch (WHOOP API), refresh_token, charting, experiment tracking, and Obsidian logging. Required binaries (python3, git) are justified (python3 to run scripts, git used only for optional vault sync). No unrelated credentials or external services are requested.
Instruction Scope
noteSKILL.md and the scripts operate within the described scope: they instruct creating a WHOOP Developer App, running auth.py to obtain OAuth tokens, fetching WHOOP endpoints, generating Chart.js HTML (via CDN), and optionally writing to an Obsidian vault. Important behaviors to note: the auth flow can spin up a local HTTP server to capture the OAuth callback (or use manual paste), credentials are saved to ~/.config/whoop-skill/credentials.json, and log_to_obsidian.py will create/append markdown files in your vault and can run git pull/add/commit/push. All of these are consistent with the skill's purpose but are file- and network-affecting actions you should expect.
Install Mechanism
okNo opaque or remote install spec; SKILL.md asks the user to pip install -r requirements.txt (requests only). No downloads from untrusted URLs or archive extraction are present in the files provided.
Credentials
okThe skill does not require environment variables or other unrelated credentials. It optionally respects WHOOP_EXPERIMENTS_FILE (to override experiments.json). OAuth client ID/secret are collected interactively and stored locally — appropriate for this integration. The only external endpoints contacted are the WHOOP API and Chart.js CDN (cdn.jsdelivr.net).
Persistence & Privilege
noteThe skill writes persistent data to ~/.config/whoop-skill/ (credentials.json, experiments.json, config.json) and writes/updates files inside your configured Obsidian vault; it will attempt git pull/commit/push if the vault is a git repo. always:false and no global config modification — privileges are limited to the skill's own config directory and the user-specified vault, which is coherent but important to be aware of.