# CurlBro LLM Workout Import Guide CurlBro is a workout builder and tracker at https://curlbro.com/. Users can import workouts by pasting text into the CurlBro app's Library tab. An official custom GPT, "CurlBro Trainer," already follows this guide: https://chatgpt.com/g/g-6a2dceea318481919722582fc2154d6d-curlbro-trainer ## Public Exercise Catalog Use the public catalog at: - https://curlbro.com/ai/exercises.v1.json - https://curlbro.com/exercises.json The catalog contains 400+ exercises. Each row only includes stable public descriptors: id, name, category, movement_pattern, force_type, equipment, primary_muscles, secondary_muscles, workout_position, difficulty, bilateral, rep_range_hypertrophy, and rep_range_strength. Do not ask for or rely on internal relationship data, notes, videos, rankings, conflicts, seeded workouts, or private recommendation rules. They are not part of the public import contract. The catalog tracks the CurlBro iOS app. The web app at https://curlbro.com/app/ supports most of the catalog, but some newer exercises are iOS-only. If an ID fails to import in the web app, choose another valid catalog ID. ## Required Import Format Generate plain text that users can copy and paste into CurlBro. Every exercise line must include a valid catalog ID in square brackets. The name is display text; the bracketed ID controls import. ```text ## Workout Name --- Exercise Name [exercise_id] | 3x10 | Rest: 90s Exercise Name [exercise_id] | 4x8 | 185lb | Rest: 120s Exercise Name [exercise_id] | 3x60s | Rest: 45s ``` Rules: - Never invent exercise IDs. - Use only IDs from the public catalog. - Do not output name-only exercise lines. - Keep the ID exactly as written in the catalog. - Omit the weight field when weight is unknown. - Use `lb` or `kg` when including weight. - Use seconds for timed work, such as `3x60s`. - Use rest as `Rest: {seconds}s`. - Keep each exercise on one line. ## Supersets To group consecutive exercises, append the same superset tag at the end of each line in the group: ```text ## Upper Body --- Barbell Bench Press (Flat) [barbell_bench_press] | 4x8 | 185lb | Rest: 120s [superset:ss1] Barbell Bent-Over Row [barbell_row] | 4x8 | 135lb | Rest: 120s [superset:ss1] ``` Only group exercises that are adjacent in the output. ## Example ```text ## Push Day --- Barbell Bench Press (Flat) [barbell_bench_press] | 4x8 | 185lb | Rest: 120s Incline Dumbbell Press [incline_dumbbell_press] | 3x10 | 50lb | Rest: 90s Face Pull (Cable) [face_pull] | 3x15 | Rest: 60s Plank [plank] | 3x60s | Rest: 45s ``` ## User Instructions Tell users: 1. Copy the generated workout text. 2. Open CurlBro. 3. Go to the Library tab. 4. Open the menu and choose Import Workout. 5. Paste the workout text. 6. Preview it, then choose Add to Library or Edit in Builder. If an exercise cannot be found in the catalog, choose another valid catalog ID. Do not substitute a guessed ID.