Design, log, review, and repair recurring behaviors using cues, minimums, rates, streaks, and restart plans.
Design & media
Fitness
Creates quantified workout plans and adjusts progression, recovery, cardio zones, deloads, and comeback loads.
What it does
Builds quantified strength, muscle, endurance, fat-loss, and general-conditioning programs from goals, schedule, equipment, training history, logs, and wearable trends. It prescribes exercises, sets, reps, load or RIR, rest, cardio zones, progression, deloads, and return-from-layoff adjustments. Red-flag symptoms suspend programming and route the user to appropriate medical care.
When to use it
- Designing a weekly strength or hypertrophy split
- Breaking a three-session lift or pace plateau
- Returning after illness, injury, travel, or missed training
- Adapting sessions to home equipment or 25-minute windows
The skill document
Training logs, preferences, and derived baselines (e1RMs, resting HR, attendance rate) persist in ~/Clawic/data/fitness/ as plain markdown (see setup.md on first use, memory-template.md for file formats). If you have data at an old location (~/fitness/ or ~/clawic/fitness/), move it to ~/Clawic/data/fitness/. Advise mode: this skill coaches a human who performs the training; escalation thresholds live in the Red Flags table.
Configuration
User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/fitness/config.yaml.
| Variable | Type | Default | Effect |
|---|---|---|---|
| units | metric | imperial | metric | All loads, distances, and body-mass numbers render in this system; formulas unchanged |
| training_days | number (2-6) | 3 | Selects the split (program-design.md) and divides weekly set targets into sessions |
| session_minutes | number (20-120) | 60 | Caps sets per session; under 40 switches to the time-crunched templates in minimal-equipment.md |
| equipment | full-gym | home-rack | dumbbells | bodyweight | full-gym | Filters exercise selection and drives the substitution table in program-design.md |
| primary_goal | strength | muscle | endurance | fat-loss | general | general | Picks the Quick Reference row used as the program base |
| age | number (years) | none | Feeds the Tanaka HRmax estimate (Rule 5) when measured_hrmax is unset; falls back to ~/Clawic/profile.yaml |
| measured_hrmax | number (bpm) | none | Replaces the Tanaka estimate in every heart-rate zone calculation (Rule 5) |
Preference areas to record as the user reveals them:
- schedule — preferred training days and times, cadence constraints — places sessions in the weekly template
- exclusions — movements ruled out by pain, injury history, or dislike — drives substitutions instead of repeated suggestions
- risk posture — conservative vs aggressive load jumps and comeback ramps — scales Rule 1 increments and the Rule 6 rebuild
- data sources — which wearable or app supplies HR, sleep, and steps — sets how
tracking.mdinterprets their numbers - coaching register — terse prescriptions vs explained reasoning — controls how much rationale accompanies each plan
When To Use
- Designing or adjusting a training program: strength, muscle, endurance, or general conditioning
- Diagnosing a stalled lift, pace, or body-composition plateau
- Deciding what to prescribe after missed sessions, illness, injury, or a multi-week layoff
- Turning workout logs or wearable trends into a concrete next-session prescription
- Adapting training to home equipment, travel, or a compressed schedule
- Not for meal-level nutrition planning (dietitian/calories) or rep-by-rep set logging (gym)
Quick Reference
| Situation | Play |
|---|---|
| Goal: strength | 3-6 reps at 80-90% e1RM, 3-5 min rest, 2-4 compound lifts per session, each lift 2-3x/week |
| Goal: muscle | 6-12 reps at RIR 1-3, 10-20 hard sets per muscle per week, each muscle trained 2x/week |
| Goal: endurance | 80/20 split (Seiler): 80% of weekly minutes conversational, 20% hard |
| Goal: fat loss | Keep lifting heavy to preserve muscle in a deficit; deficit math routes to calories |
| No training history on file | Baseline and starting-load protocol in assessment.md before prescribing loads |
| Returning after 2+ weeks off | Apply the layoff discount (Rule 6); full gap-length table in comeback.md |
| Lift stalled 3 sessions | Run the diagnostic order in Progression and Plateaus; playbooks in progression.md |
| Scale flat 2+ weeks | Weekly-average check in body-composition.md before touching calories or cardio |
| Pain reported | Check Red Flags first, then the DOMS-vs-injury test in Recovery and Readiness |
| No gym, hotel room, 25 minutes | Substitutions and time-crunched templates in minimal-equipment.md |
| Wearable flags "low readiness" | Validate against resting HR + sleep + log (tracking.md) before changing the plan |
| Anything else / no stated goal | ACSM baseline: 150 min/week moderate cardio plus 2 resistance days covering all major muscles |
Depth on demand: assessment.md baselines, testing, starting loads · program-design.md splits, templates, substitutions · progression.md progression models and plateau playbooks · cardio.md zones, intervals, concurrent training · recovery.md readiness, deloads, overtraining · comeback.md layoffs, illness, injury return · body-composition.md fat-loss and muscle-gain phases · minimal-equipment.md home, travel, time-crunched · tracking.md logs and wearables.
Core Rules
- Progress by double progression, not by feel. Assign a rep range (e.g. 3x8-12). When every set reaches the top of the range at the same load, add 2.5% for upper-body lifts or 5% for lower-body lifts and drop back to the bottom of the range. Worked example: 3x12 at 60 kg squat completed, next session is 3x8 at 63 kg. This makes overload automatic and stall detection unambiguous.
- Estimate max with Epley; never test it casually. e1RM = load x (1 + reps/30). Example: 100 kg x 5 reps gives 100 x 1.167 = ~117 kg. Estimate e1RM only from sets of 3-8 reps — the formula drifts above ~10 reps and predicts nothing from a high-rep set. Program percentages from e1RM; true 1RM attempts belong only in a planned peak week.
- Prescribe effort in reps in reserve (RIR). Most sets at RIR 1-3; RIR 0 only on the last set of the final week before a deload. Chronic failure training roughly doubles fatigue for a similar stimulus.
- Volume has a floor and a ceiling. Start near 10 hard sets per muscle per week; add 2 sets/week only while logged performance and sleep hold; past ~20 sets/week returns flatten or reverse (Schoenfeld dose-response work). A hard set ends within 3 reps of failure.
- Cardio: the 80% easy share is the load-bearing number. Easy means full sentences are speakable. For HR targets use Karvonen: target = HRrest + intensity% x (HRmax - HRrest), with HRmax = 208 - 0.7 x age (Tanaka; the 220 - age formula drifts 10+ bpm off past age 40). Read age from
age(config, or~/Clawic/profile.yaml); a measured max (measured_hrmax) overrides the estimate and needs no age. - Layoff discount by gap length. A single missed session (gap under one week) costs nothing: skip it, resume as planned, never stack two workouts into one. One full week missed but fewer than two weeks off: resume at the last logged load with no jump, treating the return as a re-entry rather than a discount. Two or more weeks off: apply the discount, subtracting 10% of load per week missed, floor at 50%. Three weeks off a 100 kg lift means resuming near 70 kg, adding back ~10% per week.
- Deload on evidence, calendar as backstop. Trigger: two consecutive sessions below logged numbers on the same lift, or resting HR 5+ bpm above baseline for 3+ mornings. Deload = 1 week at 50% of normal set count, same loads. Even without triggers, cap hard blocks at 4-8 weeks.
- Every prescription = exercise + sets x reps + load or RIR + rest. "3 sets of bench" is not programmable; "3x8 at 70 kg, RIR 2, rest 3 min" can be checked against the log next session.
Program Design Defaults
- Frequency beats session length: three 45-min full-body sessions outperform one 2-hour session at equal weekly sets, because late-session sets degrade.
- Session order: skill/power work, then the heaviest compound, then secondary compounds, isolation, conditioning last. Hard cardio before squats taxes the lift that pays most.
- Split by available days: 2-3 days = full-body; 4 days = upper/lower; 5-6 days = push/pull/legs. Program to logged attendance plus at most one day, not to stated ambition.
- Weekly movement floor: one squat pattern, one hinge, one horizontal push, one horizontal pull, one vertical push, one vertical pull; isolation fills what is left.
- Rest: 3-5 min on compound strength sets, 1.5-2 min on isolation. Cutting rest to save time cuts next-set load; superset antagonist pairs instead.
- Protein 1.6-2.2 g/kg/day supports adaptation (Morton meta-analysis); anything deeper routes to
caloriesor the dietitian skill.
Full templates, exercise selection, and the equipment substitution table: program-design.md.
Progression and Plateaus
Stall = no rep or load improvement on the same lift across 3 consecutive sessions. Diagnostic order, cheapest first:
- Audit the log, not the program: were those sessions actually at prescribed RIR and rest? Under-resting mimics a plateau.
- Check inputs: average sleep under 7h or an active calorie deficit explains most stalls; fix inputs before touching the program.
- Inputs clean: run a deload (Rule 7), resume at 90% of the stall load, and re-run double progression. Approaching the stall from below breaks it more often than pushing at it.
- Same load stalls again: change one constraint, smallest first: microloading (1.25 kg plates), then rep-range shift (8-12 to 4-6), then exercise variant. One change at a time or the signal of what worked is lost.
Beginners (first ~6 months) skip double progression: add 2.5 kg (upper) or 5 kg (lower) every session until the first stall. Session-to-session progress is the cheapest gains window; spending it on percentage programs wastes months.
Per-symptom plateau playbooks and periodization beyond double progression: progression.md.
Recovery and Readiness
- DOMS vs injury: DOMS is dull, symmetric, in the muscle belly, peaks 24-72h after novel work, and eases during warm-up. Sharp, one-sided, at a joint or tendon, present at rest, or worsening through warm-up = treat as injury and stop loading that pattern (see Red Flags).
- Train through plain DOMS at reduced intensity; soreness does not predict damage, and skipping every sore day halves effective frequency.
- Pre-session readiness check: resting HR within 5 bpm of baseline, sleep 6h or more, appetite normal. Two of three failed: convert the session to Zone 2 cardio or technique work instead of cancelling.
- Detraining rates: strength holds ~3 weeks untrained; VO2max drops measurably within 2-4 weeks. During travel, one heavy full-body session per week maintains strength; cardio needs two short sessions.
- Rebuilding beats building (muscle memory effect): regained strength returns far faster than it was first earned, so the Rule 6 discount costs days, while skipping it risks injury weeks.
Deload execution, the overtraining ladder, and stress-adjusted training: recovery.md.
Red Flags
| Signal (observable) | Suspicion | Action |
|---|---|---|
| Chest pain or pressure during exertion, radiating to arm or jaw | Cardiac event | Stop immediately, emergency services |
| Fainting or near-fainting during or right after exercise | Arrhythmia or cardiac cause | Stop training, clinician this week, no intensity until cleared |
| Cola-colored urine plus severe swelling after an extreme session | Rhabdomyolysis | Emergency care the same day |
| Sharp joint pain with swelling, or pain that alters gait | Structural injury | Stop loading that pattern; clinician if not improving in 5-7 days |
| Numbness, tingling, or weakness down a limb | Nerve involvement | Stop the provoking exercise, clinician |
| Resting HR 5+ bpm elevated for a full week plus performance and sleep decline despite a deload | Overtraining syndrome or illness | Suspend hard training; clinician if unresolved in 2 weeks |
| Wheeze or chest tightness triggered by exercise | Exercise-induced bronchoconstriction | Clinician before further intensity work |
| Pregnancy, or a diagnosed cardiac, metabolic, or renal condition, and no clinician clearance on file | Population needing medical sign-off | Advise clearance before new vigorous programming; keep current cleared activity |
Anything in this table suspends every protocol above: route to a clinician.
Output Gates
Before emitting any training prescription, verify:
- Does every exercise line carry sets x reps + load or RIR + rest (Rule 8)?
- Is weekly volume per muscle inside the 10-20 hard-set corridor (Rule 4)?
- Was the next load computed from the logged last session, not from memory or the template?
- If pain, dizziness, or unusual fatigue was mentioned anywhere, was the Red Flags table checked first?
- After a gap of 2+ weeks, was the layoff discount applied (Rule 6)?
- Does the plan fit
training_days,session_minutes, andequipmentfrom config, not an idealized gym?
Traps
| Trap | Why it fails | Do instead |
|---|---|---|
| Programming to stated ambition | Adherence predicts results more than program choice; 6-day plans collapse to 0 | Logged attendance + max 1 day |
| Adding volume to break a stall | Stalls are usually recovery-limited; more sets deepen the hole | Diagnostic order in Progression and Plateaus |
| Every cardio session moderately hard | The gray zone: too hard to recover from, too easy to drive adaptation | 80/20 split (Rule 5) |
| Changing the program every 4 weeks | Double progression needs 6+ weeks to expose a real stall; novelty resets the signal | One variable, only at a diagnosed stall |
| Testing 1RM to measure progress | A max attempt costs a week of recovery and spikes injury exposure | Epley e1RM from rep sets (Rule 2) |
| Guilt-framing missed sessions | Shame predicts dropout; the log is data, not a verdict | Apply Rule 6 and move on |
| Treating wearable readiness scores as ground truth | Proprietary scores blend unvalidated inputs | Raw resting HR + sleep hours + log vs performance |
| Chasing soreness as proof of a good session | DOMS tracks novelty, not growth; a stable program stops hurting while still working | Judge by log trend (tracking.md), not by ache |
| Copying an advanced athlete's program | Their volume tolerance took years; their program is the result of adaptation, not the cause | Start at the Rule 4 floor and earn additions |
Where Experts Disagree
- Training to failure vs stopping short. Failure maximizes per-set stimulus but roughly doubles fatigue (Rule 3). Default: RIR 1-3 on compounds; failure defensible only on the last set of single-joint work, where a missed rep costs nothing.
- How much periodization non-athletes need. Comparative reviews (Afonso) find little advantage for complex periodization over progressive overload plus deloads in non-competitors. Default: double progression with Rule 7 deloads; block periodization only when peaking for a dated event (
progression.md). - Cardio while building muscle. The interference camp minimizes it; the health camp keeps it. Boundary: interference is real mainly at high endurance volumes in the same muscles (Hickson). Default: keep the ACSM 150-min floor, low-impact, placed by the ordering rules in
cardio.md.
Related Skills
More Clawic skills, get them at https://clawic.com/skills/fitness (install if the user confirms):
gymfor rep-by-rep workout logging and in-session routine executionrunningfor run-specific pacing, race preparation, and running injury preventioncaloriesfor the deficit or surplus math behind fat-loss and muscle-gain goalssleepwhen readiness checks point at sleep as the limiting input
Feedback
- If useful, star it: https://clawic.com/skills/fitness
- Latest version: https://clawic.com/skills/fitness
Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/fitness.
Questions people ask
- How does it decide when to increase weight?
- It uses double progression: once every set reaches the top of the assigned rep range at the same load, increase upper-body loads by 2.5% or lower-body loads by 5%, then return to the bottom of the range. Beginners instead add 2.5 kg upper or 5 kg lower each session until their first stall.
- Can it adjust training after missed sessions or a long break?
- Yes. A missed session under one week is skipped without stacking workouts; after one full week, resume the last load without a jump. For gaps of two or more weeks, it subtracts 10% of load per week missed, with a 50% floor, then rebuilds gradually.
- Does it use heart-rate and wearable data?
- It calculates cardio targets with the Karvonen formula, using measured HRmax when available or the Tanaka age estimate otherwise. Low-readiness alerts are checked against resting heart rate, sleep, and training logs before the plan changes.
Related skills
Track drinks from everyday language and calculate context-aware daily hydration targets.
Turn a sleep complaint into a measured protocol with timed light, wake anchors, cutoffs, and safety triage.
Run goal-focused coaching sessions with clear questions, commitments, accountability, and progress checks.
Choose the right planning depth and produce risk-ordered, checkable steps before execution.
Log cycles and symptoms locally, predict personal date ranges, and flag patterns that need clinical care.