home / skills / openclaw / skills / hevy

hevy skill

/skills/mjrussell/hevy

This skill lets you query your Hevy workout data and track progress across workouts, routines, and history to monitor fitness gains.

npx playbooks add skill openclaw/skills --skill hevy

Review the files below or copy the command above to add this skill to your agents.

Files (10)
SKILL.md
5.3 KB
---
name: hevy
description: Query workout data from Hevy including workouts, routines, exercises, and history. Use when user asks about their workouts, gym sessions, exercise progress, or fitness routines.
homepage: https://hevy.com
metadata:
  clawdbot:
    emoji: "🏋️"
    requires:
      bins: ["hevy"]
      env: ["HEVY_API_KEY"]
---

# Hevy CLI

CLI for the Hevy workout tracking API. Query workouts, routines, exercises, and track progress.

## Setup

Requires Hevy Pro subscription for API access.

1. Get API key from https://hevy.com/settings?developer
2. Set environment variable: `export HEVY_API_KEY="your-key"`

## Commands

### Status

```bash
# Check configuration and connection
hevy status
```

### Workouts

```bash
# List recent workouts (default 5)
hevy workouts
hevy workouts --limit 10

# Fetch all workouts
hevy workouts --all

# Show detailed workout
hevy workout <workout-id>

# JSON output
hevy workouts --json
hevy workout <id> --json

# Show weights in kg (default is lbs)
hevy workouts --kg
```

### Routines

```bash
# List all routines
hevy routines

# Show detailed routine
hevy routine <routine-id>

# JSON output
hevy routines --json
```

### Exercises

```bash
# List all exercise templates
hevy exercises

# Search by name
hevy exercises --search "bench press"

# Filter by muscle group
hevy exercises --muscle chest

# Show only custom exercises
hevy exercises --custom

# JSON output
hevy exercises --json
```

### Exercise History

```bash
# Show history for specific exercise
hevy history <exercise-template-id>
hevy history <exercise-template-id> --limit 50

# JSON output
hevy history <exercise-template-id> --json
```

### Creating Routines

```bash
# Create routine from JSON (stdin)
echo '{"routine": {...}}' | hevy create-routine

# Create routine from file
hevy create-routine --file routine.json

# Create a routine folder
hevy create-folder "Push Pull Legs"

# Update existing routine
echo '{"routine": {...}}' | hevy update-routine <routine-id>

# Create custom exercise (checks for duplicates first!)
hevy create-exercise --title "My Exercise" --muscle chest --type weight_reps

# Force create even if duplicate exists
hevy create-exercise --title "My Exercise" --muscle chest --force
```

**⚠️ Duplicate Prevention:** `create-exercise` checks if an exercise with the same name already exists and will error if found. Use `--force` to create anyway (not recommended).

**Routine JSON format:**
```json
{
  "routine": {
    "title": "Push Day 💪",
    "folder_id": null,
    "notes": "Chest, shoulders, triceps",
    "exercises": [
      {
        "exercise_template_id": "79D0BB3A",
        "notes": "Focus on form",
        "rest_seconds": 90,
        "sets": [
          { "type": "warmup", "weight_kg": 20, "reps": 15 },
          { "type": "normal", "weight_kg": 60, "reps": 8 }
        ]
      }
    ]
  }
}
```

### Other

```bash
# Total workout count
hevy count

# List routine folders
hevy folders
```

## Usage Examples

**User asks "What did I do at the gym?"**
```bash
hevy workouts
```

**User asks "Show me my last chest workout"**
```bash
hevy workouts --limit 10  # Find relevant workout ID
hevy workout <id>         # Get details
```

**User asks "How am I progressing on bench press?"**
```bash
hevy exercises --search "bench press"  # Get exercise template ID
hevy history <exercise-id>              # View progression
```

**User asks "What routines do I have?"**
```bash
hevy routines
hevy routine <id>  # For details
```

**User asks "Find leg exercises"**
```bash
hevy exercises --muscle quadriceps
hevy exercises --muscle hamstrings
hevy exercises --muscle glutes
```

