Skill instructions
adjust-for-weather2.01 KB
View saved version →
---
name: adjust-for-weather
description: Adapt the pacing of today's run to the weather forecast. Use when the user wants to adjust today's run for heat, humidity, cold, wind, or rain, or asks how to pace their planned run given the forecast. Do not use for general training readiness questions (use checkin) or for restructuring the training week (use replan).
---
Check the forecast and advise how to pace today's run for the conditions.
1. Establish location and timing. Ask the user where they will be running if their location is not already known from the conversation. Assume they will be training in the next 1-2 hours unless they say otherwise.
2. Look up the forecast for that window at their location using web search. Use the apparent (feels-like) temperature and humidity, not just the raw temperature. Wind and precipitation are secondary but worth noting when significant.
3. Call the `getPlannedWorkouts` tool for today to see what run is planned (target pace, duration, structure).
4. Make the call: state whether any pacing adjustment is needed to hit the workout's training goal. If conditions are typical for the user, say so plainly and leave the workout unchanged. Otherwise say what to change (pace, effort targets, or duration) so the session still delivers its intended training effect. In hot or humid conditions the usual adjustment is a slower pace at the same perceived effort, not a shorter workout.
5. State the time window and location you assumed, and ask if the user is planning a different time of day. If a later window has meaningfully better conditions for the session's goal, mention it.
6. If the user wants the adjustment recorded on the workout, apply it with the `changeWorkoutAdvice` tool so the adjusted pacing guidance shows up on their planned run.
Notes:
- If no run is planned today, say so and ask whether they want pacing advice for a different day's run or an unplanned run.
- This skill is about training pacing and workout execution, not a substitute for the user's own judgment about conditions.
Referenced files: 3
analyze-activity2.78 KB
View saved version →
---
name: analyze-activity
description: Analyze a completed run, ride, or swim in depth. Use when the user asks to analyze a workout or activity, asks how their run/ride/swim went, or wants a breakdown of pacing, power, heart rate, or execution for a session. Defaults to the most recent activity if none is specified. Do not use for daily readiness questions (use checkin) or for planning future workouts (use replan).
---
Analyze one completed activity in depth and compare it against the user's recent training.
Finding the activity:
1. Determine the sport and which activity to analyze. If the user named a date or activity, use that. If they said "my last activity" or gave no specifics, fetch recent activities with `getRunningActivity`, `getCyclingActivity`, and/or `getSwimmingActivity` (limit to the sports the user actually does if known from context) and pick the most recent one.
2. Fetch the full data for the chosen activity with the matching detail tool: `getRunningActivityDetail`, `getCyclingActivityDetail`, or `getSwimmingActivityDetail`. Start with the default low resolution; request medium or high resolution only if the analysis needs finer time-series detail (for example short intervals).
3. Keep the recent-activity list from step 1 (or fetch it) so the session can be compared to the user's other recent activities of the same sport.
What to analyze (adapt to the sport and to what the data actually contains):
- For runs: how did pace hold up relative to heart rate (if present) through the workout, and how does the session compare to other recent runs? Did it meet its intended purpose versus what was planned? Where relevant, check whether any effort was near a recent best, and how pace held up as the run wore on (fade over distance).
- For rides: look at power and heart rate (if present). Was the user pacing well or fading? Pull the power data to see whether any effort was near a recent best and how power held up after accumulated work. Compare against other recent rides and the session's intended purpose.
- For swims: how did pacing hold up (and heart rate, if present), how does it compare to recent swims, and did the session meet its intended purpose?
- If the user logs HRV, note how internal drift during the session compared to their usual durability trend.
- Note how the session was structured (long blocks versus scattered efforts).
- If weather data is present in the activity, factor in how conditions (temperature, humidity) compared to recent sessions.
- If the activity has device laps, break the effort down lap by lap: how consistent were the splits, and how was execution across any intervals?
Call out whatever stands out most about this particular session rather than working through a fixed checklist. Lead with the one or two most notable findings, then the supporting detail.
Referenced files: 3
checkin1.99 KB
View saved version →
---
name: checkin
description: Daily check-in and readiness review. Use when the user wants their daily check-in, morning check-in, asks how they should train today, whether they are recovered or ready for their workout, or whether to train given how they feel. Do not use for analyzing a completed workout (use analyze-activity), for restructuring the upcoming week (use replan), or for weather-based adjustments (use adjust-for-weather).
---
Run a daily readiness check-in and advise the user on today's training.
1. If the user has not already described how they feel, ask briefly: overall fatigue, muscle soreness, sleep quality, and anything notable (illness, stress, travel). Keep it to one short question, not a form.
2. Call the `getRecoveryModel` tool to get objective recovery data: HRV, resting heart rate, and recovery scores from their synced wearable.
3. Call the `getPlannedWorkouts` tool for today's date to see what training is planned.
4. Weigh the subjective answers against the objective recovery data and today's plan, then give a clear recommendation: do the workout as planned, adjust it (lower intensity, shorter duration), swap it to another day, or rest. Explain the reasoning in two or three sentences, referencing the specific signals that drove the call.
5. If the recommendation is an adjustment and the user agrees, apply it: use `changeWorkoutAdvice` to attach the adjusted guidance to today's workout, `changeWorkoutDate` to move it, or `skipWorkout` to skip it. Always confirm with the user before modifying their plan.
Notes:
- This check-in is advisory only. The user's answers here are not saved to their AI Endurance recovery model; the daily check-in form in the AI Endurance app is where check-in data is recorded. If the user wants their subjective data tracked over time, point them to the app's check-in.
- If `getRecoveryModel` returns no recent data (no wearable synced), base the advice on the subjective answers and today's plan alone, and say that objective recovery data was unavailable.
Referenced files: 3
replan1.77 KB
View saved version →
---
name: replan
description: Weekly plan review and replan. Use when the user wants to review or adjust their upcoming training week, get back on track after missed workouts, reshuffle their plan, or asks how their training plan is going. Do not use for daily readiness questions (use checkin), single-activity analysis (use analyze-activity), or weather adjustments (use adjust-for-weather).
---
Review the user's plan progress and adjust the upcoming week to get them back on track.
1. Call the `getPlanProgress` tool to see what the user has completed versus what was planned.
2. Call the `getPlannedWorkouts` tool for the upcoming 7 days.
3. Review adherence: which workouts were completed, missed, or partially done, and what that means for the week ahead (missed key sessions, accumulated fatigue, too much crammed into remaining days).
4. Propose specific modifications for the next 7 days to get the user back on track. Be concrete: which workout to move, skip, or adjust, and why. Respect recovery: do not stack hard sessions on consecutive days to make up for missed volume.
5. After the user agrees to the proposal (or a subset of it), apply the changes with the tools: `changeWorkoutDate` to move a workout, `skipWorkout` to drop one, `changeWorkoutAdvice` to attach adjusted instructions, and `createRideRunWorkout`, `createSwimWorkout`, or `createStrengthOtherWorkout` to add a session. Confirm each destructive change (skips, deletions) before making it.
6. Summarize the final state of the week after the changes are applied.
Notes:
- This skill adjusts individual workouts. It does not rebuild the whole training plan from scratch; for a full plan re-optimization, point the user to the replan feature in the AI Endurance app.
- If progress is on track, say so and do not invent changes.
Referenced files: 3