Back to Skills

fitness-tracker

verified

Log and analyze workouts. Use when the user wants to (1) record a workout at the gym via conversation, (2) parse workout markdown files to CSV, (3) query exercise history with DuckDB, or (4) track fitness progress. Triggers on "log workout", "record workout", "track workout", "add exercises", "what did I lift", etc.

View on GitHub

Marketplace

claude-skills

mberg/claude-skills

Plugin

cortex

Repository

mberg/claude-skills

skills/fitness-tracker/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/mberg/claude-skills/blob/main/skills/fitness-tracker/SKILL.md -a claude-code --skill fitness-tracker

Installation paths:

Claude
.claude/skills/fitness-tracker/
Powered by add-skill CLI

Instructions

# Fitness Tracker

Log workouts via conversation and save to github and analyze workout data with DuckDB.

## Chat Mode - Logging Workouts

Use this conversational flow when the user wants to record a workout:

### Step 1: Date
Ask for the workout date or default to today. Format: YYYY-MM-DD

### Step 2: Muscle Group
Ask what they're working. Categories from `reference/exercises.md`:
- Chest, Back, Shoulders, Legs
- Arms - Biceps, Arms - Triceps
- Core, Compound, Cardio

### Step 3: Exercise Selection
Show exercises from that category. Let user pick or type their own.

### Step 4: Sets Entry
User enters sets naturally:
- "135 for 10, 10" → `- 135 - 10, 10`
- "185 - 8, 8, 8" → `- 185 - 8, 8, 8`
- "10, 10, 10" (bodyweight) → `- 10, 10, 10`
- "30 minutes" (cardio) → `- 30m`
- Add "warmup" or other notes as `// comment`

### Step 5: More Exercises?
Ask if they want to add another exercise. Repeat steps 2-4 as needed.

### Step 6: Save
Save the workout to GitHub (or Obsidian as fallback):
- File: `YYYY-MM-DD.md` (one file per day, e.g., `2026-01-02.md`)
- If file exists, append new exercises (multiple workouts per day are supported)
- Push to GitHub using `scripts/github_sync.py`

### Example Conversation
```
User: Log my workout
Claude: What date? (default: today, 2026-01-02)
User: Today
Claude: What are you working? (Chest, Back, Shoulders, Legs, Arms, Core, Cardio)
User: Chest
Claude: Chest exercises: Bench Press, Incline Bench Press, Dumbbell Press, Cable Flyes, Push-ups, Dips...
User: Bench
Claude: Enter your sets (e.g., "135 - 10, 10" or "185 for 8, 8, 8"):
User: 135 for 10, 10 warmup, then 185 - 8, 8, 8
Claude: Got it:
  Bench Press
  - 135 - 10, 10 // warmup
  - 185 - 8, 8, 8

  Another exercise?
User: Cable flyes, 30 - 12, 12, 12
Claude: Added. Another exercise?
User: Done
Claude: Saved to 2026-01-02.md
```

## Workout File Format

Files are named `YYYY-MM-DD.md` (one file per day). Multiple workouts in a day append to the same file.

Example: `2026-01-02.md`
``

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
6454 chars