training-plan skill
Create personalized training plans for 5K, 10K, Half Marathon, and Marathon races. Use when the user requests a training plan for any of these distances, wants to prepare for a race, or asks for a structured running program. This skill generates comprehensive markdown training plans that include race goals, training paces, phased progression, and week-by-week workout schedules.
Is the training-plan skill safe?
Clean: nothing in its files matched our rules. We read 4 files in the folder on 2026-09-28.
No findings.
Install the training-plan skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/ColinEberhardt/claude-running-coach.git /tmp/claude-running-coach mkdir -p ~/.claude/skills cp -r /tmp/claude-running-coach/running-race-coach/skills/training-plan ~/.claude/skills/training-plan
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Training Plan Creator
Overview
This skill creates personalized, evidence-based training plans for 5K, 10K, Half Marathon, and Marathon distances. Plans are delivered as structured markdown documents with clear progression, appropriate training intensities, and race-specific preparation.
Workflow
1. Gather Essential Information
Before creating a plan, collect these key details from the user:
Required:
- Race distance: 5K, 10K, Half Marathon, or Marathon
- Race date: When the race occurs
- Current weekly mileage: Average miles/km per week over the last 4 weeks
- Available training days: Number of days per week the athlete can train (typically 3-6)
Recommended:
- Target race time: Goal finish time or pace
- Recent race results: Previous race times to establish current fitness level
- Training background: Months/years of consistent running
- Injury history: Any recurring issues or limitations
- Other constraints: Schedule restrictions, terrain access, weather, life stress
Handling missing information:
- If target time is not provided, ask about recent race performance or typical training paces
- If training days are unclear, suggest 4-5 days as a reasonable starting point
- If race date creates a very short timeline (< 8 weeks for marathon), flag this concern
2. Calculate Training Paces
IMPORTANT: Use the calculate_paces.py script to generate training paces based on the target race time and distance. This ensures consistent and accurate pace calculations.
How to use the pace calculator:
The script is located at scripts/calculate_paces.py (relative to this skill's directory).
python3 scripts/calculate_paces.py --distance <km> --time <HH:MM:SS or MM:SS>Examples:
# 5K in 20:00 (paces per mile by default)
python3 scripts/calculate_paces.py -d 5 -t 20:00
# 10K in 45:30
python3 scripts/calculate_paces.py -d 10 -t 45:30
# Half Marathon in 1:35:00
python3 scripts/calculate_paces.py -d 21.0975 -t 1:35:00
# Marathon in 3:30:00
python3 scripts/calculate_paces.py -d 42.195 -t 3:30:00
# For per-km paces instead of per-mile
python3 scripts/calculate_paces.py -d 10 -t 45:00 --per-kmOutput format: The script calculates six pace zones based on percentage adjustments from race pace:
- Easy: 120-130% of race pace (recovery and aerobic development)
- Steady: 110-115% of race pace (aerobic endurance, used primarily for marathon/HM)
- Threshold: 103-107% of race pace (comfortably hard, lactate threshold work)
- VO₂max: 95-98% of race pace (interval training, hard but repeatable)
- Repetition: 90-93% of race pace (short, fast reps for speed and economy)
- Race: 100% of race pace (target race effort)
Workflow:
- Run calculate_paces.py with the user's target race distance and time
- Copy the pace ranges from the script output into the training plan
- Include these paces in the "Training Paces" table of the plan
- Reference coaches-guide.md sections 3 and 6 for additional context on intensity definitions and how to apply these paces in workouts
Note: The script provides pace ranges in minute/mile format by default (use --per-km for minute/km format). Pace ranges account for terrain, weather conditions, and day-to-day variation. Always remind athletes that these are guidelines and should be adjusted based on how they feel.
3. Design the Phased Structure
Read references/coaches-guide.md for comprehensive guidance on plan design principles, phase structures, and distance-specific emphases.
Key sections to reference:
- Section 1: Core Principles
- Section 2: The "Shape" of a Good Plan (Phases A-E)
- Section 4: Weekly Architecture
- Section 6: Distance-Specific Emphases
Determine phase durations based on total plan length and race distance:
- Foundation/Base: Build aerobic capacity and durability
- Build/Development: Introduce and expand quality workouts
- Specific/Peak: Race-specific preparation and intensity
- Taper: Reduce fatigue while maintaining sharpness
- Transition: (Brief mention for post-race)
Apply the plan length guidelines from section 7:
- 8 weeks: Short build, assumes existing base
- 10-12 weeks: Standard for 5K/10K, workable for HM
- 12-16 weeks: Common for HM, minimum for experienced marathoners
- 16-20 weeks: Marathon standard
Scale appropriately using section 8 guidelines:
- Adjust volume, workout duration, and recovery based on ability level
- Apply the "minimum effective dose" principle for newer athletes
- Avoid common design errors from section 9
4. Structure the Weekly Microcycles
Build each week using the principles from section 4 of the coaches guide:
Weekly template:
- 1-2 quality sessions (threshold, intervals, or race-pace work)
- 1 long run
- Remaining days easy (with strides 1-3x/week)
- Optional: 1 strength training day
Important workout structure rules:
- ALL interval workouts must be distance-based (e.g., "5 x 1 mile", "4 x 800m", "3 x 1km")
- Never use time-based intervals (e.g., "5 x 4 min")
- Every interval workout follows: warm-up → intervals → cool-down structure
- Specify distances in miles, meters, or km (e.g., 1.5 miles, 400m, 2km)
Progressive overload:
- Increase volume gradually (typically 5-10% per week)
- Follow 3:1 or 2:1 build-to-recovery patterns
- Include planned deload weeks (~15-30% volume reduction)
Distance-specific emphases (from section 6):
- 5K: Focus on VO₂max and speed-endurance
- 10K: Emphasize threshold work with supporting speed
- Half Marathon: Threshold durability and long run progression
- Marathon: Volume, marathon pace durability, and fueling practice
5. Create Week-by-Week Schedule
For each week of the plan, specify:
- Week number and phase
- Total weekly mileage/volume
- Specific workouts for each training day:
- Day of week (or Training Day 1, 2, etc.)
- Workout type (Easy, Threshold, Intervals, Long Run, etc.)
- Workout details (distance-based, pace, structure)
- Purpose or focus of the session
CRITICAL: All interval workouts MUST follow this structure:
- Warm-up (distance + pace)
- Intervals (number x distance @ pace, with recovery distance/time)
- Cool-down (distance + pace)
All intervals must be DISTANCE-BASED, not time-based. Use miles, meters, or kilometers (e.g., "5 x 1 mile", "4 x 800m", "3 x 1km") rather than time-based intervals (e.g., "5 x 4 min").
Workout description format examples:
- "Easy 45 min + 6 strides"
- "Threshold: 1 mile easy warm-up, 4 x 1 mile @ T pace (0.25 mile jog recovery), 1 mile easy cool-down"
- "Long Run: 90 min easy"
- "Intervals: 1 mile easy warm-up, 5 x 1 mile @ I pace (0.25 mile jog recovery), 1 mile easy cool-down"
- "Marathon Pace: 1 mile easy warm-up, 2 x 2 miles @ MP (0.5 mile jog recovery), 1 mile easy cool-down"
- "Long Run with quality: 14 miles, last 3 miles @ steady pace (S)"
Recovery within intervals:
- Use distance-based recovery: "0.25 mile jog", "0.5 mile jog", "400m jog"
- Or time-based recovery: "2:00 jog", "90 sec jog" (but prefer distance-based)
6. Verify Weekly Mileage Using interval_calculator.py
IMPORTANT: Before finalizing the weekly mileage totals, use the interval_calculator.py script to accurately compute the distance for each interval workout.
Why this is critical:
- Manual calculations of workout distances are prone to error
- The script ensures accurate totals including warm-up, intervals, recovery, and cool-down
- This prevents understating or overstating weekly mileage (which can lead to overtraining or undertraining)
How to use the calculator:
For each interval workout in your plan, run the calculator with the workout parameters. The script is located at scripts/interval_calculator.py (relative to this skill's directory).
More skills from ColinEberhardt/claude-running-coach
- Arunning-coachWeekly running coaching sessions that analyze training logs against the training plan, with primary focus on running and secondary analysis of cross-training activities. Works with multiple data sources including Strava, other platforms (Garmin, Apple Health, etc.), manual logs, or conversational input. Use when the athlete wants to review their training week, get coaching feedback, analyze how they performed, or check if they're on track with their training plan. Trigger phrases include "review my training", "coach me", "how did I do this week", or any request for training analysis or coaching feedback.
- Astrava-syncDownloads and syncs training data from Strava using the Strava MCP server. This is ONE option for importing training data - athletes can also use manual logs, other platforms (Garmin, Apple Health), or provide data conversationally. Use this skill specifically when the athlete wants to sync from Strava or when the running-coach indicates Strava as the chosen data source. Stores activities in the training-log folder as markdown summaries, including lap details for workout runs.
- Atraining-dashboardGenerate a comprehensive HTML training dashboard showing progress toward half marathon training goals. Outputs a single self-contained HTML file with retro styling, ASCII charts, weekly mileage tracking, session completion rates, pace adherence, phase progress, and coaching commentary. Use when the athlete wants to see their training progress, check if they're on track, view their training statistics, or get an overview of their plan progress. Trigger phrases include "show my dashboard", "training progress", "how am I doing", "show my stats", or any request for a training overview.