Intervals Agent

Intervals Agent

specialist

AI 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.

Skills (6)

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.

Tools (2)

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.

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.

Chat with Intervals Agent

Open chat