**User asks "Create a push day routine"**
```bash
# 1. Find exercise IDs
hevy exercises --search "bench press"
hevy exercises --search "shoulder press"
# 2. Create routine JSON with those IDs and pipe to create-routine
```

## Notes

- **Duplicate Prevention:** `create-exercise` checks for existing exercises with the same name before creating. Use `--force` to override (not recommended).
- **API Limitations:** Hevy API does NOT support deleting or editing exercise templates - only creating. Delete exercises manually in the app.
- **API Rate Limits:** Be mindful when fetching all data (--all flag)
- **Weights:** Defaults to lbs, use --kg for kilograms
- **Pagination:** Most commands auto-paginate, but limit flags help reduce API calls
- **IDs:** Workout/routine/exercise IDs are UUIDs, shown in detailed views

## API Reference

Full API docs: https://api.hevyapp.com/docs/

### Available Endpoints
- `GET /v1/workouts` - List workouts (paginated)
- `GET /v1/workouts/{id}` - Get single workout
- `GET /v1/workouts/count` - Total workout count
- `GET /v1/routines` - List routines
- `GET /v1/routines/{id}` - Get single routine
- `GET /v1/exercise_templates` - List exercises
- `GET /v1/exercise_templates/{id}` - Get single exercise
- `GET /v1/exercise_history/{id}` - Exercise history
- `GET /v1/routine_folders` - List folders

### Write Operations (supported but use carefully)
- `POST /v1/workouts` - Create workout
- `PUT /v1/workouts/{id}` - Update workout
- `POST /v1/routines` - Create routine
- `PUT /v1/routines/{id}` - Update routine
- `POST /v1/exercise_templates` - Create custom exercise
- `POST /v1/routine_folders` - Create folder

The CLI focuses on read operations. Write operations are available via the API client for programmatic use.

Overview

This skill lets you query workout data from Hevy: workouts, routines, exercises, folders, and exercise history. It connects to the Hevy API using your Hevy Pro API key and returns detailed or JSON-formatted results for tracking progress and managing routines. Use it to inspect sessions, find exercise templates, and create or update routines programmatically.

How this skill works

The skill calls Hevy API endpoints to list and fetch individual records (workouts, routines, exercise templates, folders) and to retrieve exercise history and counts. It supports pagination, JSON output, and unit options (lbs or kg). For write operations it can create routines, folders, and custom exercises while checking for duplicates.

When to use it

  • You want a summary of recent or specific workouts (dates, exercises, sets, weights).
  • You need to inspect or export routine and routine folder details.
  • You want to review progression for a particular exercise via its history.
  • You need to find or search exercise templates by name or muscle group.
  • You want to create or update a routine or add a custom exercise programmatically.

Best practices

  • Set HEVY_API_KEY in your environment (Hevy Pro required) and verify with the status command before heavy queries.
  • Use --limit and --json flags to reduce API calls and simplify downstream parsing.
  • Prefer specific searches (exercise ID or muscle filter) when looking for history to avoid extra paging.
  • Be mindful of rate limits and avoid --all unless necessary; paginate large queries.
  • When creating exercises, let the duplicate check run; use --force only if you understand duplication risks.

Example use cases

  • User asks "What did I do at the gym?" — list recent workouts or fetch a workout by ID for details.
  • User asks "How am I progressing on bench press?" — search the exercise template, then fetch exercise history to view weights and PRs over time.
  • User asks "What routines do I have?" — list routines and fetch a routine by ID to get exercises and notes.
  • User asks "Find leg exercises" — filter exercises by quadriceps/hamstrings/glutes to assemble a routine.
  • User asks "Create a push day routine" — collect exercise IDs, build the routine JSON, and use create-routine to add it.

FAQ

Do I need a paid Hevy account?

Yes. Hevy Pro API access is required and you must set HEVY_API_KEY in your environment.

Can I delete or edit exercise templates via the API?

The Hevy API does not support deleting or editing existing exercise templates; you can only create new ones and must manage deletions in the app.