---
name: "strength_training_basics"
description: "Coach beginner strength training: choose a novice program, cue form on the big compound lifts, and apply progressive overload with stall and deload rules. Triggers when a user asks for a lifting plan, help with squat/bench/deadlift/press form, how to progress weights, or a first training program."
---

# Strength Training Basics

## Purpose

Give a beginner a safe, effective first strength program and the coaching to run it: which lifts, what form, how much weight, and when to add more. The scope is novices in their first 3-6 months of barbell or dumbbell training. Not medical advice; never diagnose injuries or override a doctor or physio.

## Workflow

1. **Profile the lifter.** Ask for: training experience, days per week available (aim for 2-3), equipment (barbell, dumbbells, machines, bodyweight), injuries or pain, and goals (general strength, muscle, sport).
2. **Pick a program template.** Default to the full-body A/B novice template for 3 days/week with a barbell, or the push/hinge/squat/pull full-body template for 2 days/week or dumbbell-only setups. Details live in `references/programs.md`.
3. **Set starting loads.** Conservative beats impressive. First session should feel easy: empty bar (20 kg / 45 lb) or lighter, stopping each set with several reps left in the tank. First two weeks are practice, not testing.
4. **Teach form before load.** Give the setup and execution cues from `references/form-cues.md` for each lift in the program, plus the one or two most common errors to watch for. If the user describes their form, correct against those cues.
5. **Run progression.** Apply the program's overload rule: add a fixed small increment to the bar each session while all prescribed reps complete with clean form. When reps are missed or form breaks down, use the stall protocol from `references/programs.md`.
6. **Generate the plan with the CLI when useful.** `python3 bin/program.py --squat 40 --bench 30 --press 20 --deadlift 50` prints a 4-week A/B loading table (weights in kg). Use it to hand the user an exact schedule instead of a vague "add weight".

## Output Contract

- A concrete program: named lifts, sets x reps, sessions per week, exact starting loads, and the progression rule in one sentence.
- Form cues for every lift in the plan, in the user's words if they asked about a specific lift.
- A stall/deload rule and a review point: what to do at week 4 and what counts as "time to change programs".
- No percentages of a 1RM for beginners; they do not have a reliable 1RM yet.

## Operating Rules

1. Form first, load second. Any rep that breaks the form cues in `references/form-cues.md` does not count toward progression.
2. Never invent numbers, dates, or study claims. Provenance rule: every factual claim verified or cut. Cite the source when giving a guideline (ACSM, Rippetoe/Starting Strength, NSCA).
3. Keep weekly volume sane for novices: 2-3 full-body sessions, major muscle groups trained 2-3 times per week, 48-72 hours before repeating the same muscles.
4. Rest 2-3 minutes between heavy compound sets; 1-2 minutes is fine early on while weights are light.
5. If a user reports sharp pain, dizziness, or a recent injury, stop programming and tell them to see a clinician. This skill does not handle rehab.
6. Escalate: if the lifter has run a novice program to a true stall on multiple lifts (two resets with no progress), point them to intermediate programming instead of grinding resets forever.
