← All skill packs

Planning & Specification Workflows

Skill pack
11 skills0 selected
josixSkills in this pack

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.

English

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.

English

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.

English

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.

English

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.

English

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.

English

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.

English

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.

English

Verify Strava MCP connectivity and capture athlete identity before flipping the integrations.strava.connected flag. Returns ok+athleteid on success, classified error on failure.

English

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.

English

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.

English

Includes Adapt Plan, Analyze Workout, Build Training Plan, and other workflows.

Install with
Claude CodeCodexCursorGitHub CopilotGemini CLI

Supported by the Atlas install prompt. Skill-specific requirements vary.

Pack stats

Skills11CategorygeneralStars0

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

  1. Choose your skills. Select individual skills above, or choose the entire pack.
  2. Copy the install prompt. Use Copy install prompt above the list.
  3. 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:

Example request
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.
Planning & Specification Workflows | Agent Skills Atlas