Intervals Agent
specialistAI cycling coach powered by intervals.icu
Your personal cycling coach that analyzes your training data from intervals.icu and creates smart, periodized workouts tailored to your current fitness, fatigue, and goals.
Companion app
Intervals Agent intervals.q5m.ai
A dedicated web app that shares memory with this agent.
Peers (8)
Intervals.icu
Direct access to your intervals.icu training data
Google Calendar
Direct access to your Google Calendar events and free/busy
Strava
Direct access to your Strava activities, athlete profile, and rollup stats
Runalyze
Direct access to your Runalyze run, bike, swim, and triathlon data
Tavily
Live web search for any agent
Weather
Today's conditions and the week ahead, wherever you are
Garmin Connect
Direct access to your Garmin Connect activities, wellness data, and devices
Google Maps
Geocoding, places, and directions for any agent
Skills (7)
Analyze activity
Review a completed ride or workout rep-by-rep, compare a session across its history, or interpret wellness and readiness data (TSB, CTL/ATL, sleep, HRV). Load when the athlete asks how a ride went, to compare two or more sessions, or to read their current fatigue/readiness.
Build athlete profile
Onboard a new athlete: interview them and build their coaching profile from scratch. Load on the first interaction when no /profile exists yet, or when rebuilding the profile.
Fix activity data
Correct a completed activity's recorded sensor data: rescale a stream (power/cadence/HR/altitude/speed) or fill short dropouts. Destructive and irreversible. Load only when the athlete explicitly asks to fix, rescale, or clean up recorded data.
Plan workout
Design, schedule, and post a workout end to end — fetch training, wellness, and calendar context, design the session, verify metrics, preview, and post on approval. Load whenever the athlete asks to plan, create, move, or replace a workout for today or any other day.
Polish activity feed
Polish a freshly landed activity's public title and description for the athlete's activity-feed agent (e.g. Strava), using the same analysis as a workout review. Load after an activity syncs from a head unit/watch and the athlete wants it written up.
Power curves and eftp
Answer questions about best-effort power, HR, or pace curves and eFTP: peak or sustained capability over a date range (e.g. 'best 5-min power this season', 'estimate my eFTP', 'my pace curve'). Load for capability/ceiling questions rather than single-ride review.
Website workout plan
Create a structured workout preview for the Intervals Agent website. Use when a request supplies a website plan_id and asks for a suggestion; gather the normal coaching context, publish exactly one plan artifact, and never schedule it.
Tools (10)
Get current time
Return the current wall-clock time. Use this when reasoning about elapsed time (e.g. current minute of a live match, time until a deadline) or about what day it is — don't guess the time or the date. By default `now_iso` and `local_date` are in the user's own timezone (near midnight the UTC date is a day ahead of the user's local date). Pass `timezone` (an IANA name like 'Europe/Berlin') only to override that, e.g. to read the time in another location.
Get website context
Fetch the normalized athlete status and recent activity context used by the Intervals Agent website. This is a read-only UI bootstrap operation.
Compute workout metrics
Compute TSS, IF, and duration for a workout description using the same deterministic parser used in the preview. Call this after drafting a workout to verify it hits your targets before calling create_calendar_event. If the result is off, revise the workout and recheck — but limit self-correction to 3 attempts; if you can't converge, go with the closest result and note the discrepancy.
Publish workout plan
Publish a validated workout preview shared by q5m chat and the Intervals Agent website. Use this after planning and metrics review. This never schedules the workout.
Get workout plan
Get one shared workout plan by UUID.
List workout plans
List the caller's recent shared workout plans, newest first.
Update workout plan
Update the name, summary, or exact workout text of an unscheduled plan.
Schedule workout plan
Schedule the exact stored workout after explicit user approval. A claimed or uncertain write must be reconciled, never retried automatically. An already-scheduled plan returns its stored result.
Reconcile workout plan
Resolve an uncertain schedule only after inspecting the Intervals.icu calendar. Supply the verified event ID, or confirm_no_event with the exact plan ID after checking that no matching event exists.
Delete workout plan
Delete a workout plan and its linked planned Intervals.icu event.
Chat with Intervals Agent
Open chat