返回 Skill 列表
extension
分类: AI Agent 能力无需 API Key

add-exercises

向锻炼追踪数据库中添加新的练习。当被要求添加练习、扩展练习库或检查存在哪些练习时使用。触发词包括“添加练习”、“新练习”、“练习数据库”、“有哪些练习”、“缺少的练习”、“扩展练习”。

person作者: jakexiaohubgithub

Adding Exercises to the Workout Tracker

File Location

All exercises are defined in: src/data/popularExercises.ts

File Structure

The file is organized by MUSCLE GROUP → EQUIPMENT TYPE, with exercises sorted alphabetically within each section:

CHEST
  ├── Barbell (1)
  ├── Dumbbell (1)
  ├── Cable (2)
  ├── Machine (5)
  └── Bodyweight (7)
BACK
  └── ...

The file header contains a summary showing counts for each muscle/equipment combination.

Exercise Schema

{
  name: string        // Unique name (duplicates throw runtime error)
  equipment: Equipment
  muscle: Muscle
  type: ExerciseType
  metrics: Metrics
}

Valid Types

| Field | Valid Values | |-------|-------------| | equipment | 'barbell', 'dumbbell', 'machine', 'cable', 'bodyweight', 'kettlebell', 'band', 'ez-bar', 'hex-bar', 'club', 'battle-rope' | | muscle | 'chest', 'back', 'legs', 'shoulders', 'arms', 'core' | | type | 'compound', 'isolation', 'stability', 'cardio', 'isometric' | | metrics | 'weight-reps', 'reps-only', 'duration', 'distance-duration', 'weight-distance' |

Metrics Guidelines

| Equipment/Type | Typical Metrics | |---------------|-----------------| | Weighted exercises (barbell, dumbbell, machine, cable, kettlebell) | 'weight-reps' | | Bodyweight strength | 'reps-only' | | Holds/planks | 'duration' | | Cardio (running, rowing) | 'distance-duration' |

Type Guidelines

| Type | Description | Examples | |------|-------------|----------| | compound | Multi-joint movements | Squats, Deadlifts, Bench Press | | isolation | Single-joint movements | Bicep Curls, Leg Extensions | | stability | Dynamic balance/core exercises | Bird Dogs, Single-Leg Deadlift | | cardio | High heart rate | Burpees, Jump Rope | | isometric | Static holds under tension | Wall Sit, Dead Hang, L-Sit Hold |

How to Add Exercises

Step 1: Check What Exists

Read the file header summary to see current counts:

* - LEGS (71): barbell: 8, dumbbell: 9, kettlebell: 3, cable: 3, machine: 26, bodyweight: 22

Or search for specific exercises:

grep -i "squat" src/data/popularExercises.ts

Step 2: Find the Right Section

Exercises are organized by muscle group, then equipment. Find the correct section:

// ═══════════════════════════════════════════════════════════════════════════════
// LEGS
// ═══════════════════════════════════════════════════════════════════════════════

// --- Legs: Barbell (8) ---
{ name: 'Barbell Calf Raises', equipment: 'barbell', muscle: 'legs', type: 'isolation', metrics: 'weight-reps' },

Step 3: Add in Alphabetical Order

Insert the new exercise in the correct alphabetical position within its section:

// --- Legs: Barbell (8) ---   ← Update count to (9)
{ name: 'Barbell Calf Raises', equipment: 'barbell', muscle: 'legs', type: 'isolation', metrics: 'weight-reps' },
{ name: 'Barbell Good Mornings', equipment: 'barbell', muscle: 'legs', type: 'compound', metrics: 'weight-reps' },
{ name: 'Barbell Hack Squat', equipment: 'barbell', muscle: 'legs', type: 'compound', metrics: 'weight-reps' },  ← NEW
{ name: 'Barbell Hip Thrust', equipment: 'barbell', muscle: 'legs', type: 'compound', metrics: 'weight-reps' },

Step 4: Update Counts

  1. Update the section comment count: // --- Legs: Barbell (8) ---(9)
  2. Update the file header summary

Step 5: Verify

Run type-check to ensure no duplicates or type errors:

pnpm type-check

The file has runtime duplicate detection - if you add a duplicate name, it will throw an error immediately.

Common Mistakes to Avoid

  1. Duplicate names: Every exercise name must be unique across ALL muscles/equipment
  2. Wrong section: Always add to the correct muscle AND equipment section
  3. Not alphabetical: Keep exercises sorted A-Z within each section
  4. Forgetting counts: Update both the section count and header summary
  5. Wrong metrics: Use 'weight-reps' for weighted, 'reps-only' for bodyweight

Example: Adding Multiple Exercises

When adding multiple exercises at once:

  1. Group them by muscle → equipment
  2. Add each to its correct section alphabetically
  3. Update all affected counts
  4. Run pnpm type-check once at the end