
Estimate the user's current FTP (Functional Threshold Power) from their recent cycling activities. Use when the user asks "what's my FTP", "FTP estimate", "threshold power".
Build the user's mean-max power curve from cycling activities with watts. Use when the user asks for "my power curve", "best 5 minutes", "best 20 min", "MMP", "what's my critical power".
Show swim volume per week and per month, plus session count. Use when the user asks "how much do I swim", "swim volume", "metres in the pool".
Compute and store a complete physiological profile snapshot, track metric evolution, and alert on significant changes. Use when the user asks to update their profile, refresh metrics, check how metrics have changed, or asks about their physiological state.
Measure how consistent the user is with training: streaks, days per week, variability of weekly volume. Use when the user asks about consistency, streaks, frequency, "am I regular".
Show cumulative mileage on each piece of gear (shoes, bikes). Use when the user asks how many km their shoes / bike have, gear status, when to retire.
Set, list and track training goals (distance/time/elevation per week, month or year, optionally per sport). Use when the user mentions goals, targets, yearly distance, monthly km, "voy a llegar a".
Group repeats of the same route by polyline similarity and show pace progression on each. Use when the user asks "same route", "matched runs", "have I improved on this loop".
Audit and refresh the project's memory bank. Cross-references each user/project memory entry for age, vagueness, and data leaks. Detects stale opinions, missing topics, and entries that need user confirmation. Runs HITL clarification with the user to keep memory fresh. Use at the start of each new session AND whenever the user asks to review memory, refresh what you know about them, or update the memory bank.
Detect overtraining risk via ACWR, monotony and strain. Use when the user asks "am I overtraining", "should I back off", "is my load too high".
Generate a personal heatmap of every place the user has trained, from activity polylines. Use when the user asks for a heatmap, "where have I ridden", "show me my routes on a map".
Check whether the user follows the 80/20 polarized training principle — most time at easy intensity, a small slice hard, very little moderate. Use when the user asks "am I 80/20", "polarized", "training distribution".
Tell the user whether they should train hard, train easy, or rest today, based on their current TSB, ACWR and recent load. Use when the user asks "can I train hard today", "am I ready", "should I rest".
Climbing analysis for cyclists: VAM (vertical meters per hour), W/kg on climbs, hardest climbs in the period. Use when the user asks "how do I climb", "my climbs", "VAM", "watts per kilo".
Compute power-based TSS for each ride and show the cycling-specific load history. Use when the user asks "TSS for my rides", "intensity factor", "normalized power per ride".
Show the user's running cadence trend and stride length progression. Use when the user asks about cadence, form, stride length, "am I running more efficiently".
Compute aerobic decoupling (Pa:Hr) on long runs to assess aerobic base quality. Use when the user asks "is my aerobic base solid", "am I drifting", "decoupling", "cardiac drift".
Compute the user's pace zones (Z1-Z5) from threshold pace, and show how their recent runs distribute across them. Use when the user asks for their easy pace, threshold pace, marathon pace, "pace zones", "rhythm zones".
Track personal records over standard distances (400m, 1k, 1mi, 5k, 10k, 15k, HM, M) and flag PRs that have gone stale. Use when the user asks "my PRs", "personal records", "best times", "have I improved at 10k".
Predict race times for 5k / 10k / half marathon / marathon from the user's recent best efforts. Use when the user asks "for what time am I ready", "race predictor", "when can I run a sub-X".
Query Strava and propose training sessions. Use when the user wants to see their recent activities, global Strava statistics, or receive training proposals based on their history.
Step-by-step setup wizard for strava-coach. Checks prerequisites, installs dependencies, guides through Strava app registration and OAuth authorization. Run this once before using /strava-coach.
Pull data from Strava into the local SQLite cache. Three levels: summary (fast, just activity list), details (per-activity full payload — unlocks best_efforts, splits, weighted_average_watts), and streams (per-second time series — unlocks NP, TSS, decoupling, power curve). Use when the user asks to sync, update, refresh, "pull my latest activities", or when another skill complains "Sync first".
Estimate Critical Swim Speed (CSS) from a 400m / 200m time-trial pair, and derive training pace targets. Use when the user asks about CSS, swim threshold, target pace per 100m.
Compute SWOLF (swimming efficiency = stroke time + stroke count per length) and show the trend over recent swims. Use when the user asks about SWOLF, swim efficiency, "am I more efficient in the pool".
Compute Performance Management Chart (CTL/ATL/TSB) from the user's training history. Use when the user asks about fitness, fatigue, form, training load, or how their condition is trending.
Persist a confirmed weekly training plan (one row per session with target HR range and pace range) and measure adherence against actual activities. Use when the user says "my plan this week", "what's on today", "save this plan", "how am I doing vs plan", "plan adherence", "did I complete this week", or any equivalent in Spanish.
Compute a combined CTL/ATL/TSB across run, ride and swim for triathletes. Use when the user asks "my combined load", "triathlon training load", "total TSS across sports".
Show how the user's training time and volume distribute across run, ride and swim, and flag underweighted disciplines. Use when the user asks "am I balanced", "discipline balance", "which sport am I neglecting".
Cross-reference recent runs/rides with historical weather (temperature, humidity, wind) from Open-Meteo to find correlations with performance. Use when the user asks "do I run worse in the heat", "weather impact", "temperature vs pace".
Show a weekly training log: activities grouped by ISO week and sport, with totals for distance, time and elevation. Use when the user asks "what did I do this week", "weekly summary", "training log".