WHOOP Morning

ReviewAudited by ClawScan on May 10, 2026.

Overview

The WHOOP purpose is plausible, but the skill asks for persistent OAuth access and tells users to run credential-handling helper commands that are not included in the reviewed files.

Review before installing. Verify the missing whoop-auth and whoop-morning scripts from a trusted source, limit WHOOP OAuth scopes to what the report actually needs, protect token files, and schedule the daily output only to a private channel.

Findings (4)

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.

What this means

A user would be asked to run unreviewed or missing code for the most sensitive parts of the workflow.

Why it was flagged

SKILL.md instructs users to run helper executables, but the provided file manifest contains only SKILL.md and lib/tokens.js. The code that exchanges OAuth credentials and generates the report is therefore not reviewable in the supplied artifacts.

Skill content
/home/claw/clawd/skills/whoop-morning/bin/whoop-auth ... /home/claw/clawd/skills/whoop-morning/bin/whoop-morning
Recommendation

Do not run the helper commands until the package includes the referenced bin files or their trusted source is independently verified.

What this means

The skill could maintain ongoing access to sensitive WHOOP account and wellness data if the refresh token is available.

Why it was flagged

The skill requests persistent OAuth access to WHOOP health and profile data. This is related to the integration, but the profile scope and persistent refresh-token authority are broader than the stated recovery/sleep/strain summary and are not reflected in the registry credential metadata.

Skill content
requiredEnv: WHOOP_CLIENT_ID ... WHOOP_CLIENT_SECRET ... WHOOP_REFRESH_TOKEN ... --scopes offline read:recovery read:sleep read:cycles read:profile
Recommendation

Use the minimum WHOOP scopes needed, confirm profile access is necessary, and ensure the registry metadata clearly declares the required credentials.

What this means

Local users or processes with access to that cache file may be able to read stored WHOOP tokens depending on system permissions.

Why it was flagged

The included helper persists OAuth token material in a home-directory cache. That is expected for refreshable API access, but the reviewed code does not show explicit file-permission hardening.

Skill content
const CACHE_DIR = `${process.env.HOME || '/home/claw'}/.cache/whoop-morning`; ... fs.writeFileSync(TOKENS_PATH, JSON.stringify(tokens, null, 2)
Recommendation

Store token files with restrictive permissions, such as owner-only read/write, and avoid shared accounts or directories.

What this means

Sensitive wellness information could be sent to the wrong place if the cron destination is misconfigured.

Why it was flagged

The automated output may contain WHOOP health metrics and daily suggestions sent through a Gateway/message path. This is disclosed and purpose-aligned, but the recipient/channel boundaries are not specified.

Skill content
Recommended: schedule with Gateway cron (daily, morning). The cron job should run `whoop-morning` and send its output as a message.
Recommendation

Schedule the report only to a private destination and confirm who can see Gateway messages.