Fueling review

Fueling review

This recipe reviews what you logged. It does not turn load, calories, or an upstream estimate into a personal fueling prescription. Every fact names its source; any general education is separate from the evidence.

When to use this

  • To see which recent sessions have usable logged carbohydrate-per-hour evidence.
  • To identify activity records whose intake or duration is missing or invalid.
  • To place a confirmed same-day race calendar entry next to the review without inventing race details or nutrition targets.

Recent sessions or a date range

Use this copyable workflow for one activity or a bounded review window. The default is the last 14 completed athlete-local days.

Review my logged fueling evidence using icuvisor and my intervals.icu data.

Start by calling get_athlete_profile for my athlete-local timezone and units.
For a relative or default window, call resolve_calendar_dates with offsets -14
and -1 and use its returned dates. For a date-range review, call terse
get_activities with include_unnamed: true and fetch every page needed before
calling the sample complete. Do not expose next_page_token. If the range is
partial, say exactly which athlete-local window, pages, and rows are covered.
Count unnamed, unavailable, and Strava-blocked rows separately. For one known
activity ID, use terse get_activity_details once; do not fetch details for every
row in a range.

Use moving_time_seconds as the only duration denominator. Calculate logged
carbs/hour only as carbs_ingested_g / (moving_time_seconds / 3600), label every
result g/h, and only when carbs_ingested_g is a returned non-negative numeric
value and moving_time_seconds is positive. A logged zero is valid and is 0 g/h.
An absent intake log, a negative intake value, a missing/zero/non-positive
duration, or an unavailable row gets no rate and is counted as an exclusion.
For a range total, sum only eligible logged grams and those same eligible moving
durations; state eligible sessions / total sessions and each exclusion category.

Keep carbs_ingested_g (athlete-logged during-activity intake), carbs_used_g
(upstream used/burned estimate), calories_burned, training load, and daily
wellness nutrition separate. Never use carbs_used_g, calories, load, daily
wellness totals, or an invented target to fill a missing intake value or either
side of the calculation. If daily nutrition is useful, call get_wellness_data
only with kcalConsumed, carbohydrates, protein, and fatTotal plus any explicit
custom code; label returned calories_intake, carbs_g, protein_g, and fat_g as
daily fields, not session intake. Treat a custom field as unknown unless I give
its exact meaning.

Return sections in this order: Sourced activity evidence; Sourced daily-wellness
evidence; Labelled calculations; Coverage and data gaps; General educational
guidance. Give each fact its tool and athlete-local date/window. Surface
_meta.as_of partial-day context, _meta.stale, _meta.missing_fields,
field-semantics/provenance, and availability warnings. Missing is not zero or
evidence of inadequate fueling.

Do not call write/delete tools, get_activity_streams, include_full, or request
raw payloads. Do not diagnose, estimate intake, label a session underfueled, infer
a deficit, prescribe nutrition, recommend carbohydrate/calorie/sodium/fluid/
sweat-rate targets, claim a product effect, or invent a product library. Keep any
general material conditional and educational; for individualized or medical
nutrition questions, suggest a qualified sports dietitian or clinician.

Optional race or session-planning context

A calendar entry can give context, but it does not confirm a nutrition plan or supply a target. Ask for a date before looking up an event by name.

For the fueling review, also check my calendar context for race_date
[YYYY-MM-DD] and optional race_name [name]. Use get_events with oldest and
newest both equal to that athlete-local race_date and limit: 100. Race_name only
disambiguates entries on that date; never scan the calendar by name alone. If
_meta.truncated is true, call the calendar evidence partial. If a complete
same-day lookup has no matching event, say there is no confirmed calendar event
rather than inventing race context.

Render Sourced race/calendar context separately from the logged activity and
daily-wellness evidence. You may offer clearly labelled conditional general
education or questions for a qualified sports dietitian/clinician, but do not
recommend individual carbohydrate, calorie, sodium, fluid, or sweat-rate targets,
claim product effects, or write anything to my calendar.

What a careful answer says

A careful answer can say that three of eight covered sessions had eligible logged g/h calculations, two had missing intake logs, one had an invalid duration, and two were unavailable. It cannot say that the missing sessions were poorly fueled, use carbs_used_g as ingested carbohydrate, or combine a wellness day’s macros with a session’s load to estimate a deficit.

See the downloadable Fueling review prompt pack for client-mode instructions, or invoke the fueling_review MCP prompt when your client exposes prompts.