{
  "schemaVersion": "1.0",
  "item": {
    "slug": "hevy",
    "name": "Hevy",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/mjrussell/hevy",
    "canonicalUrl": "https://clawhub.ai/mjrussell/hevy",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/hevy",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hevy",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "package.json",
      "pnpm-lock.yaml",
      "src/api.ts",
      "src/cli.ts",
      "src/config.ts"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/hevy"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/hevy",
    "agentPageUrl": "https://openagent3.xyz/skills/hevy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hevy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hevy/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Hevy CLI",
        "body": "CLI for the Hevy workout tracking API. Query workouts, routines, exercises, and track progress."
      },
      {
        "title": "Setup",
        "body": "Requires Hevy Pro subscription for API access.\n\nGet API key from https://hevy.com/settings?developer\nSet environment variable: export HEVY_API_KEY=\"your-key\""
      },
      {
        "title": "Status",
        "body": "# Check configuration and connection\nhevy status"
      },
      {
        "title": "Workouts",
        "body": "# List recent workouts (default 5)\nhevy workouts\nhevy workouts --limit 10\n\n# Fetch all workouts\nhevy workouts --all\n\n# Show detailed workout\nhevy workout <workout-id>\n\n# JSON output\nhevy workouts --json\nhevy workout <id> --json\n\n# Show weights in kg (default is lbs)\nhevy workouts --kg"
      },
      {
        "title": "Routines",
        "body": "# List all routines\nhevy routines\n\n# Show detailed routine\nhevy routine <routine-id>\n\n# JSON output\nhevy routines --json"
      },
      {
        "title": "Exercises",
        "body": "# List all exercise templates\nhevy exercises\n\n# Search by name\nhevy exercises --search \"bench press\"\n\n# Filter by muscle group\nhevy exercises --muscle chest\n\n# Show only custom exercises\nhevy exercises --custom\n\n# JSON output\nhevy exercises --json"
      },
      {
        "title": "Exercise History",
        "body": "# Show history for specific exercise\nhevy history <exercise-template-id>\nhevy history <exercise-template-id> --limit 50\n\n# JSON output\nhevy history <exercise-template-id> --json"
      },
      {
        "title": "Creating Routines",
        "body": "# Create routine from JSON (stdin)\necho '{\"routine\": {...}}' | hevy create-routine\n\n# Create routine from file\nhevy create-routine --file routine.json\n\n# Create a routine folder\nhevy create-folder \"Push Pull Legs\"\n\n# Update existing routine\necho '{\"routine\": {...}}' | hevy update-routine <routine-id>\n\n# Create custom exercise (checks for duplicates first!)\nhevy create-exercise --title \"My Exercise\" --muscle chest --type weight_reps\n\n# Force create even if duplicate exists\nhevy create-exercise --title \"My Exercise\" --muscle chest --force\n\n⚠️ 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).\n\nRoutine JSON format:\n\n{\n  \"routine\": {\n    \"title\": \"Push Day 💪\",\n    \"folder_id\": null,\n    \"notes\": \"Chest, shoulders, triceps\",\n    \"exercises\": [\n      {\n        \"exercise_template_id\": \"79D0BB3A\",\n        \"notes\": \"Focus on form\",\n        \"rest_seconds\": 90,\n        \"sets\": [\n          { \"type\": \"warmup\", \"weight_kg\": 20, \"reps\": 15 },\n          { \"type\": \"normal\", \"weight_kg\": 60, \"reps\": 8 }\n        ]\n      }\n    ]\n  }\n}"
      },
      {
        "title": "Other",
        "body": "# Total workout count\nhevy count\n\n# List routine folders\nhevy folders"
      },
      {
        "title": "Usage Examples",
        "body": "User asks \"What did I do at the gym?\"\n\nhevy workouts\n\nUser asks \"Show me my last chest workout\"\n\nhevy workouts --limit 10  # Find relevant workout ID\nhevy workout <id>         # Get details\n\nUser asks \"How am I progressing on bench press?\"\n\nhevy exercises --search \"bench press\"  # Get exercise template ID\nhevy history <exercise-id>              # View progression\n\nUser asks \"What routines do I have?\"\n\nhevy routines\nhevy routine <id>  # For details\n\nUser asks \"Find leg exercises\"\n\nhevy exercises --muscle quadriceps\nhevy exercises --muscle hamstrings\nhevy exercises --muscle glutes\n\nUser asks \"Create a push day routine\"\n\n# 1. Find exercise IDs\nhevy exercises --search \"bench press\"\nhevy exercises --search \"shoulder press\"\n# 2. Create routine JSON with those IDs and pipe to create-routine"
      },
      {
        "title": "Notes",
        "body": "Duplicate Prevention: create-exercise checks for existing exercises with the same name before creating. Use --force to override (not recommended).\nAPI Limitations: Hevy API does NOT support deleting or editing exercise templates - only creating. Delete exercises manually in the app.\nAPI Rate Limits: Be mindful when fetching all data (--all flag)\nWeights: Defaults to lbs, use --kg for kilograms\nPagination: Most commands auto-paginate, but limit flags help reduce API calls\nIDs: Workout/routine/exercise IDs are UUIDs, shown in detailed views"
      },
      {
        "title": "API Reference",
        "body": "Full API docs: https://api.hevyapp.com/docs/"
      },
      {
        "title": "Available Endpoints",
        "body": "GET /v1/workouts - List workouts (paginated)\nGET /v1/workouts/{id} - Get single workout\nGET /v1/workouts/count - Total workout count\nGET /v1/routines - List routines\nGET /v1/routines/{id} - Get single routine\nGET /v1/exercise_templates - List exercises\nGET /v1/exercise_templates/{id} - Get single exercise\nGET /v1/exercise_history/{id} - Exercise history\nGET /v1/routine_folders - List folders"
      },
      {
        "title": "Write Operations (supported but use carefully)",
        "body": "POST /v1/workouts - Create workout\nPUT /v1/workouts/{id} - Update workout\nPOST /v1/routines - Create routine\nPUT /v1/routines/{id} - Update routine\nPOST /v1/exercise_templates - Create custom exercise\nPOST /v1/routine_folders - Create folder\n\nThe CLI focuses on read operations. Write operations are available via the API client for programmatic use."
      }
    ],
    "body": "Hevy CLI\n\nCLI for the Hevy workout tracking API. Query workouts, routines, exercises, and track progress.\n\nSetup\n\nRequires Hevy Pro subscription for API access.\n\nGet API key from https://hevy.com/settings?developer\nSet environment variable: export HEVY_API_KEY=\"your-key\"\nCommands\nStatus\n# Check configuration and connection\nhevy status\n\nWorkouts\n# List recent workouts (default 5)\nhevy workouts\nhevy workouts --limit 10\n\n# Fetch all workouts\nhevy workouts --all\n\n# Show detailed workout\nhevy workout <workout-id>\n\n# JSON output\nhevy workouts --json\nhevy workout <id> --json\n\n# Show weights in kg (default is lbs)\nhevy workouts --kg\n\nRoutines\n# List all routines\nhevy routines\n\n# Show detailed routine\nhevy routine <routine-id>\n\n# JSON output\nhevy routines --json\n\nExercises\n# List all exercise templates\nhevy exercises\n\n# Search by name\nhevy exercises --search \"bench press\"\n\n# Filter by muscle group\nhevy exercises --muscle chest\n\n# Show only custom exercises\nhevy exercises --custom\n\n# JSON output\nhevy exercises --json\n\nExercise History\n# Show history for specific exercise\nhevy history <exercise-template-id>\nhevy history <exercise-template-id> --limit 50\n\n# JSON output\nhevy history <exercise-template-id> --json\n\nCreating Routines\n# Create routine from JSON (stdin)\necho '{\"routine\": {...}}' | hevy create-routine\n\n# Create routine from file\nhevy create-routine --file routine.json\n\n# Create a routine folder\nhevy create-folder \"Push Pull Legs\"\n\n# Update existing routine\necho '{\"routine\": {...}}' | hevy update-routine <routine-id>\n\n# Create custom exercise (checks for duplicates first!)\nhevy create-exercise --title \"My Exercise\" --muscle chest --type weight_reps\n\n# Force create even if duplicate exists\nhevy create-exercise --title \"My Exercise\" --muscle chest --force\n\n\n⚠️ 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).\n\nRoutine JSON format:\n\n{\n  \"routine\": {\n    \"title\": \"Push Day 💪\",\n    \"folder_id\": null,\n    \"notes\": \"Chest, shoulders, triceps\",\n    \"exercises\": [\n      {\n        \"exercise_template_id\": \"79D0BB3A\",\n        \"notes\": \"Focus on form\",\n        \"rest_seconds\": 90,\n        \"sets\": [\n          { \"type\": \"warmup\", \"weight_kg\": 20, \"reps\": 15 },\n          { \"type\": \"normal\", \"weight_kg\": 60, \"reps\": 8 }\n        ]\n      }\n    ]\n  }\n}\n\nOther\n# Total workout count\nhevy count\n\n# List routine folders\nhevy folders\n\nUsage Examples\n\nUser asks \"What did I do at the gym?\"\n\nhevy workouts\n\n\nUser asks \"Show me my last chest workout\"\n\nhevy workouts --limit 10  # Find relevant workout ID\nhevy workout <id>         # Get details\n\n\nUser asks \"How am I progressing on bench press?\"\n\nhevy exercises --search \"bench press\"  # Get exercise template ID\nhevy history <exercise-id>              # View progression\n\n\nUser asks \"What routines do I have?\"\n\nhevy routines\nhevy routine <id>  # For details\n\n\nUser asks \"Find leg exercises\"\n\nhevy exercises --muscle quadriceps\nhevy exercises --muscle hamstrings\nhevy exercises --muscle glutes\n\n\nUser asks \"Create a push day routine\"\n\n# 1. Find exercise IDs\nhevy exercises --search \"bench press\"\nhevy exercises --search \"shoulder press\"\n# 2. Create routine JSON with those IDs and pipe to create-routine\n\nNotes\nDuplicate Prevention: create-exercise checks for existing exercises with the same name before creating. Use --force to override (not recommended).\nAPI Limitations: Hevy API does NOT support deleting or editing exercise templates - only creating. Delete exercises manually in the app.\nAPI Rate Limits: Be mindful when fetching all data (--all flag)\nWeights: Defaults to lbs, use --kg for kilograms\nPagination: Most commands auto-paginate, but limit flags help reduce API calls\nIDs: Workout/routine/exercise IDs are UUIDs, shown in detailed views\nAPI Reference\n\nFull API docs: https://api.hevyapp.com/docs/\n\nAvailable Endpoints\nGET /v1/workouts - List workouts (paginated)\nGET /v1/workouts/{id} - Get single workout\nGET /v1/workouts/count - Total workout count\nGET /v1/routines - List routines\nGET /v1/routines/{id} - Get single routine\nGET /v1/exercise_templates - List exercises\nGET /v1/exercise_templates/{id} - Get single exercise\nGET /v1/exercise_history/{id} - Exercise history\nGET /v1/routine_folders - List folders\nWrite Operations (supported but use carefully)\nPOST /v1/workouts - Create workout\nPUT /v1/workouts/{id} - Update workout\nPOST /v1/routines - Create routine\nPUT /v1/routines/{id} - Update routine\nPOST /v1/exercise_templates - Create custom exercise\nPOST /v1/routine_folders - Create folder\n\nThe CLI focuses on read operations. Write operations are available via the API client for programmatic use."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mjrussell/hevy",
    "publisherUrl": "https://clawhub.ai/mjrussell/hevy",
    "owner": "mjrussell",
    "version": "0.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/hevy",
    "downloadUrl": "https://openagent3.xyz/downloads/hevy",
    "agentUrl": "https://openagent3.xyz/skills/hevy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hevy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hevy/agent.md"
  }
}