← Back to Skills Marketplace
mjrussell

Hevy

by Matt Russell · GitHub ↗ · v0.2.0
cross-platform ✓ Security Clean
2614
Downloads
2
Stars
2
Active Installs
2
Versions
Install in OpenClaw
/install 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.
README (SKILL.md)

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

# Check configuration and connection
hevy status

Workouts

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

# Fetch all workouts
hevy workouts --all

# Show detailed workout
hevy workout \x3Cworkout-id>

# JSON output
hevy workouts --json
hevy workout \x3Cid> --json

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

Routines

# List all routines
hevy routines

# Show detailed routine
hevy routine \x3Croutine-id>

# JSON output
hevy routines --json

Exercises

# 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

# Show history for specific exercise
hevy history \x3Cexercise-template-id>
hevy history \x3Cexercise-template-id> --limit 50

# JSON output
hevy history \x3Cexercise-template-id> --json

Creating Routines

# 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 \x3Croutine-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:

{
  "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

# Total workout count
hevy count

# List routine folders
hevy folders

Usage Examples

User asks "What did I do at the gym?"

hevy workouts

User asks "Show me my last chest workout"

hevy workouts --limit 10  # Find relevant workout ID
hevy workout \x3Cid>         # Get details

User asks "How am I progressing on bench press?"

hevy exercises --search "bench press"  # Get exercise template ID
hevy history \x3Cexercise-id>              # View progression

User asks "What routines do I have?"

hevy routines
hevy routine \x3Cid>  # For details

User asks "Find leg exercises"

hevy exercises --muscle quadriceps
hevy exercises --muscle hamstrings
hevy exercises --muscle glutes

User asks "Create a push day routine"

# 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.

Usage Guidance
This skill appears to be a straightforward CLI client for the Hevy API and only needs your HEVY_API_KEY. Before installing or enabling it: (1) confirm you have a valid Hevy Pro API key and understand its permissions; (2) ensure the 'hevy' binary is present on the agent's PATH (the package includes source but the skill provides no automatic install/build step), or build/install the included package from its source if you trust it; (3) verify the HEVY_API_KEY is scoped appropriately (use least privilege) and avoid sharing it elsewhere; (4) if you want to prevent autonomous calls, restrict agent invocation policy — the skill can be called autonomously by default. If you need help verifying the binary is the official Hevy client, compare the source here with Hevy's official repo or obtain the CLI from an official Hevy release.
Capability Analysis
Type: OpenClaw Skill Name: hevy Version: 0.2.0 The OpenClaw AgentSkills skill bundle for Hevy provides a CLI to interact with the Hevy workout tracking API. It requires an API key from the `HEVY_API_KEY` environment variable. The `SKILL.md` clearly outlines both read and write operations (e.g., `hevy workouts`, `hevy create-routine`) against the `https://api.hevyapp.com` endpoint. The source code (`src/api.ts`, `src/cli.ts`, `src/config.ts`) confirms these interactions, with no evidence of data exfiltration to unauthorized endpoints, malicious execution, persistence, obfuscation, or prompt injection attempts against the agent to perform actions beyond the stated purpose. File reading (`fs.readFileSync` in `src/cli.ts`) is used legitimately for `--file` input options.
Capability Assessment
Purpose & Capability
The name/description (Hevy CLI) match the code and SKILL.md: the package implements a CLI client that talks to https://api.hevyapp.com and requests only HEVY_API_KEY. One small inconsistency: SKILL.md declares a required binary 'hevy' (which is correct for runtime use), and the repository includes source and a package.json that would install a 'hevy' binary when built/installed — but there is no install specification in the skill metadata. This is more of an operational mismatch (user/agent must ensure the 'hevy' binary is present or build it from source) than a functional or malicious inconsistency.
Instruction Scope
SKILL.md instructs the agent to use the hevy CLI and to set HEVY_API_KEY; commands and endpoints listed correspond to the code. Instructions do not ask the agent to read unrelated files, access unrelated environment variables, or send data to unexpected endpoints — all network calls target the Hevy API.
Install Mechanism
There is no install spec in the registry metadata (lowest-risk), but the package includes source and a package.json that defines a 'hevy' bin. This means the skill will not automatically install/build the binary; an operator or environment must already have 'hevy' on PATH or build/install it manually. No remote/download-based installation or suspicious external URLs are present.
Credentials
Only HEVY_API_KEY is required, which is appropriate for a client that talks to the Hevy API. The code reads only that environment variable and uses it for authenticated API requests. No unrelated secrets or multiple credentials are requested.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or system configuration. disable-model-invocation is false (normal) so the agent may invoke it autonomously — this is the platform default and not by itself a red flag.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install hevy
  3. After installation, invoke the skill by name or use /hevy
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.2.0
Add duplicate check to create-exercise command - prevents creating exercises with same name unless --force flag used. Document API limitations (no DELETE/PUT for exercises).
v0.1.0
Initial release
Metadata
Slug hevy
Version 0.2.0
License
All-time Installs 2
Active Installs 2
Total Versions 2
Frequently Asked Questions

What is Hevy?

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. It is an AI Agent Skill for Claude Code / OpenClaw, with 2614 downloads so far.

How do I install Hevy?

Run "/install hevy" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Hevy free?

Yes, Hevy is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Hevy support?

Hevy is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Hevy?

It is built and maintained by Matt Russell (@mjrussell); the current version is v0.2.0.

💬 Comments