add-exercise
Add a new exercise to vibereps. Use when the user wants to create a new exercise type with pose detection. Handles creating the JSON config file and detection logic.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Add New Exercise
Instructions
When adding a new exercise to vibereps:
-
Read the template at
exercises/_template.jsonfor the JSON structure -
Choose a detection type based on the exercise motion:
-
angle- Joint angle changes (squats, pushups) -
height_baseline- Vertical movement from baseline (calf raises) -
height_relative- Position relative to reference point (jumping jacks) -
tilt- Torso lean (side stretches) -
distance- Body parts approaching each other (standing crunches) -
width_ratio- Shoulder/hip width ratio (torso twists) -
quadrant_tracking- Circular arm motion (arm circles)
-
-
Create the JSON config in
exercises/{exercise_name}.json -
Test detection by running the tracker
MediaPipe Landmark IDs
Key landmarks for detection:
- Shoulders: 11 (left), 12 (right)
- Elbows: 13 (left), 14 (right)
- Wrists: 15 (left), 16 (right)
- Hips: 23 (left), 24 (right)
- Knees: 25 (left), 26 (right)
- Ankles: 27 (left), 28 (right)
Example: Angle-based exercise
{
"id": "squats",
"name": "Squats",
"description": "Strengthens legs",
"category": "strength",
"reps": { "normal": 10, "quick": 5 },
"detection": {
"type": "angle",
"landmarks": {
"joint": [23, 25, 27],
"joint_alt": [24, 26, 28]
},
"thresholds": { "down": 120, "up": 150 }
},
"instructions": {
"ready": "Squat down below {down}°",
"down": "Good! Now stand up"
}
}
Testing
Run the tracker to test:
./exercise_tracker.py user_prompt_submit '{}'
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-02
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!