mcpField
H
hevy

hevy

github.com/jakubrohlederその他242 回インストール5 週間前に更新
リポジトリ

hevy について

hevyは、トレーニング計画をCLIでHevyのルーティンにまとめるスキルです。エクササイズの検索、JSON形式、セット種別、一般的なエラーへの対処を扱います。

主な機能

  1. 01種目、セット、回数、休憩の解析
  2. 02使用前のエクササイズID検索
  3. 03JSONテンプレートからルーティン作成
  4. 04種目種別に応じたセット項目の設定
  5. 05スーパーセットなどの構成への対応
  6. 06APIエラーや制限への対処

活用シーン

  1. 01文章のトレーニング計画をルーティン化
  2. 02トレーニングプログラムのルーティンを一括登録
  3. 03種目と器具のバリエーションを検索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jakubrohleder/agent-toolkit --skill hevy

インストール後、Claude Code で/hevyを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
bin/
hevy
commands/
auth.sh
cache.sh
exercises.sh
folders.sh
routines.sh
workouts.sh
lib/
api.sh
cache.sh
common.sh
date-parser.sh
pagination.sh
templates/
routine.json
tests/
auth.bats
cache.bats
error-handling.bats
exercises.bats
folders.bats
global-flags.bats
routines.bats
test_helper.bash
workouts.bats

詳細

Hevy ルーティン作成ツール

クイックスタート

<skill-dir>/bin/hevy auth <key>           # Authenticate (get key from hevy.com/settings)
<skill-dir>/bin/hevy exercises search "squat"
<skill-dir>/bin/hevy routines template > routine.json
# Edit routine.json
<skill-dir>/bin/hevy routines create routine.json

すべてのコマンドについては、<skill-dir>/bin/hevy --help を実行してください。

ワークフロー

  1. ワークアウトプランを解析する - エクササイズ、セット数、回数、重量、休憩時間を抽出します
  2. エクササイズ ID を検索する - hevy exercises search <name>
  3. ルーティン JSON を作成する - hevy routines template から始めます
  4. ルーティンを作成する - hevy routines create file.json

重要なルール

  • メモでは 絶対に @ を使用しないでください(エラーが表示されないまま 400 エラーが発生します)
  • 必ず {"routine": {...}} で囲んでください。オブジェクト単体は使用しないでください
  • 必ず セットのプロパティをエクササイズの種類に合わせてください:
    • weight_reps → weight_kg、reps
    • reps_only → reps のみ(weight は使用しないでください!)
    • duration → duration_seconds
    • distance_duration → distance_meters、duration_seconds
    • short_distance_weight → distance_meters、weight_kg(ファーマーズウォーク、そり押し/引き)
  • ID を 絶対に 推測しないでください。必ず hevy exercises search を使用してください

エクササイズの種類の判定

ユーザーの説明エクササイズの種類セットのプロパティ
重量+回数(「3x10 @ 135lb」)weight_repsweight_kg、reps
回数のみ(「3x12 pull-ups」)reps_onlyreps のみ
時間を保持(「60s plank」)durationduration_seconds
距離+時間(「500m row」)distance_durationdistance_meters、duration_seconds
距離+重量(「50m farmers walk @ 80kg」)short_distance_weightdistance_meters、weight_kg

判断に迷った場合:hevy exercises get <id> を実行すると、エクササイズの種類を確認できます。

ワークアウトプランの解釈

スーパーセット:

  • 「A1/A2」、「superset」、「paired」→ 同じ superset_id(整数:0、1、2...)
  • 「Circuit」または「EMOM」→ すべてのエクササイズに同じ superset_id を設定します
  • 別々のエクササイズ → superset_id: null

休憩: スーパーセットの最後のエクササイズにのみ設定します

AMRAP/限界まで: "reps": null を使用します

スーパーセットの構造例:

{
  "exercise_template_id": "79D0BB3A",
  "superset_id": 0,
  "rest_seconds": null,
  "sets": [{"type": "normal", "weight_kg": 80, "reps": 10}]
},
{
  "exercise_template_id": "1B2B1E7C",
  "superset_id": 0,
  "rest_seconds": 90,
  "sets": [{"type": "normal", "reps": 8}]
}

よく使うエクササイズ ID

最新の ID は hevy exercises search で検索してください。以下は参考例です。

エクササイズID種類
スクワット(バーベル)D04AC939weight_reps
デッドリフト(バーベル)C6272009weight_reps
ベンチプレス(バーベル)79D0BB3Aweight_reps
オーバーヘッドプレス(バーベル)AE23FF09weight_reps
プルアップ1B2B1E7Creps_only
プッシュアップ392887AAreps_only
ローイングマシン0222DB42distance_duration
ストレッチ527DA061duration
ファーマーズウォーク49742539short_distance_weight

カスタムエクササイズを作成する前に

  1. 部分一致する名前で検索します(「cable row」ではなく「row」)
  2. 器具のバリエーションを確認します(バーベル、ダンベル、ケーブル、マシン)
  3. 別名を試します(「Skull Crushers」=「Lying Tricep Extension」)

単位の換算

ユーザーが lbs で指定した場合は kg に換算します:weight_kg = lbs / 2.205

実際に扱いやすいよう、最も近い 0.5 kg に丸めます。

検索結果への対応

状況対応
完全一致その ID を使用します
類似する候補が複数ある(例:「Squat」でバーベル、ダンベル、スミスが返される)ユーザーの説明に合った器具のバリエーションを選びます
結果なしより短い語句で検索します(「tricep pushdown cable」ではなく「tricep」)
それでも見つからない最終手段としてのみカスタムエクササイズを作成します

一括インポートの方法

10 件以上のルーティンを含むプログラムの場合:

  1. すべての JSON ファイルを先に作成します
  2. ルーティンを 1 つ作成し、アプリに正しく表示されることを確認します
  3. 呼び出しの間隔を 2 秒空けて、残りを作成します
  4. 429 エラーが発生した場合:60 秒待ってから、失敗したルーティンから再開します

トラブルシューティング

問題原因解決方法
HTML の応答メモに @ が含まれている「at」に置き換えます
エクササイズが見つからない入力ミス部分一致する名前で検索します
401 UnauthorizedAPI キーが無効hevy auth test
429 Rate limitリクエストが多すぎる60 秒待ってから再試行します
400 Bad Requestエクササイズの種類に合わないセットのプロパティhevy exercises get <id> でエクササイズの種類を確認します
フィールドが許可されていない更新時に読み取り専用フィールドが含まれているid、created_at、updated_at フィールドを削除します
セットが拒否されるreps_only のエクササイズに weight_kg を指定している重量を削除し、reps のみを使用します

CLI とこのファイルの使い分け

必要な情報使用するもの
正確なコマンド構文とすべてのフラグhevy <command> --help
ワークフロー、注意点、解釈ルールこのファイル
すべての機能の確認hevy --help

コメント