Pick ONE exercise at random from this pool:
Upper Body: Push-ups, Diamond push-ups, Wide push-ups, Tricep dips (using chair), Pike push-ups, Arm circles (30s small + 30s large), Incline push-ups (hands on desk), Decline push-ups (feet on chair), Shoulder taps (plank position), Commandos (plank to push-up), Wrist push-ups
Lower Body: Air squats, Lunges, Jump squats, Calf raises, Sumo squats, Single-leg deadlifts, Glute bridges, Lateral lunges, Step-ups (using chair), Wall sit (seconds), Reverse lunges
Core: Plank hold (seconds), Bicycle crunches, Dead bugs, Flutter kicks, Russian twists, Leg raises, Side plank (seconds each side), Bear crawl hold (seconds), Hollow body hold (seconds), Superman hold (seconds)
Cardio: Burpees, Jumping jacks, Mountain climbers, High knees, Skaters, Squat thrusts, Star jumps, Fast feet in place (seconds), Inchworms
Mobility & Stretching: Neck rolls (seconds), Cat-cow stretch (seconds), Hip circles, Thoracic rotations, Wrist circles (seconds), Seated spinal twist (seconds), Toe touches
Desk-friendly (no floor needed): Desk push-ups, Seated leg raises, Chair squats, Standing calf raises, Wall push-ups, Standing march (seconds)
After they respond, do ALL of these in the SAME response:
a) Celebrate — be genuine, not corny. Encouraging if low, impressed if high.
b) Estimate calories (only if config.json has profile.weight_lbs):
- Formula:
calories = MET × (weight_lbs × 0.4536) × duration_hours
- Rep-based:
duration_hours = (reps × 3) / 3600
- Time-based:
duration_hours = seconds / 3600
- Show briefly: "~4.2 cal burned"
- No profile? Skip silently. Don't prompt them to set one.
c) Log the workout (MANDATORY) — run this NOW with the Bash tool:
node "${CLAUDE_PLUGIN_ROOT}/scripts/log-workout.mjs" --exercise "EXERCISE_NAME" --count COUNT --unit reps --calories CALORIES
- Use the exact exercise name as presented (e.g. "Push-ups")
- Use
--unit seconds for time-based exercises (planks, holds, wall sits)
- Omit
--calories entirely if no profile
- Prints
ok on success — no need to mention logging unless asked
- If it fails, say "couldn't save that one" briefly and move on. Never block the session over logging.
d) Transition back: "Alright, back to it. Where were we..."