Applies 1/2/3-strike adjustment rules to plan.json based on a single workout's analysis dict. Mutates plan only when thresholds fire. Called after every workout log.
EnglishComputes adherence delta between actual and prescribed workout: pace deviation %, completion %, HR drift, RPE delta. Returns a structured signal dict. Called automatically after log-workout or fetch-strava-activity.
EnglishGenerates a complete macrocycle (base/build/peak/taper) from a runner's goal, target race date, available training days, and current VDOT. Writes plan.json. Use during /run-init and /run-replan.
EnglishTranslates a recent race result (distance + time) into a VDOT fitness score and the corresponding training pace table (E/M/T/I/R per km). Use during /run-init and /run-race-recap when the user has a fresh race or time-trial result.
EnglishPulls recent run activities from the garmin-givemydata MCP server: triggers garminsync to refresh the local SQLite, queries activity IDs in the requested date range, fetches per-activity detail (with splits, HR zones, weather, running dynamics), normalizes to workouts.json schema via garminnormalize.py, deduplicates by garminactivityid with preferredsource tiebreaker, and runs the same analyze-workout + adapt-plan pipeline as manual logging. Requires users.integrations.garmin.connected = true.
EnglishPulls recent run activities from the Strava MCP server, normalizes them to the workouts.json schema using stravanormalize.py helpers, deduplicates by stravaactivityid with preferredsource tiebreaker, and runs the same analyze-workout + adapt-plan pipeline as manual logging. Requires users.integrations.strava.connected = true.
EnglishRenders today's workout card from plan.json and dailystate.json as a Markdown block. Use for every /run-today invocation. No writes — pure read-and-render.
EnglishVerify Garmin Connect MCP connectivity and capture user identity before flipping the integrations.garmin.connected flag. Returns ok+garminuserid on success, classified error on failure.
EnglishVerify Strava MCP connectivity and capture athlete identity before flipping the integrations.strava.connected flag. Returns ok+athleteid on success, classified error on failure.
EnglishInserts a post-race or injury-flag recovery block into plan.json: 4 days rest + 3 easy jog days (post-race), or 3 rest + 1 recovery (red-flag-fatigue), or 7 rest days (injury). Use after /run-race-recap or when adapt-plan returns redflagrecovery.
EnglishSpecialized logic for the final 2-3 weeks before race day: -20%/-40%/-60% volume curve, intensity preservation in race-week-minus-1, race-day shakeout. Called by build-training-plan during plan generation and triggerable mid-cycle if race date changes.
EnglishIncludes Adapt Plan, Analyze Workout, Build Training Plan, and other workflows.
Supported by the Atlas install prompt. Skill-specific requirements vary.
Pack stats
What’s included
Adapt Plan
Applies 1/2/3-strike adjustment rules to plan.json based on a single workout's analysis dict. Mutates plan only when thresholds fire. Called after every workout log.
Analyze Workout
Computes adherence delta between actual and prescribed workout: pace deviation %, completion %, HR drift, RPE delta. Returns a structured signal dict. Called automatically after log-workout or fetch-strava-activity.
Build Training Plan
Generates a complete macrocycle (base/build/peak/taper) from a runner's goal, target race date, available training days, and current VDOT. Writes plan.json. Use during /run-init and /run-replan.
Compute Vdot
Translates a recent race result (distance + time) into a VDOT fitness score and the corresponding training pace table (E/M/T/I/R per km). Use during /run-init and /run-race-recap when the user has a fresh race or time-trial result.
Fetch Garmin Activity
Pulls recent run activities from the garmin-givemydata MCP server: triggers garminsync to refresh the local SQLite, queries activity IDs in the requested date range, fetches per-activity detail (with splits, HR zones, weather, running dynamics), normalizes to workouts.json schema via garminnormalize.py, deduplicates by garminactivityid with preferredsource tiebreaker, and runs the same analyze-workout + adapt-plan pipeline as manual logging. Requires users.integrations.garmin.connected = true.
Fetch Strava Activity
Pulls recent run activities from the Strava MCP server, normalizes them to the workouts.json schema using stravanormalize.py helpers, deduplicates by stravaactivityid with preferredsource tiebreaker, and runs the same analyze-workout + adapt-plan pipeline as manual logging. Requires users.integrations.strava.connected = true.
Generate Daily Workout
Renders today's workout card from plan.json and dailystate.json as a Markdown block. Use for every /run-today invocation. No writes — pure read-and-render.
Probe Garmin Connection
Verify Garmin Connect MCP connectivity and capture user identity before flipping the integrations.garmin.connected flag. Returns ok+garminuserid on success, classified error on failure.
Probe Strava Connection
Verify Strava MCP connectivity and capture athlete identity before flipping the integrations.strava.connected flag. Returns ok+athleteid on success, classified error on failure.
Recovery Protocol
Inserts a post-race or injury-flag recovery block into plan.json: 4 days rest + 3 easy jog days (post-race), or 3 rest + 1 recovery (red-flag-fatigue), or 7 rest days (injury). Use after /run-race-recap or when adapt-plan returns redflagrecovery.
Taper Protocol
Specialized logic for the final 2-3 weeks before race day: -20%/-40%/-60% volume curve, intensity preservation in race-week-minus-1, race-day shakeout. Called by build-training-plan during plan generation and triggerable mid-cycle if race date changes.
Quick start
- Choose your skills. Select individual skills above, or choose the entire pack.
- Copy the install prompt. Use Copy install prompt above the list.
- Send it to your agent. Paste into your coding agent’s chat. Your agent reviews the source and guides the setup.
Try it with your agent
After installation, start with a request like:
Use the Adapt Plan skill to help with my task.
Ask me for the context you need before getting started.Requirements & license
- A coding agent that can access your project files and install skills.
- Your agent checks each skill’s instructions, dependencies, and permissions during setup.
- License details are not provided in these listings. Check the author’s terms before using the skills.