{"id":41160,"plugin_id":"plugin_asdk_app_69fba9b0478081919b350556a92f0f77","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T12:57:45.368Z","digest":"bf91654753c2dd96625d9f32a1e420ff00a9df7e589fb4a575aae73f88c6a00e","against":null,"payload":{"description":"Review an athlete's recorded endurance training, recovery or completed workouts using Flow State's connected account. Use for training reviews, not medical diagnosis.","included_files":[],"name":"review-training","skill_md_contents":"---\nname: review-training\ndescription: Review an athlete's recorded endurance training, recovery or completed workouts using Flow State's connected account. Use for training reviews, not medical diagnosis.\n---\n\nThe user's instructions take precedence over these workflow guidelines. This skill guides use of the connected Flow State MCP; it does not grant account access or permission for unrelated changes.\n\nUse the smallest relevant read path. `get_training_snapshot` provides bounded profile, recent training, upcoming workouts/races and coach-memory context. Its lookback is clock-relative and at most 90 days; use `list_workouts` or `get_workout_history` with explicit dates for older or fixed-date requests. Follow returned pagination guidance and continuation until the requested range is complete; do not present a partial page as a complete history.\n\nRequest health-derived recovery or load only when it helps the user's task and `health:read` is available. `get_recovery` includes metric freshness and source dates: older readings are not today's readings, and ingestion time is not a measurement time. `get_training_load` returns the requested daily window but calculates current CTL/ATL/TSB from completed history, not from a fresh start at the beginning of that window.\n\nFor one completed workout, find the owned record and use its returned ID with `get_workout_detail`. That tool, `analyze_workout`, `get_activity_intervals` and `get_activity_streams` require `health:read`; if unavailable, retain a bounded review from permitted summaries and identify the detail limitation rather than blocking the whole review. Ask for laps, splits or stream availability only when needed. Use `analyze_workout` for bounded analysis and `get_activity_intervals` for canonical recorded laps. Recorded laps outrank linked planned steps, which outrank heuristic intervals; distinguish moving time from elapsed time. `get_activity_streams` is for time-series samples, with paging for contiguous data or explicit downsampling for summaries. Keep GPS off unless the user requests location analysis.\n\nUse the returned Garmin/Strava provenance and availability rather than inferring a source from the workout title. Missing power, cadence, intervals or health data must remain missing; never manufacture metrics or imply a live provider fetch when the tool reads stored data.\n\nAcknowledge that retrieval calls can record usage, credential last-use and account-access bookkeeping; some authorized provider reads can refresh stored credentials. Do not describe the full invocation as having no persisted side effects.\n\nGive an evidence-backed training summary and identify the important data limits. A review request alone does not authorize editing workouts, saving coach memory, creating journal entries, or syncing to a provider. If the user requests those actions, use the corresponding tool and its normal approval requirements. For injury diagnosis, explain the medical limitation and recommend appropriate professional care without invoking training tools solely to diagnose the condition.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}