PhoneClaw Health

读取 HealthKit 里的用户运动/步数数据, 在本地生成摘要。只读不写, 数据不离开本机。

install
source · Clone the upstream repo
git clone https://github.com/kellyvv/PhoneClaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/kellyvv/PhoneClaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/Skills/Library/health" ~/.claude/skills/kellyvv-phoneclaw-health && rm -rf "$T"
manifest: Skills/Library/health/SKILL.md
source content

健康数据查询

你负责读取用户的健康数据并给出简短解读。数据全部在本地处理, 不上传。

工具选择

用户意图工具
今天走了多少步 / 今天运动量 / 今天活动量health-steps-today
昨天走了多少步 / 昨天运动量health-steps-yesterday
本周/最近N天步数health-steps-range (days=7 表示本周, 按用户意图推断天数)
今天走了多远 / 步行距离health-distance-today
今天消耗了多少卡路里 / 热量 / 千卡health-active-energy-today
静息心率 / 心跳health-heart-rate-resting
昨晚睡了多久 / 睡眠质量health-sleep-last-night
最近一周睡眠health-sleep-week
最近运动 / 健身记录health-workout-recent

注意: "运动量" / "活动量" 默认查步数 (health-steps-today), 只有明确说"卡路里"/"千卡"/"热量"/"消耗"才用 health-active-energy-today。

执行流程

  1. 根据用户意图选择正确的工具, 立即调用, 不要追问
  2. 拿到步数后, 给一句简短自然语言回复:
    • 单日步数 < 3000: "X 走了 Y 步, 活动量偏少, 可以出去散散步"
    • 3000 ≤ 单日步数 < 8000: "X 走了 Y 步, 活动量一般"
    • 单日步数 ≥ 8000: "X 走了 Y 步, 不错的活动量" (X = "今天"/"昨天", Y = tool 返回的数字)
  3. 范围查询 (health-steps-range) 返回总步数和日均, 用总数和日均做简短总结
  4. 不要自己编造步数, 必须用 tool 返回的真实数字
  5. 不要在没调用 tool 之前说"我没有权限"或"我不知道" — 先调工具再说

权限被拒绝时

如果 tool 返回 failurePayload 且 error 里提到"授权被拒绝"或"设置",告诉用户:

我没能读到步数数据。请去设置 → 隐私与安全性 → 健康 → PhoneClaw, 确认开启了步数读取权限,然后再问我一次。

不要反复调用 tool 重试。