garmin-health-analysis について
garmin-health-analysisは、Garmin Connectの健康指標を取得し、傾向を調べ、インタラクティブなHTMLチャートを作成するClawdbotスキルです。READMEにはClaude Desktop向けの別個のMCPサーバー設定も記載されています。
主な機能
- 01睡眠、HRV、アクティビティなどのデータ取得
- 02健康指標と傾向の分析
- 03インタラクティブなHTMLチャート作成
- 04複数の認証情報設定方法
活用シーン
- 011週間のBody Batteryによる回復状況の確認
- 02HRVや安静時心拍数の変化の追跡
- 03月間健康データのチャート作成
MCP 対応
READMEにはClaude Desktopで使う別個のMCPサーバー設定が記載されており、Clawdbotスキルの設定とは独立して利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ eversonl/ clawdbot-garmin-health-analysis --skill garmin-health-analysisインストール後、Claude Code で/garmin-health-analysisを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreCHANGELOG.mdconfig.example.jsonREADME.mdinstall.shreferences/extended_capabilities.mdhealth_analysis.mdapi.mdmcp_setup.mdscripts/garmin_chart.pygarmin_data_extended.pygarmin_activity_files.pygarmin_auth.pygarmin_query.pygarmin_data.py詳細
Garmin Health Analysis
Garmin Connect から健康指標を取得し、インタラクティブな HTML チャートを生成します。
2 つのインストール方法
このスキルでは、2 種類のセットアップに対応しています。
- Clawdbot Skill(このガイド)- Clawdbot で自動化と先回りした健康モニタリングを行います
- MCP サーバー(MCP のセットアップガイドを参照)- 標準の Claude Desktop で MCP サーバーとして使用します
用途に合った方法を選択してください。両方を同時に使うこともできます。
Clawdbot Skill のセットアップ(初回のみ)
1. 依存関係をインストールする
pip3 install garminconnect
2. 認証情報を設定する
Garmin Connect の認証情報を提供する方法は 3 つあります。
オプション A:Clawdbot の設定(推奨 - UI で設定可能)
認証情報を ~/.clawdbot/clawdbot.json に追加します。
{
"skills": {
"entries": {
"garmin-health-analysis": {
"enabled": true,
"env": {
"GARMIN_EMAIL": "[email protected]",
"GARMIN_PASSWORD": "your-password"
}
}
}
}
}
ヒント:Skills の設定パネルにある Clawdbot UI から設定することもできます。
オプション B:ローカル設定ファイル
スキルディレクトリに設定ファイルを作成します。
cd ~/.clawdbot/skills/garmin-health-analysis
# or: cd <workspace>/skills/garmin-health-analysis
cp config.example.json config.json
# Edit config.json and add your email and password
config.json:
{
"email": "[email protected]",
"password": "your-password"
}
注:認証情報を安全に保つため、config.json は gitignore の対象です。
オプション C:コマンドライン
認証時に認証情報を直接渡します。
python3 scripts/garmin_auth.py login \
--email [email protected] \
--password YOUR_PASSWORD
3. 認証する
Garmin Connect にログインし、セッショントークンを保存します。
python3 scripts/garmin_auth.py login
認証情報は、次の優先順位で使用されます。
- コマンドライン引数(
--email、--password) - ローカル設定ファイル(
config.json) - 環境変数(
GARMIN_EMAIL、GARMIN_PASSWORD) - Clawdbot の設定(
skills.entries.garmin-health-analysis.env)
セッショントークンは ~/.clawdbot/garmin-tokens.json に保存され、自動的に更新されます。
認証状態を確認します。
python3 scripts/garmin_auth.py status
データの取得
scripts/garmin_data.py を使って JSON データを取得します。
# Sleep (last 7 days default)
python3 scripts/garmin_data.py sleep --days 14
# Body Battery (Garmin's recovery metric)
python3 scripts/garmin_data.py body_battery --days 30
# HRV data
python3 scripts/garmin_data.py hrv --days 30
# Heart rate (resting, max, min)
python3 scripts/garmin_data.py heart_rate --days 7
# Activities/workouts
python3 scripts/garmin_data.py activities --days 30
# Stress levels
python3 scripts/garmin_data.py stress --days 7
# Combined summary with averages
python3 scripts/garmin_data.py summary --days 7
# Custom date range
python3 scripts/garmin_data.py sleep --start 2026-01-01 --end 2026-01-15
# User profile
python3 scripts/garmin_data.py profile
出力は stdout に JSON 形式で表示されます。内容を解析してユーザーの質問に答えてください。
チャートの生成
scripts/garmin_chart.py を使って、インタラクティブな HTML ビジュアライゼーションを生成します。
# Sleep analysis (hours + scores)
python3 scripts/garmin_chart.py sleep --days 30
# Body Battery recovery chart (color-coded)
python3 scripts/garmin_chart.py body_battery --days 30
# HRV & resting heart rate trends
python3 scripts/garmin_chart.py hrv --days 90
# Activities summary (by type, calories)
python3 scripts/garmin_chart.py activities --days 30
# Full dashboard (all 4 charts)
python3 scripts/garmin_chart.py dashboard --days 30
# Save to specific file
python3 scripts/garmin_chart.py dashboard --days 90 --output ~/Desktop/garmin-health.html
チャートはデフォルトのブラウザーで自動的に開きます。Chart.js を使用し、モダンなグラデーションデザイン、統計カード、インタラクティブなツールチップを備えています。
質問への回答
| ユーザーの質問 | アクション |
|---|---|
| 「昨夜はよく眠れましたか?」 | garmin_data.py summary --days 1 を実行し、睡眠時間とスコアを報告します |
| 「今週の回復状態はどうですか?」 | garmin_data.py body_battery --days 7 を実行し、平均値と傾向を報告します |
| 「先月の健康状態を見せて」 | garmin_chart.py dashboard --days 30 を実行します |
| 「HRV は改善していますか?」 | garmin_data.py hrv --days 30 を実行し、傾向を分析します |
| 「今週はどんなワークアウトをしましたか?」 | garmin_data.py activities --days 7 を実行し、詳細とともにアクティビティを一覧表示します |
| 「安静時心拍数はどうですか?」 | garmin_data.py heart_rate --days 7 を実行し、平均値と傾向を報告します |
主な指標
Body Battery(0~100)
Garmin 独自の回復指標です。HRV、ストレス、睡眠、アクティビティを基に算出されます。
- 高(75~100):十分に回復しており、高強度の運動に適しています
- 中(50~74):エネルギーは中程度で、通常のアクティビティに適しています
- 低(25~49):エネルギーが限られており、回復が必要です
- 非常に低(0~24):消耗しているため、休息を優先してください
睡眠スコア(0~100)
睡眠時間、睡眠段階、中断状況を基にした総合的な睡眠の質です。
- 優秀(90~100):最適な回復効果のある睡眠
- 良好(80~89):軽微な問題はあるものの、質の高い睡眠
- 普通(60~79):十分ですが、改善の余地があります
- 不良(0~59):睡眠に大きな不足があります
HRV(心拍変動)
ミリ秒単位で測定され、一般的に高いほど良好です。
- 神経系のバランスと回復能力を示します
- 時間の経過に伴う傾向を追跡します(上昇していれば回復状態の改善を示します)
- 睡眠、ストレス、トレーニング負荷、体調不良の影響を受けます
- 正常範囲は個人によって異なります(20~200+ ms)
安静時心拍数(bpm)
一般的に、低いほど心肺機能が優れていることを示します。
- アスリート:40~60 bpm
- 体力のある成人:60~70 bpm
- 平均的な成人:70~80 bpm
- 急な上昇は、ストレス、体調不良、またはオーバートレーニングを示している可能性があります
ストレスレベル
1 日を通した HRV 分析に基づきます。
- 低ストレス:休息と回復の時間帯
- 中程度のストレス:通常の日常活動
- 高ストレス:身体活動や精神的なプレッシャー
健康分析
ユーザーが分析結果を求めたり、傾向を理解したい場合は、references/health_analysis.md を使用して以下を確認してください。
- すべての指標について、科学的根拠に基づいて解釈する
- 年齢やフィットネスレベル別の標準範囲
- パターンの検出(週ごとの傾向、回復サイクル、トレーニング負荷のバランス)
- データに基づく実践的な推奨事項
- 休息や医療機関への相談を検討すべき警告サイン
分析ワークフロー
- データを取得します:
python3 scripts/garmin_data.py summary --days N - 解釈の枠組みとして
references/health_analysis.mdを読みます - 分析の枠組みを適用します:状況 → 傾向 → パターン → 分析結果 → 推奨事項
- 情報提供を目的としたものであり、医療上の助言ではないことを必ず明記します
トラブルシューティング
認証の問題
- 「Invalid credentials」:メールアドレスとパスワードを確認し、Garmin Connect のウェブサイトへのログインをお試しください
- 「Tokens expired」:再度ログインします:
python3 scripts/garmin_auth.py login ... - 「Too many requests」:Garmin にはレート制限があります。数分待ってからもう一度お試しください
データが見つからない場合
- 一部の指標には特定の Garmin デバイスが必要です(Body Battery には HRV 対応デバイスが必要です)
- デバイスを装着していなかった場合、過去のデータに欠損が生じることがあります
- 新しいアカウントでは、利用できる履歴が限られている場合があります
ライブラリの問題
garminconnectのインポートに失敗する場合:pip3 install --upgrade garminconnect- Garmin は API を変更することがあります。リクエストが失敗する場合は、ライブラリを更新してください
プライバシーに関する注意
- 認証情報はローカルの
~/.clawdbot/garmin-tokens.jsonに保存されます - セッショントークンは自動的に更新されます
- Garmin の公式サーバー以外にデータが送信されることはありません
- トークンファイルを削除すれば、いつでもアクセスを取り消せます
比較:Garmin と Whoop
| 機能 | Garmin | Whoop |
|---|---|---|
| 回復指標 | Body Battery(0~100) | Recovery Score(0~100%) |
| HRV トラッキング | はい(夜間の平均値) | はい(詳細) |
| 睡眠ステージ | ライト、ディープ、REM、覚醒 | ライト、SWS、REM、覚醒 |
| アクティビティトラッキング | GPS 内蔵、多数のスポーツモード | Strain スコア(0~21) |
| ストレス | 1 日を通したストレスレベル | 直接のトラッキングなし |
| API | 非公式(garminconnect) | 公式 OAuth |
| デバイスの種類 | ウォッチ、フィットネストラッカー | ウェアラブルバンドのみ |
参考資料
references/api.md— Garmin Connect API の詳細(非公式)references/health_analysis.md— 科学的根拠に基づく健康データの解釈- garminconnect ライブラリ — Python API ラッパー
- Garmin Connect — 公式ウェブインターフェース
バージョン情報
- 作成日:2026-01-25
- 作成者:EversonL & Claude
- バージョン:1.2.0
- 依存関係:garminconnect、fitparse、gpxpy(Python ライブラリ)
- ライセンス:MIT