Install
openclaw skills install fitness-skill运动健康管家 Pro — 专为 Open Claw + 飞书生态打造的 AI 健身管家。双模式打卡(事后总结 / 边练边记)、3 层 Session 防丢失、飞书云文档同步、极致 Token 优化。Route to this skill when the user mentions workouts, logs...
openclaw skills install fitness-skill⚠️ 平台要求:本 Skill 依赖「飞书 (Feishu)」生态,需为 Open Claw 绑定的机器人开通消息读写与云文档管理权限。
专为 Open Claw 打造的 AI 健身管家。无论是健身房力量训练还是网球对战,通过自然语言即可完美记录——你最省心的赛博教练。
fitness-log start/end), NLP workout parsing, localized JSON storage, Feishu document sync, auto-stale-session cleanup.fitness-status), or provides unstructured post-workout feedback.# Create a fitness plan
fitness-plan create --goals "muscle_gain,cardio" --sport_pref "gym,tennis" --frequency 4
# One-shot log (after workout)
fitness-log "gym: bench press 60kg x 8 x 3, squat 80kg x 5 x 4, 1.5 hours"
# Live session (during workout — log each exercise as you go)
fitness-log start gym
fitness-log "bench press 60kg x 8 x 3"
fitness-log "squat 80kg x 5 x 4"
fitness-log "felt great"
fitness-log end "good session overall"
# View status
fitness-status --week
fitness-status --month
fitness-status --export
| Command | Description |
|---|---|
fitness-plan init | Interactive multi-turn Q&A to generate a plan |
fitness-plan create --goals ... --frequency N | Non-interactive plan creation |
fitness-plan show | Display the current plan (Markdown) |
fitness-plan update --frequency 4 --level advanced | Modify an existing plan |
fitness-plan sync | Push plan to Feishu doc |
Two modes: one-shot (after workout) and live session (during workout).
| Command | Description |
|---|---|
fitness-log "<text>" | One-shot: parse and log a single workout entry |
fitness-log start [type] | Start a live session (e.g. start gym) |
fitness-log "<exercise text>" | Append exercise to active session |
fitness-log end ["notes"] | End session, auto-calculate duration, commit to log |
fitness-log status | Show active session info (includes idle/stale warnings) |
Live session workflow: The user sends messages during training. Each message is appended to the same session entry. When the user says "end", all exercises are merged into one log entry with auto-calculated duration (from start to end time).
| Command | Description |
|---|---|
fitness-status | Last 7 entries (compact, token-efficient) |
fitness-status --week | Weekly summary with stats |
fitness-status --month | Monthly summary (last 30 days) |
fitness-status --days N | Custom period summary |
fitness-status --all | All entries (capped at 50, with truncation notice) |
fitness-status --export [N] | Export last N days (default 30) as Markdown file |
Sessions that are not explicitly ended are handled automatically:
| Condition | Behavior |
|---|---|
| Idle ≥ 30 min | Claw proactively asks the user if training is done (via AGENTS.md rule). At most once per conversation to avoid nagging. |
| Idle > 4 hours or next day | Session is marked stale and auto-closed on the next fitness-related action. Duration is calculated up to the last message (not current time). |
| Heartbeat detects stale session | HEARTBEAT.md rule runs fitness-log end to force-close, and Claw notifies user on next interaction. |
New start while stale exists | Old stale session is auto-closed first, then new one begins. |
This ensures no workout data is ever lost, even if the user forgets to say "end".
--all is capped at 50 entries with a truncation notice.--export to generate a Markdown file that can be sent to the user directly, avoiding large inline output.~/.openclaw/workspace/fitness-skill/plan.json~/.openclaw/workspace/fitness-skill/log.json~/.openclaw/workspace/fitness-skill/active_session.json (auto-deleted on end)~/.openclaw/workspace/fitness-skill/exports/FEISHU_FITNESS_DOC_ID to enable plan/log sync to a Feishu doc.sync_plan_to_feishu() — push plan Markdownsync_log_to_feishu(days=30) — push log report Markdownscheduler.add_cron_job() at the user's configured time.