{"skill":{"slug":"iwatch-swim-tracker","displayName":"iwatch-swim-tracker","summary":"当用户发送的图片为 Apple Watch 健身的泳池游泳记录，或用户消息包含「游泳」关键词并附带图片时触发。识别游泳训练截图，提取距离、配速、心率等结构化数据，保存训练记录并生成趋势分析报告。适用于游泳训练数据追踪、历史对比和个性化建议。","description":"---\nname: iwatch-swim-tracker\ndescription: 当用户发送的图片为 Apple Watch 健身的泳池游泳记录，或用户消息包含「游泳」关键词并附带图片时触发。识别游泳训练截图，提取距离、配速、心率等结构化数据，保存训练记录并生成趋势分析报告。适用于游泳训练数据追踪、历史对比和个性化建议。\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python3\n---\n\n# iWatch Swim Tracker\n\n## 触发判断\n\n满足以下任一条件时触发本技能：\n\n1. 当收到用户消息包含图片时，图片内容为 Apple Watch 健身 App 的**泳池游泳**训练记录截图。\n2. 当用户消息中包含「游泳」关键词并附带图片时。\n\n## 数据提取\n\n从截图中尽可能提取以下字段。能识别多少就提取多少，不确定的字段不要填。\n\n### 必填字段\n\n- `date`: 训练日期 → 格式 `YYYY-MM-DD`\n- `time_range`: 训练时段 → 格式 `HH:MM-HH:MM`\n- `pool_length`: 泳池长度（米）\n- `total_distance`: 总距离（米）\n- `laps`: 趟数\n- `strokes`: 各泳姿距离 → `{\"freestyle\": {\"distance\": N}, \"breaststroke\": {\"distance\": N}}`\n  - 自由泳=freestyle、蛙泳=breaststroke、仰泳=backstroke、蝶泳=butterfly、混合泳=medley、浮板=kickboard\n- `duration`: 体能训练时间 → 格式 `H:MM:SS`\n- `duration_seconds`: 时长转换为秒\n- `avg_pace`: 平均配速 → 格式 `M:SS/100m`\n- `avg_pace_seconds`: 平均配速转换为秒/100m\n- `avg_heart_rate`: 平均心率（次/分）\n\n### 可选字段\n\n- `active_calories`: 动态千卡\n- `total_calories`: 总千卡数\n- `effort_score`: 耗能评分（1-10）\n- `effort_level`: 耗能等级，如「适中」「困难」等\n- `session_number`: 第 N 次游泳（如用户提供）\n- `auto_sets`: 自动组合数据\n\n### 数据校验\n\n- 泳姿距离之和应等于总距离\n- 趟数 × 泳池长度 ≈ 总距离\n- 日期年份应为当前年份\n- 不确定的值不要猜，宁可不填\n\n## 处理流程\n\n### Step 1：提取数据\n\n从图片中提取上述字段，组装为 JSON 对象。\n\n### Step 2：保存数据\n\n```bash\npython3 {baseDir}/scripts/extract_swim_data.py '<json_data>'\n```\n\n同一天的数据会自动覆盖更新。\n\n### Step 3：查询历史\n\n```bash\npython3 {baseDir}/scripts/query_history.py --days 14 --weeks 4 --date <YYYY-MM-DD>\n```\n\n## 回复格式\n\n```\n🏊 游泳训练记录\n\n📅 <date> <time_range>\n🏊 总距离: <total_distance>m（<laps>趟 × <pool_length>m池）\n⏱️ 时长: <duration>\n⚡ 平均配速: <avg_pace>\n💓 平均心率: <avg_heart_rate> 次/分\n🔥 消耗: <active_calories> 动态千卡 / <total_calories> 总千卡\n\n泳姿分布:\n- 自由泳: <freestyle_distance>m\n- 蛙泳: <breaststroke_distance>m\n- 浮板: <kickboard_distance>m\n\n📊 AI 分析:\n<基于本次数据和历史趋势，给出 2-3 句个性化分析和建议>\n\n📈 近期趋势:\n<与最近几次训练的关键指标对比>\n```\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":519,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1773477483028,"updatedAt":1778491902083},"latestVersion":{"version":"1.0.0","createdAt":1773477483028,"changelog":"iWatch Swim Tracker 1.0.0 – Initial Release\n\n- 新增 Apple Watch 泳池游泳训练截图智能识别与结构化数据提取。\n- 支持自动保存训练记录，并校验字段完整性与合理性。\n- 可按提取数据生成个性化趋势分析和训练建议。\n- 实现 14 天/4 周历史记录对比功能。\n- 支持多泳姿细分统计，生成标准化回复报告。","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"zygzzp","userId":"s17d40emkx968y7mn6phdjp215884m9y","displayName":"zygzzp","image":"https://avatars.githubusercontent.com/u/37734620?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089884997}}