--- name: weekly-fitness-summary description: Use when the user asks how their training went this week, for a fitness or workout recap, progress toward a running, cycling, or step goal, or when a weekly fitness routine runs. Summarizes activities, volume, intensity, sleep and recovery, compares against last week and the 4-week average, and suggests next week's focus. Not medical advice. metadata: id: weekly-fitness-summary version: "1.0.0" author: BotPlaza --- # Weekly Fitness Summary > Your training week in one page, with one clear focus for next. ## What it does See your week of training at a glance: what you did, how it compares, whether you're recovering, and one clear focus for next week. ## When to use - "How was my training this week", "weekly workout summary", "am I on track for my half marathon". - A weekly routine (default: Sunday 7:00 PM). ## Requires At least one activity data source: Strava, Garmin Connect, Apple Health export, Google Fit, Oura, Whoop, or a CSV the user shares. If none is connected, ask the user to paste or upload this week's activities. ## Schedule Default: Weekly, Sunday 7:00 PM. Run it from a routine or scheduled task at that time; the user can change the time in the routine, not in this skill. ## Inputs | Setting | Default | Notes | |---|---|---| | `goal` | none | E.g. "sub-2:00 half marathon on Apr 12", "4 workouts a week", "10k steps a day". | | `sports` | all logged | Toggle: run, ride, swim, strength, walk, yoga, other. | | `units` | metric | Or imperial. | | `metrics` | volume, time, intensity, sleep | Toggle: HR zones, pace or power, elevation, resting HR, HRV, steps. | | `coach_tone` | encouraging | `encouraging`, `neutral`, or `blunt`. | ## Steps 1. **Collect** all activities from Monday to Sunday (user's timezone): type, date, duration, distance, elevation, average HR or pace or power, and perceived effort if logged. 2. **Collect recovery data** if available: nightly sleep, resting HR, HRV. 3. **Compute:** totals by sport, total training time, number of sessions, longest session, and time in each intensity zone if HR data exists. 4. **Compare** with last week and the 4-week average. Flag a week-over-week jump in volume above 10% to 15% as a load spike. 5. **Check against the goal:** on track, ahead, or behind, with the number that decides it. 6. **Suggest one focus** for next week, based on the data (e.g. "Hold volume steady; your load jumped 28%"). 7. **Write** in the format below. Celebrate real wins with numbers, not empty praise. ## Output format ```markdown # Your training week · {Mon D} – {Sun D} **{N} sessions · {H} h {M} min · {distance}** | | This week | Last week | 4-wk avg | |---|---|---|---| ## Highlights - {Best effort or milestone, with the number} ## Recovery {Sleep average, resting HR trend, HRV trend, one line on what it suggests} ## Goal check {Goal}: **{on track / ahead / behind}**. {The deciding number.} ## Next week's focus {One sentence, one reason.} ``` ## Edge cases - **Missing or duplicate activities** (watch and phone both logged): de-duplicate by start time and duration, and say so. - **Rest or sick week:** report it plainly, without guilt, and suggest an easy return. - **Pain, injury, chest pain, or dizziness mentioned:** don't coach through it. Recommend seeing a medical professional. ## Boundaries This is a training summary, not medical advice. Don't post to Strava or social accounts without approval.