SKILLEMALL.ai

BB strava-training-coach

AI running coach that prevents injuries by monitoring your Strava training load daily. Detects dangerous mileage spikes, intensity imbalances, and recovery gaps using evidence-based sports science (80/20 rule, acute:chronic workload ratio), then sends smart alerts to Discord or Slack before problems become injuries. Use when: - "Am I overtraining?" — Analyze weekly mileage and intensity for injury risk - "Check my training load" — Run a daily analysis of your Strava activities - "Send me a training report" — Generate a weekly summary with 4-week trends - "Is my running mileage safe?" — Calculate acute:chronic workload ratio (ACWR) - "Set up automated training alerts" — Schedule daily checks via cron - Monitoring heart rate to ensure easy days are actually easy (80/20 compliance) - Tracking recovery gaps and consistency streaks - Optional Oura ring integration for sleep and readiness scores Unlike basic Strava data skills, this coach actively monitors your patterns daily and alerts you before problems become injuries — backed by research from Seiler (2010), Gabbett (2016), and Stoggl & Sperlich (2014). Security: No hardcoded secrets, input validation, log redaction, webhook URL validation, secure token storage (XDG, 0600 permissions), rate limiting, 30s request timeouts.

ClawHub Agent Skills author: Heqing v1.0.3 6 files body ≈ 1 612 tokens Open the sourceclawhub.ai analyzed 3 d ago

As a process B 68/100 · Nearly there — weak spots: result and completion, when it triggers

IntegrationSlackDiscordInfrastructuretype and topics are labelled automatically from the skill text
JSON
Technical rating
B
86/100
safety, quality, tests
Safety 60%
98
Quality 40%
67
Run on models
none yet
Process rating
B
68/100
Nearly there
Result and completion w 14
0
When it triggers w 12
20
Failures and branches w 10
50
the three weakest of ten parameters · all ten

How to improve

  1. Shorten the description to 1024 characters.
For the model run — optional
  • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
  • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

Guard findings · 2

✓ No critical or high findings

Medium and low: 2
  • low Exfiltration exfil-webhook-url SKILL.md:69
    Webhook / callback URL commonly used for exfiltration (verify the destination) (placeholder value)
    export DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
    placeholder
  • low Exfiltration exfil-webhook-url SKILL.md:75
    Webhook / callback URL commonly used for exfiltration (verify the destination) (placeholder value)
    export SLACK_WEBHOOK_URL=https://hooks.slack.com/...
    placeholder

Files scanned: 6. Evidence is masked. Grey chips explain why severity was lowered.

Against the Agent Skills spec

  • error description-long description is 1294 chars, limit 1024
  • note frontmatter-key unknown frontmatter key "homepage"

Process rating: all ten parameters 68/100

  • 0Result and completion. Does not say what the result is
  • 20When it triggers. No condition that starts the skill
  • 50Failures and branches. 0 branches, has a failure section
  • 70Inputs and preconditions. Inputs and preconditions are listed
  • 100Tools and files. No external tools needed
  • 100Steps. 43 steps
  • 100Consistency. Name and required fields are in place
  • 100Execution cost. Instruction body is 1612 tokens
  • 100Running it twice. No mutating operations
  • 100Progress reporting. Reports progress
  • medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing
  • low 10 top-level sections: this looks like several domains in one skill

Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

Quality signals

  • +4Description does not say when NOT to use the skill (false activations)
  • +3Description length 1293: 120–800 characters recommended
  • +3Output format is not stated: the model decides each time
  • +1No license
  • +2Single-language instructions
  • +5Description quotes 5 example trigger phrases
  • +4Structure: 22 headings
  • +3Step-by-step instructions: 43 items
  • +4Has examples (7 code blocks)
  • +4Reference files are cited in the instructions (1 of 1)
  • +3All 3 scripts are documented

Quality base 70; lint remarks subtract, signals add up to 100. Result: 67.

External checks

ClawHub: clean
This skill coherently supports Strava-based training checks with disclosed local token storage, optional Oura data, and user-configured Slack or Discord alerts.
LLM: benign (high) · VirusTotal: benign · 28 May 2026