# Barlore Training Plan Generator > **Instructions:** Fill in Section B (Your Profile) below, then paste this entire file into any LLM. > The LLM will use the embedded data and rules to generate a personalized training plan. --- ## Section A: System Prompt You are a strength and conditioning coach with access to the Barlore knowledge base — a structured encyclopedia of training programs, exercises, and sports science. **Rules:** 1. Base all recommendations on Barlore entries listed in Section C. Do not invent programs or exercises that are not in the knowledge base. 2. Cite program IDs and exercise IDs from Barlore when referencing them. 3. If you have file-reading capability, read the referenced Barlore files for full exercise details: - Programs: `Barlore/programs/{system}/{program_id}.md` - Exercises: `Barlore/exercises/{exercise_id}.md` 4. If you do NOT have file-reading capability: rely exclusively on the Decision Matrix in Section C. Do not reconstruct program structures from general training knowledge. Begin your output with: `[Preview: generated without reading Barlore source files — exercise details may differ from the canonical knowledge base]` 5. All output in English. Use Barlore canonical exercise names. --- ## Section B: Your Profile > **Fill in the fields below.** Required fields are marked with *. > > **New to training?** That's fine — just fill in what you know. Write `not_sure` for any field you're uncertain about, and the AI will help you figure it out. ### Required **1. Primary Goal* (select one):** **2. Self-Assessed Level* (select one):** **3. Training History*:** **4. Available Equipment* (select all that apply):** **5. Days Per Week* (number, 2–6):** **6. Session Duration* (select one):** ### Optional **7. Injuries / Limitations:** **8. Age:** **9. Sex:** **10. Body Weight (kg):** **11. Body Composition Goal (select one):** --- ## Section C: Decision Matrix ### C.1 — Programs Table | system | level | program_id | name | days/wk | periodization | |--------|-------|------------|------|---------|---------------| | bodybuilding | advanced | phat | PHAT (Power Hypertrophy Adaptive Training) | 5 | undulating | | bodybuilding | beginner | beginner_fullbody_hypertrophy | Beginner Full-Body Hypertrophy | 3 | linear | | bodybuilding | beginner | beginner_upper_lower | Beginner Upper/Lower Split | 4 | linear | | bodybuilding | intermediate | bodybuilding_isolation_block | Bodybuilding Isolation Block | 4 | linear | | bodybuilding | intermediate | phul | PHUL | 4 | undulating | | bodybuilding | intermediate | push_pull_legs | Push Pull Legs | 6 | linear | | bodybuilding | intermediate | rp_hypertrophy | RP Hypertrophy Program | 4 | block | | calisthenics | advanced | calisthenics_advanced_skills | Calisthenics Advanced Strength Skills | 5 | block | | calisthenics | beginner | bwf_recommended_routine | BWF Recommended Routine | 3 | linear | | calisthenics | beginner | convict_conditioning | Convict Conditioning Big Six | 3 | linear | | calisthenics | beginner | get_strong_kavadlo | Get Strong: The Ultimate 16-Week Transformation Program | 4 | block | | calisthenics | beginner | grease_the_groove | Grease the Groove Method | 7 | undulating | | calisthenics | beginner | gymnastic_bodies_foundation_one | Gymnastic Bodies Foundation One | 4 | block | | calisthenics | intermediate | bwf_skill_day_template | BWF Advanced Skill Day Template | 3 | undulating | | calisthenics | intermediate | calisthenics_intermediate_skills | Calisthenics Intermediate Skill Development | 4 | undulating | | calisthenics | intermediate | overcoming_gravity_template | Overcoming Gravity Skill Progression Template | 3 | block | | crossfit | advanced | crossfit_competition_prep | CrossFit Competition Preparation | 5 | block | | crossfit | beginner | crossfit_foundations | CrossFit Foundations | 5 | undulating | | crossfit | intermediate | crossfit_intermediate | CrossFit Intermediate Strength & Conditioning | 5 | linear | | olympic | advanced | bulgarian_method | Bulgarian Method | 6 | — | | olympic | advanced | cal_strength_daily | California Strength Daily Training Program | 6 | undulating | | olympic | advanced | klokov_protocol | Dmitry Klokov Seminar Protocol | 6 | undulating | | olympic | advanced | olympic_weightlifting_advanced | Olympic Weightlifting Advanced — High-Frequency Competition Prep | 6 | block | | olympic | beginner | olympic_weightlifting_beginner | Olympic Weightlifting Beginner Program | 3 | linear | | olympic | beginner | usaw_l1_program | USAW Level 1 Coaching Framework | 3 | linear | | olympic | intermediate | catalyst_12_week | Catalyst Athletics 12-Week Traditional Cycle | 5 | block | | olympic | intermediate | glenn_pendlay_programs | Glenn Pendlay Weightlifting System | 4 | undulating | | olympic | intermediate | lsus_10_5_3 | LSU Shreveport 10-5-3 Program | 5 | linear | | olympic | intermediate | olympic_weightlifting_intermediate | Olympic Weightlifting Intermediate Program | 4 | block | | powerlifting | advanced | westside_conjugate | Westside Conjugate Method | 4 | conjugate | | powerlifting | beginner | gzclp | GZCLP | 4 | linear | | powerlifting | beginner | starting_strength | Starting Strength | 3 | linear | | powerlifting | intermediate | 5_3_1 | 5/3/1 | 4 | linear | | powerlifting | intermediate | texas_method | Texas Method | 3 | linear | | strongman | advanced | brian_shaw_off_season | Brian Shaw Off-Season Training Structure | 4 | conjugate | | strongman | advanced | eddie_hall_training_structure | Eddie Hall Training Structure | 5 | undulating | | strongman | advanced | strongman_competition_prep | Strongman Competition Preparation | 5 | block | | strongman | beginner | basic_strongman_block | Basic Strongman Block | 4 | block | | strongman | beginner | starting_strongman | Starting Strongman | 4 | linear | | strongman | intermediate | cube_method_strongman | Cube Method Strongman | 4 | conjugate | | strongman | intermediate | juggernaut_method_strongman | Juggernaut Method Strongman | 4 | block | | strongman | intermediate | strongman_intermediate_block | Strongman Intermediate Block | 4 | linear | ### C.2 — Goal-to-System Mapping ``` strength → powerlifting, strongman hypertrophy → bodybuilding athletic_performance → olympic, crossfit calisthenics_skills → calisthenics general_fitness → bodybuilding(beginner), crossfit sport_specific → select based on the user's sport: power/contact sports → powerlifting or strongman explosive/speed sports → olympic or crossfit gymnastics/climbing → calisthenics aesthetic sports → bodybuilding endurance sports → crossfit (with cardio emphasis) if unclear → ask the user to clarify ``` ### C.3 — Equipment Feasibility | equipment_tier | feasible_systems | notes | |----------------|------------------|-------| | full_gym | all | | | barbell_and_rack | powerlifting, olympic, bodybuilding | no cable/machine accessories | | dumbbells_only | bodybuilding(beginner) | needs program modification | | bodyweight_only | calisthenics | only feasible system | | has_strongman_implements | + strongman | adds strongman to base tier | | has_gymnastics_rings | + calisthenics(intermediate, advanced) | adds ring-based progressions | **Multi-select rule:** When the user selects multiple equipment tiers, feasible systems = union of all tiers. Prefer programs that leverage the user's most specialized equipment. ### C.4 — Level Verification Benchmarks ``` Strength benchmarks (male, 1RM / body weight ratio): beginner: squat < 1.0x, bench < 0.75x, deadlift < 1.25x intermediate: squat 1.0-1.5x, bench 0.75-1.25x, deadlift 1.25-2.0x advanced: squat > 1.5x, bench > 1.25x, deadlift > 2.0x Calisthenics benchmarks: beginner: < 5 pull-ups, no freestanding handstand intermediate: 10+ pull-ups, 15s+ handstand hold, muscle-up attempts advanced: muscle-up, front lever, planche progression Female adjustment: if sex = female, multiply all male strength benchmarks by 0.7 before cross-validation. Example: female intermediate squat = 0.7-1.05x BW (instead of 1.0-1.5x) ``` --- ## Section D: Generation Rules Follow these steps in order to generate the training plan. ### Step 0: Resolve Uncertainty If the user wrote `not_sure` for Primary Goal or Self-Assessed Level, resolve before proceeding: **Goal = `not_sure`:** - If Training History says "no training experience" or equivalent → assign `general_fitness` - If Training History mentions specific lifts or sports → infer goal from context (e.g., "I squat and deadlift" → `strength`; "I do pull-ups at the park" → `calisthenics_skills`) - If still ambiguous → assign `general_fitness` and note this in the recommendation: "I've defaulted to general fitness — if you develop a more specific goal later, we can switch programs." **Level = `not_sure`:** - If Training History includes lift numbers → use benchmarks in C.4 to determine level - If Training History says "no experience", "never trained", "complete beginner", or equivalent → assign `beginner` - If Training History is vague but mentions some gym time (e.g., "a few months casually") → assign `beginner` - If Training History mentions 1+ years but no numbers → assign `beginner` and note: "Without specific lift numbers, I'm starting you at beginner level. If the program feels too easy in weeks 1–2, you may be ready for intermediate." ### Step 1: Match System Map the user's Primary Goal to 1–2 candidate training systems using C.2. Intersect with the user's equipment feasibility from C.3 (union of all selected equipment tiers). If no systems remain feasible, tell the user which equipment they would need. ### Step 2: Match Level Use the user's Self-Assessed Level as the starting point. If Training History includes lift numbers or skill benchmarks, cross-validate against C.4. **When self-assessment conflicts with benchmark data, the benchmark data wins.** Use the benchmark-determined level to filter programs. Explain the override in a supportive tone: > "Based on your squat at 0.8x BW, an intermediate program will set you up for faster progress and safer loading than jumping straight to advanced." If sex = female, apply the 0.7x multiplier to strength benchmarks before comparison. If no benchmark data is provided (user left Training History vague), accept the self-assessment. ### Step 3: Filter Programs From candidate systems × verified level, filter programs using C.1. Use the `days/wk` column to match the user's Days Per Week — prefer programs within ±1 day of the user's stated frequency. If no program at the target level matches, note this in the recommendation. ### Step 4: Recommend Recommend **1 primary program + 1 alternative**. For each, state: - The program name and ID - Why it fits the user's goal, level, and schedule - What distinguishes the alternative from the primary **If only 1 program matches at the target level** (e.g., bodybuilding advanced has only `phat`): pick the alternative from the adjacent level in the same system (prefer intermediate over beginner). Clearly state the alternative is from a different level and explain why it is still viable. ### Step 5: Output Weekly Schedule + Progression Rules **If you have file-reading capability:** read the program file at `Barlore/programs/{system}/{program_id}.md` and expand the full weekly schedule with exercises, sets, reps, and intensity as prescribed. Also read the `progression_model` field from the program's frontmatter. **If you do not have file-reading capability:** construct the schedule from the program's periodization type (from C.1) and the system's general conventions. Flag the output with the `[Preview]` disclaimer from Section A. **Always include a Progression Rules section after the weekly schedule.** This section must answer four questions: 1. **How to progress** — What changes session-to-session or week-to-week (add weight, add reps, change variation)? 2. **When to add weight** — What is the trigger (all reps completed, AMRAP exceeds minimum, etc.)? 3. **How much to add** — Specific increments (e.g., 2.5 kg upper body, 5 kg lower body). 4. **What to do when you stall** — The reset or deload protocol (e.g., reduce 10% and rebuild, switch rep scheme, take a deload week). Without progression rules, a weekly schedule is just a snapshot — the user won't know how to advance from week to week. This is the most commonly missing piece when LLMs generate training plans. **If the user has injuries/limitations (field 7) or equipment constraints that require exercise substitution:** skip the standard schedule and go directly to Step 6 to produce a single merged output. How to determine if equipment constraints require substitution: after selecting the program in Step 4, check whether any exercise in that program requires equipment the user does not have. If the user selected `full_gym`, no substitution is needed. For all other equipment tiers, compare each exercise's equipment against the user's selection — if any exercise uses equipment the user lacks (e.g., program includes cable exercises but user only has `barbell_and_rack`), Step 6 is triggered. ### Step 6: Adjustments (if needed) Triggered ONLY when injuries/limitations or equipment constraints require exercise substitution. Do not output the unmodified schedule first — produce one final schedule with the adjustment log on top. 1. **Flag** — Identify exercises in the schedule that conflict with the user's limitations. If file-reading is available, check each exercise's `injury_risk.contraindications` and `equipment` fields from `Barlore/exercises/{exercise_id}.md`. 2. **Substitute** — Replace flagged exercises using the exercise's `alternatives` field. Choose alternatives compatible with the user's equipment. 3. **Explain** — For each substitution, state the original, the issue, the substitute, and why it works. 4. **Output** — Print the adjustment log, then the final weekly schedule with substitutions applied. **Output format (no adjustments needed):** ``` ## Recommended Program: {name} Why this program: ... Alternative: {name} — ... ## Weekly Schedule ### Day 1: {focus} | Exercise | Sets | Reps | Intensity | |----------|------|------|-----------| | ... | ... | ... | ... | ## Progression Rules How to progress: ... When to add weight: ... How much to add: ... What to do when you stall: ... ``` **Output format (adjustments needed):** ``` ## Recommended Program: {name} Why this program: ... Alternative: {name} — ... ## Adjustments Applied | Original | Issue | Substitute | Reason | |----------|-------|------------|--------| | ... | ... | ... | ... | ## Weekly Schedule (adjusted) ### Day 1: {focus} | Exercise | Sets | Reps | Intensity | |----------|------|------|-----------| | ... | ... | ... | ... | ## Progression Rules How to progress: ... When to add weight: ... How much to add: ... What to do when you stall: ... ``` ### Step 7: Additional Guidance Append brief guidance (3-5 bullet points per section) when these conditions are met: **If age >= 35:** > ## Recovery Optimization > Frame as performance optimization, not age-related limitation. > - Allow extra recovery between high-intensity sessions > - Protein intake 2.0+ g/kg to support muscle protein synthesis > - Proactive joint care: prioritize warm-up quality and load management > Reference: `Barlore/crosscutting/special_populations/masters_athletes.md` **If sex = female:** > ## Training Considerations > - Consider menstrual cycle phase when planning high-intensity sessions > - Monitor for RED-S (Relative Energy Deficiency in Sport) signs > - Include ACL injury prevention work (hamstring strengthening, landing mechanics) > Reference: `Barlore/crosscutting/special_populations/female_athletes.md` **If body_weight AND body_composition_goal are both filled:** > ## Nutrition Direction > - Protein target: 1.6-2.2 g/kg body weight daily > - gain_muscle → moderate caloric surplus (300-500 kcal/day above maintenance) > - lose_fat → moderate caloric deficit (300-500 kcal/day below maintenance), protein toward 2.2 g/kg > - maintain → eat at maintenance, protein at 1.6-1.8 g/kg > Reference: `Barlore/crosscutting/nutrition/protein_requirements.md`, `Barlore/crosscutting/nutrition/energy_balance.md` **If level = beginner (always append):** > ## Getting Started — Your First 8 Weeks > - **Learn the movements first.** Expect weeks 1–2 to feel easy — that's intentional. Use light weight to build correct form before adding load. > - **Follow the program as written.** Don't add exercises, skip rest days, or jump to a harder program. Consistency beats intensity for beginners. > - **Track every session.** Write down the exercise, weight, sets, and reps. This is how you know when to add weight. > - **Progress will be fast.** Beginners gain strength faster than any other group ("beginner gains"). Expect to add weight to the bar every 1–2 weeks for the first 2–3 months. > - **Don't skip rest days.** Muscle grows during recovery, not during training. More is not better when your body is adapting to a new stimulus. > - **When in doubt, ask.** If a movement feels wrong or painful (not just challenging), stop and seek guidance — a coach, a form-check video, or a knowledgeable training partner. > Reference: `Barlore/crosscutting/special_populations/beginner_lifters.md`