Pre-Run Mobility Templates
Context: Pre-Run (performed immediately before running)
Every pre-run mobility routine is standing-only. No floor work, no kneeling, no lying down. Runners do these outside, at a trailhead, in a parking lot, on a sidewalk. If it requires getting on the ground, it doesn't belong here.
Design Philosophy
Pre-run mobility is not stretching. It's movement preparation — waking up the joints and tissues that are about to absorb thousands of loading cycles. The goal is neural readiness, not ROM development. ROM development happens in standalone sessions.
Standing-only is a non-negotiable constraint. Every runner who has tried a pre-run routine that starts with "lie on your back" has abandoned it within a week. We eliminate that failure mode entirely. You walk out the door, do 5 minutes standing, and run.
What Pre-Run Mobility Is
- Neural wake-up — joints move through available range, proprioceptors activate
- Tissue preparation — muscles and tendons get loaded gently before high-force running
- Movement rehearsal — the last exercise in every routine resembles running itself
- Quick — 4-6 minutes. If it takes longer, runners skip it. Compliance is everything.
What Pre-Run Mobility Is NOT
- Stretching — no long holds, no passive end-range. Static stretching before running reduces power output.
- ROM development — that's for standalone sessions. Pre-run uses the ROM you already have.
- Corrective exercise — no isolated muscle activation drills. Those belong in standalone or strength.
- Exhausting — RPE 3-4 at most. If you're breathing hard, you're doing too much.
Three Routines, One Default
Every runner gets stride-primer as their default pre-run. It covers hips, hamstrings, ankles, and quads in 5 minutes. It works for everyone.
The two alternatives — hip-extension-reset and ankle-access — are prescribed when checkpoint data or user feedback identifies a specific bottleneck. The AI agent selects the routine; the user doesn't choose from a menu.
How templates work
A template defines:
- Movement pattern slots — which body regions compose the routine
- Bucket exercise selection — which exercise fills each slot based on the user's movement bucket
- Prescription — duration per exercise, number of circuits (always 1 for pre-run)
Bucket columns in the slot table determine which exercise fills each slot. The template structure is universal — only the exercise selection changes per bucket.
Where prescriptions live
Duration lives on each exercise, not on the template. Every exercise in the mobility_movements table has duration_default_seconds. The template controls only number of circuits (always 1 for pre-run). One circuit = one pass through all exercises in the template.
The app handles the rest:
- Timed exercises display a countdown timer
- Unilateral exercises (
default_side: 'each') are performed on both sides - All exercises display coaching cues from the exercise record
Phase invariance
Pre-run mobility does not change by training phase. The routine before an easy base phase jog is the same routine before a peak phase tempo run. The RUN changes by phase; the movement prep doesn't. This is different from strength templates which reduce volume in peak/taper.
The only phase-related change: the AI agent may swap from stride-primer to a targeted routine (hip-extension-reset, ankle-access) as training demands evolve. But the template prescription itself stays constant.
stride-primer
The default pre-run routine. Covers every major joint system that running loads: hips, hamstrings, ankles, quads, and finishes with a running-pattern integration drill. This is what 80%+ of pre-run sessions should use.
Five exercises, one set each, ~60 seconds per exercise. Done in 5-6 minutes. Enough to prepare tissues without burning time or energy.
- Context: pre_run
- Primary Regions: hips, hamstrings, ankles, quads
- Phases: base, build, peak, taper (phase-invariant)
- Slots: 5
- Duration: ~5-6 min
- Role: primary
- Frequency: before every run
Movement Slots
| Slot | Pattern | Why it's here | Notes |
|---|---|---|---|
| 1 | hip_mobility | Hips absorb the most load per stride. CARs explore the full available ROM and wake up the joint capsule. Swings rehearse the extension-flexion cycle of running. | Start here — the hip sets the tone for the entire kinetic chain. If hips move well, everything downstream benefits. |
| 2 | hamstring_prep | Hamstrings eccentrically brake the swing leg every stride. They need to be neurally active and length-tolerant before high-speed loading. | Dynamic, not static. The goal is "hamstrings are awake and willing to lengthen" not "stretch them longer." |
| 3 | ankle_prep | The ankle is the first joint to absorb ground contact force. Dorsiflexion restriction changes the entire stride. 30 seconds of ankle prep prevents the stiffness that compounds over miles. | Wall-supported dorsiflexion rocks or ankle CARs — both are standing and take <60s. |
| 4 | quad_hip_flexor | The rectus femoris crosses both hip and knee — it's the most stride-limiting anterior tissue. A standing quad stretch with posterior pelvic tilt targets it precisely. | Quick hold with active pelvic control, not a passive hang. The posterior tilt is what makes this effective. |
| 5 | integration | The final slot bridges mobility into running mechanics. A-Skips at walking pace rehearse the hip flexion, knee drive, and ankle push-off pattern that running demands. | This is the "now go run" signal. Slow, deliberate, feeling the positions from slots 1-4 under dynamic load. |
Exercise Selection by Bucket
| Slot | Pattern | locked_up | unstable | tension_holder | deconditioned |
|---|---|---|---|---|---|
| 1 | hip_mobility | Hip CARs | Hip CARs | Leg Swings | Leg Swings |
| 2 | hamstring_prep | Active Straight-Leg Raise | Hamstring Sweeps | Hamstring Sweeps | Hamstring Sweeps |
| 3 | ankle_prep | Knee-to-Wall Ankle Stretch | Ankle Circles | Ankle Circles | Knee-to-Wall Ankle Stretch |
| 4 | quad_hip_flexor | Standing Quad Stretch | Standing Quad Stretch | Standing Quad Stretch | Standing Quad Stretch |
| 5 | integration | High Knee March | High Knee March | High Knee March | High Knee March |
Prescription (all phases)
Pre-run is phase-invariant. Duration comes from each exercise's prescription field.
| Circuits | Effort | Rest Between | Total Duration | Notes |
|---|---|---|---|---|
| 1 | RPE 3-4 | none (flow from one to next) | ~5-6 min | One pass through all 5 exercises. No repeats. Move with purpose, not urgency. |
Bucket Modifiers
| Bucket | Approach |
|---|---|
| locked_up | Hip CARs over swings — they need to explore end-range, not rehearse mid-range. Active Straight-Leg Raise over sweeps — controlled end-range loading teaches the nervous system to tolerate length. Knee-to-Wall Ankle Stretch at wall — directly targets their primary restriction. Every exercise is SLOW. Full available range on every rep. |
| unstable | Hip CARs for proprioceptive challenge (single-leg stance while the other hip circles). Hamstring Sweeps for rhythmic control — smooth, same arc every rep. Ankle Circles for multi-planar ankle control. These runners need consistency: every rep looks the same. |
| tension_holder | Leg Swings — rhythmic, flowing, impossible to over-brace during a pendulum swing. Hamstring Sweeps — flowing, not held. Ankle Circles — gentle, controlled circles. Breathing cues on EVERY exercise. Exhale into the stretch, don't push through it. The goal is "loose and ready" not "thoroughly mobilized." |
| deconditioned | Leg Swings — simplest hip exercise, no balance demand. Hamstring Sweeps — gentle, small amplitude. Knee-to-Wall Ankle Stretch — wall-supported, zero balance challenge. Keep every exercise simple and short. If they're wobbly on one leg, they can touch a wall or post for support. Confidence matters more than ROM. |
hip-extension-reset
Prescribed when checkpoint data identifies hip extension restriction as the primary bottleneck — short stride length, anterior hip tightness, excessive forward lean. This routine targets the hip from every angle: flexor length, rotational access, adductor mobility, glute activation, and running integration.
The AI agent selects this over stride-primer when:
-
Mobility checkpoint flags hip extension restriction (moderate or severe)
-
User reports "tight hip flexors" or "short stride" in weekly reflection
-
Running form analysis shows reduced hip extension at toe-off
-
Context: pre_run
-
Primary Regions: hip_flexors, hip_rotators, adductors, glutes
-
Phases: base, build, peak, taper (phase-invariant)
-
Slots: 5
-
Duration: ~5-6 min
-
Role: secondary (selected by AI when hips are the bottleneck)
-
Frequency: replaces stride-primer when prescribed
Movement Slots
| Slot | Pattern | Why it's here | Notes |
|---|---|---|---|
| 1 | hip_flexor | Directly targets the anterior hip restriction that limits extension at toe-off. Standing quad stretch with PPT or swings — both open the front of the hip without getting on the ground. | This is the money slot. Hip flexor tightness is the #1 stride limiter in recreational runners. 60 seconds here returns more than 60 seconds anywhere else. |
| 2 | hip_rotation | Internal and external rotation access. Tight hip rotators create compensatory movement at the knee and lumbar spine during running. CARs explore full rotational range. | Hip rotation restriction is often invisible — runners don't feel it directly, but it shows up as knee pain or low back fatigue. |
| 3 | adductor | Medial hip mobility. The adductors control pelvic position during single-leg stance. Tight adductors pull the pelvis into anterior tilt, worsening hip flexor tightness. | Rock-backs and Cossack squats are standing adductor work that also loads the hip through range. Bilateral stance = no balance demand. |
| 4 | glute_activation | Wake up the glutes for hip extension. The glutes ARE the hip extension engine. If they're neurally quiet, the hamstrings and low back compensate. | Standing hip extension swings activate glutes through range. The pendulum pattern is the same hip extension cycle as running. |
| 5 | integration | Connect the hip mobility to running mechanics. A-Skips demand hip flexion, knee drive, and active hip extension — the full stride cycle under control. | Same as stride-primer. The integration drill is always running-specific. |
Exercise Selection by Bucket
| Slot | Pattern | locked_up | unstable | tension_holder | deconditioned |
|---|---|---|---|---|---|
| 1 | hip_flexor | Standing Quad Stretch | Standing Quad Stretch | Leg Swings | Standing Quad Stretch |
| 2 | hip_rotation | Hip CARs | Hip CARs | Hip CARs | Leg Swings |
| 3 | adductor | Standing Adductor Rock-Backs | Cossack Squat | Standing Adductor Rock-Backs | Standing Adductor Rock-Backs |
| 4 | glute_activation | Leg Swings | Leg Swings | Leg Swings | Leg Swings |
| 5 | integration | High Knee March | High Knee March | High Knee March | High Knee March |
Prescription (all phases)
Pre-run is phase-invariant. Duration comes from each exercise's prescription field.
| Circuits | Effort | Rest Between | Total Duration | Notes |
|---|---|---|---|---|
| 1 | RPE 3-4 | none (flow from one to next) | ~5-6 min | One pass through all 5 exercises. Spend slightly longer on slot 1 (hip_flexor) if time allows — it's the highest-value position. |
Bucket Modifiers
| Bucket | Approach |
|---|---|
| locked_up | Standing Quad Stretch with deliberate posterior pelvic tilt — they must OWN the pelvic position, not just pull the foot back. Hip CARs slow and maximal — explore every degree of available rotation. Standing Adductor Rock-Backs with control at end-range. Every exercise targets end-range access. |
| unstable | Standing Quad Stretch with balance focus — no wall touch unless truly necessary. Hip CARs are a balance drill AND mobility drill for this bucket. Cossack Squat over rock-backs — adds load and control challenge to adductor work. Prioritize smooth, controlled movement. |
| tension_holder | Leg Swings dominate this routine (slots 1 AND 4) — the pendulum rhythm is therapeutic for chronic hip flexor gripping. Hip CARs with breathing cues. Standing Adductor Rock-Backs gently, not pushing into stretch. Everything is flowing and rhythmic. |
| deconditioned | Standing Quad Stretch at whatever range they have — don't force depth. Leg Swings replace Hip CARs in slot 2 — simpler, no single-leg balance demand. Standing Adductor Rock-Backs at small amplitude. Wall support available for any single-leg exercise. |
ankle-access
Prescribed when checkpoint data identifies ankle dorsiflexion restriction as the primary bottleneck — calf tightness, Achilles stiffness, forefoot-dominant landing without intent. This routine focuses exclusively on the ankle-foot complex: dorsiflexion range, ankle control, toe mobility, and calf activation.
The AI agent selects this over stride-primer when:
- Mobility checkpoint flags ankle dorsiflexion restriction (moderate or severe)
- User reports "calf tightness" or "Achilles stiffness" in weekly reflection
- Running form shows reduced dorsiflexion at mid-stance
Shorter than stride-primer because the ankle complex has fewer movement options while standing. Four exercises instead of five — quality over breadth.
- Context: pre_run
- Primary Regions: ankles, calves, feet
- Phases: base, build, peak, taper (phase-invariant)
- Slots: 4
- Duration: ~4-5 min
- Role: secondary (selected by AI when ankles are the bottleneck)
- Frequency: replaces stride-primer when prescribed
Movement Slots
| Slot | Pattern | Why it's here | Notes |
|---|---|---|---|
| 1 | ankle_dorsiflexion | Directly targets the dorsiflexion restriction that changes ground contact mechanics. Wall-supported rocks load the ankle through range with bodyweight — the most specific prep for running's dorsiflexion demand. | Dorsiflexion rocks are the highest-ROI ankle exercise. The wall provides stability, the body provides load. |
| 2 | ankle_control | Multi-planar ankle control through CARs. The ankle needs to respond to uneven surfaces, foot strike variation, and fatigue-induced instability. CARs wake up the proprioceptors that handle this. | CARs complement dorsiflexion rocks by addressing rotation and inversion/eversion — the planes that dorsiflexion rocks miss. |
| 3 | toe_pushoff | Big toe extension is critical for push-off mechanics. Hallux rigidus (stiff big toe) forces compensatory push-off patterns that load the calf and Achilles differently. Rock-backs prep the MTP joint. | Often overlooked. Runners with toe stiffness develop calf overload because the foot can't contribute to push-off. |
| 4 | calf_activation | Wake up the tibialis anterior for dorsiflexion strength and shin stability. Tibialis raises are the lightest-touch calf complex activation — no heavy loading, just neural readiness. | Not calf strength (that's in accessory-calf). This is "turn on the front of the lower leg" before running loads it. |
Exercise Selection by Bucket
| Slot | Pattern | locked_up | unstable | tension_holder | deconditioned |
|---|---|---|---|---|---|
| 1 | ankle_dorsiflexion | Knee-to-Wall Ankle Stretch | Knee-to-Wall Ankle Stretch | Ankle Circles | Knee-to-Wall Ankle Stretch |
| 2 | ankle_control | Ankle Circles | Ankle Circles | Ankle Circles | Ankle Circles |
| 3 | toe_pushoff | Toe Rock-Backs | Toe Rock-Backs | Toe Rock-Backs | Toe Rock-Backs |
| 4 | calf_activation | Tibialis Raises | Tibialis Raises | Tibialis Raises | Tibialis Raises |
Prescription (all phases)
Pre-run is phase-invariant. Duration comes from each exercise's prescription field.
| Circuits | Effort | Rest Between | Total Duration | Notes |
|---|---|---|---|---|
| 1 | RPE 3-4 | none (flow from one to next) | ~4-5 min | One pass through all 4 exercises. Shorter routine — ankle complex has fewer standing options but each is high-value. |
Bucket Modifiers
| Bucket | Approach |
|---|---|
| locked_up | Knee-to-Wall Ankle Stretch at wall — push gently into end-range dorsiflexion each rep. This is the most important exercise for this bucket. Ankle Circles slow and maximal — explore the full circle. Toe Rock-Backs with deliberate end-range hold. Tibialis Raises with full ROM. Every rep aims to USE the available range, not force past it. |
| unstable | Knee-to-Wall Ankle Stretch with attention to knee tracking (knee over 2nd toe, no collapse inward). Ankle Circles as a proprioceptive challenge — maintain balance while circling. These runners need ankle CONTROL, not ankle range. Smooth, deliberate reps. |
| tension_holder | Ankle Circles in slot 1 instead of rocks — gentle circles are less aggressive than loaded dorsiflexion. Ankle Circles again in slot 2 (different speed/emphasis). Everything gentle and rhythmic. Breathing cues. These runners have "tight calves" that are actually over-braced calves — the solution is relaxation, not more aggressive stretching. |
| deconditioned | Knee-to-Wall Ankle Stretch at wall (stable, supported). Ankle Circles at small amplitude — don't force the circle. Toe Rock-Backs gently. Tibialis Raises at partial range if needed. Wall support available throughout. The goal is "ankles moved before running" not "ankles fully mobilized." |
calf-achilles-primer
Prescribed when lower leg pain or sensitivity flags are active — shin pain, calf pain, calf tightness, Achilles issues, or foot pain. This routine primes the entire calf-Achilles-foot complex before running to reduce threat response and prepare tissues for ground contact forces.
The AI agent selects this as PRIMARY when:
- Any lower leg pain flag is active (shin_pain, calf_pain, calf_tightness, achilles_issues, foot_pain)
- This overrides all other primary selections — lower leg pain is the highest-priority routing signal
Standing-only. Four exercises focused entirely on the ankle-foot complex: ankle range, calf activation, toe mobility, and a gentle integration drill.
- Context: pre_run
- Primary Regions: calves, ankles, feet, achilles
- Phases: base, build, peak, taper (phase-invariant)
- Slots: 4
- Duration: ~4-5 min
- Role: primary (selected by AI when lower leg pain flags are active)
- Frequency: replaces stride-primer when prescribed
Movement Slots
| Slot | Pattern | Why it's here | Notes |
|---|---|---|---|
| 1 | ankle_range | Gentle ankle mobilization to increase blood flow and reduce stiffness in the joint that absorbs first contact every stride. Circles or wall-supported rocks depending on bucket. | Start gentle — the lower leg is sensitized. Movement before load. |
| 2 | calf_activation | Wake up the tibialis anterior and gastrocnemius-soleus complex with low-load activation. Tibialis raises prep the front of the shin; this counterbalances the dominant posterior calf. | Neural readiness, not strength. The calf complex needs to be "on" before absorbing 6-8x bodyweight per stride. |
| 3 | toe_prep | Big toe extension and MTP joint mobility. Stiff toes force compensatory push-off through the calf and Achilles. Rock-backs prep the forefoot for ground contact. | Often the hidden contributor to calf/Achilles overload. If the toe can't extend, the calf works harder. |
| 4 | integration | Low-impact marching drill that rehearses the stance-swing cycle at walking pace. Activates the full lower leg chain without high-force loading. | Transition from mobility to running. Slow, controlled, feeling the positions from slots 1-3 under gentle dynamic load. |
Exercise Selection by Bucket
| Slot | Pattern | locked_up | unstable | tension_holder | deconditioned |
|---|---|---|---|---|---|
| 1 | ankle_range | Knee-to-Wall Ankle Stretch | Ankle Circles | Ankle Circles | Knee-to-Wall Ankle Stretch |
| 2 | calf_activation | Tibialis Raises | Tibialis Raises | Tibialis Raises | Tibialis Raises |
| 3 | toe_prep | Toe Rock-Backs | Toe Rock-Backs | Toe Rock-Backs | Toe Rock-Backs |
| 4 | integration | High Knee March | High Knee March | High Knee March | High Knee March |
Prescription (all phases)
Pre-run is phase-invariant. Duration comes from each exercise's prescription field.
| Circuits | Effort | Rest Between | Total Duration | Notes |
|---|---|---|---|---|
| 1 | RPE 2-3 | none (flow from one to next) | ~4-5 min | One pass through all 4 exercises. Lower effort than stride-primer — the lower leg is sensitized. Gentle, deliberate movement. |
Bucket Modifiers
| Bucket | Approach |
|---|---|
| locked_up | Knee-to-Wall Ankle Stretch at wall — push gently into dorsiflexion. This is the most important exercise for locked_up calves: warm tissues + gentle end-range loading. Tibialis Raises at full ROM. Toe Rock-Backs with a deliberate pause at end-range. High Knee March slow and controlled. Every rep explores available range without forcing past it. |
| unstable | Ankle Circles for multi-planar proprioceptive challenge (single-leg balance while circling). Tibialis Raises with attention to smooth, even movement. Toe Rock-Backs controlled. High Knee March with balance focus. These runners need ankle CONTROL — smooth, repeatable reps. |
| tension_holder | Ankle Circles gentle and rhythmic — not aggressive mobilization. The calves are over-braced, not restricted. Tibialis Raises at easy pace with breathing cues. Toe Rock-Backs gently. High Knee March at very easy pace. Everything is about relaxation and blood flow, not mobilization. Exhale cues on every exercise. |
| deconditioned | Knee-to-Wall Ankle Stretch at wall (stable, zero balance demand). Tibialis Raises at partial range if full range is uncomfortable. Toe Rock-Backs at small amplitude. High Knee March at walking pace, wall support available. Keep it simple and short. The goal is "lower leg moved gently before running." |
tall-relaxed
Prescribed as a SECONDARY routine when posture-related issues are flagged — posture collapse, core weakness, rounded shoulders, or thoracic restriction. This is a quick trunk and upper body reset that complements any primary pre-run routine.
Never used alone. Always paired with a primary routine (stride-primer, hip-extension-reset, or calf-achilles-primer). Adds 3-4 minutes of standing trunk work.
The AI agent adds this as secondary when:
- Posture collapse, core weakness, rounded shoulders, or thoracic restriction flagged
- And the primary routine doesn't already address upper body (none of them do)
Standing-only. Three exercises targeting trunk extension, shoulder position, and pelvic control.
- Context: pre_run
- Primary Regions: thoracic_spine, shoulders, core
- Phases: base, build, peak, taper (phase-invariant)
- Slots: 3
- Duration: ~3-4 min
- Role: secondary (only used alongside a primary routine)
- Frequency: added to pre-run when posture flags are active
Movement Slots
| Slot | Pattern | Why it's here | Notes |
|---|---|---|---|
| 1 | shoulder_reset | Open the chest and reset shoulder position. Running reinforces rounded shoulders — this counteracts that pattern before it compounds over miles. Wall slides or shoulder CARs depending on bucket. | Standing against a wall or free-standing. Quick shoulder position reset. |
| 2 | thoracic_extension | Restore thoracic extension and rotation. A tall, extended trunk is more efficient for breathing and arm swing. Pelvic tilts cue trunk-pelvis connection. | Not aggressive thoracic mobilization — just a positional reminder. "Stand tall" before you run. |
| 3 | trunk_integration | Connect the trunk reset to running posture with a controlled marching drill. High knee march with tall posture emphasis integrates slots 1-2 into a running-like pattern. | The "carry it into your run" exercise. Tall, relaxed, controlled. |
Exercise Selection by Bucket
| Slot | Pattern | locked_up | unstable | tension_holder | deconditioned |
|---|---|---|---|---|---|
| 1 | shoulder_reset | Wall Slides | Shoulder CARs | Shoulder CARs | Wall Slides |
| 2 | thoracic_extension | Pelvic Tilts | Pelvic Tilts | Pelvic Tilts | Pelvic Tilts |
| 3 | trunk_integration | High Knee March | High Knee March | High Knee March | High Knee March |
Prescription (all phases)
Pre-run is phase-invariant. Duration comes from each exercise's prescription field.
| Circuits | Effort | Rest Between | Total Duration | Notes |
|---|---|---|---|---|
| 1 | RPE 2-3 | none (flow from one to next) | ~3-4 min | One pass through all 3 exercises. Quick and purposeful — this is supplementary, not the main event. |
Bucket Modifiers
| Bucket | Approach |
|---|---|
| locked_up | Wall Slides against wall — the wall provides tactile feedback for scapular position. Pelvic Tilts with focus on finding and holding neutral pelvis. High Knee March tall and slow. These runners have structural restrictions in the thoracic spine — Wall Slides give them a wall reference to work against. |
| unstable | Shoulder CARs for rotational control and proprioception. Pelvic Tilts with smooth, controlled transitions. High Knee March with tall posture emphasis. These runners need trunk STABILITY, not mobility — exercises that challenge control. |
| tension_holder | Shoulder CARs at easy pace with exhale into each position. Pelvic Tilts with breathing cues — exhale to tilt, inhale to return. High Knee March relaxed and rhythmic. Everything gentle. The goal is "loosen up and stand tall" not "fix your posture." |
| deconditioned | Wall Slides for guided, wall-supported shoulder work (no balance challenge). Pelvic Tilts simple and slow. High Knee March at walking pace. Wall support available. Keep it brief and confidence-building. |