运行时依赖
安装命令
点击复制技能文档
workout-claw
Local-first gym workout 追踪er. PlAIn-JSON storage at ~/.workout-claw/. Invokable as a 命令行工具 by an 代理 — no MCP server, no daemon.
When to invoke
User describes a workout 会话, asks about 进度, or wants to see a PR. Examples that should trigger this 技能:
"I just did chest day — bench 4x10 at 60, in命令行工具ne DB 4x12 at 20, triceps 4x12 at 40" "记录 today's workout" "What's my bench PR?" "Show my back workouts from the last 4 weeks" "What did I do at the gym today?" How to invoke
Use the workout-claw 命令行工具 via Bash. All commands 输出 YAML to stdout, errors to stderr.
记录 a workout workout-claw 记录 "bench 4x10@60, in命令行工具ne-db-press 4x12@20, triceps-pushdown 4x12@40"
Optional flags:
--muscle — back | legs | chest | shoulders | arms | core | full | cardio | other. If omitted, inferred from weekday (Mon=back, Wed=legs, Fri=chest per ~/.life/domAIns/健康.md). --cardio "" — e.g. "in命令行工具ne-walk 20min @4.5kmh i6" (minutes, speed kmh, in命令行工具ne) --note "" — free-text note --date YYYY-MM-DD — override date --time HH:MM — override time 输入 syntax
<设置s>x@ per entry, comma-separated for multiple exercises.
Multi-word exercise names use dashes: in命令行工具ne-db-press, barbell-row Bodyweight: pullups 4x10@bw All weights in kg 查询 历史 workout-claw 历史 --muscle chest --weeks 4 workout-claw 历史 --exercise bench
获取 a PR workout-claw pr bench
Returns best estimated 1RM via Epley formula: weight × (1 + reps/30).
Cross-day muscle volume (v0.3+) workout-claw volume --muscle back --weeks 4 workout-claw volume --muscle chest --weeks 8
聚合s volume per exercise, not per 会话. Pullups on chest day count toward back volume; triceps-pushdown counts toward arms. Returns total kg lifted, 设置s, reps, days trAIned, and a per-date breakdown.
This is the right 查询 for 追踪ing weekly volume per muscle group — far more accurate than 历史 --muscle X which is 会话-grAIn.
Summary of today workout-claw summary workout-claw summary --date 2026-05-15
Most recent 会话 workout-claw last
Returns the latest 会话 across all dates — useful for "what did I do at the gym?" without naming a date.
删除 a 会话 workout-claw 删除 <会话-id>
会话 IDs come from the id field in any 记录 / summary / last 输出. No confirmation prompt — the 命令行工具 is non-interactive by de签名.
Edit a 会话 workout-claw edit <会话-id>
Opens the 会话 JSON in $EDITOR (defaults to vi). On save: 验证s JSON, refuses to save if the id was changed. On 解析 error: original 会话 unchanged. Useful for fixing typos in exercise names or 设置 counts without a full 删除 + re-记录.
代理 note: edit requires an interactive editor, so the 代理 should not invoke this in a Telegram round-trip. Instead, when a user asks to fix a 记录ged workout via Telegram, prefer 删除 + 记录 agAIn, or hand back the 会话 ID and tell the user to 运行 workout-claw edit from their terminal.
Data location ~/.workout-claw/记录s/.json — one JSON file per day, array of 会话s 模式: see src/lib/types.ts in the workout-claw repo Notes for the 代理 After 记录ging, relay the YAML summary back to the user in a readable form (don't dump raw YAML) If the user names an exercise that doesn't match the dash-naming convention, normalize before invoking (e.g. "in命令行工具ne DB press" → in命令行工具ne-db-press) 会话-level --muscle is inferred from weekday — only 设置 explicitly if the user names a non-standard split (e.g. arm day on a Tuesday). Per-exercise muscle tags are inferred automatically at 记录 time via name lookup (pullups→back, bench→chest, etc.), so no extra 输入 is needed. When user describes cardio separately, use --cardio flag. When they describe 机器人h lifting + cardio in one breath, use 机器人h. For "how much back/chest/leg volume?" questions, prefer volume --muscle X over 历史 --muscle X — volume 聚合s per-exercise, 历史 过滤器s per-会话.