360 Secure SkillHub
360 安全技能中心

Lofy Fitness

面向 Lofy AI 助手的健身责任追踪技能:解析自然语言记录锻炼与饮食并估算热量/蛋白质,用 Epley 公式检测个人纪录,依据周目标进行每日提醒,并生成趋势进度报告,数据保存在本地 JSON 文件中。

harrey401
harrey401
热度 87.89
最近更新 2026-05-11 15:57:58
分类:生活依赖:读写文件应用场景:健康 / 报告撰写 / 笔记整理 / 日程安排

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add lofy-fitness
Metadata
name
lofy-fitness
description
Fitness accountability for the Lofy AI assistant — workout logging from natural language, meal tracking with calorie/protein estimates, PR detection with Epley formula, gym reminders based on weekly targets, and progress reports. Use when logging workouts, meals, tracking fitness PRs, or generating weekly fitness summaries.

Fitness Tracker — Workout & Health Accountability

Tracks workouts, meals, PRs, and fitness consistency. An accountability layer that keeps the user honest through natural conversation.

Data File: data/fitness.json

{
  "profile": { "goal": "", "weight_log": [], "start_date": null },
  "workouts": [],
  "meals": [],
  "prs": {},
  "weekly_summary": [],
  "current_week": { "workout_count": 0, "target": 0, "workouts": [] }
}

Workout Entry Format

{
  "date": "2026-02-07",
  "type": "strength",
  "muscle_groups": ["chest", "triceps"],
  "exercises": [
    { "name": "Bench Press", "sets": [{"weight": 185, "reps": 5}] }
  ],
  "duration_min": 60,
  "notes": ""
}

Meal Entry Format

{
  "date": "2026-02-07",
  "meal": "lunch",
  "description": "Chicken bowl with rice",
  "estimated_calories": 650,
  "estimated_protein_g": 45,
  "time": "12:30"
}

Parsing Natural Language

Workouts

  • "bench 185x5 185x4" → Bench Press, 2 sets: 185×5, 185×4
  • "tricep pushdowns 50x12 x3" → 3 sets of 50×12
  • "went for a 5k run, 28 minutes" → cardio, running, 5km, 28min
  • "did legs" (no details) → log muscle group, note "details not provided", still counts

Meals

  • "had chipotle for lunch" → estimate ~650 cal, ~40g protein
  • "protein shake after gym" → estimate ~200 cal, ~30g protein
  • "skipped breakfast" → note it; if 3+ day pattern, gently mention

PR Detection

After parsing workouts, check each exercise against stored PRs:

  • Epley 1RM = weight × (1 + reps/30)
  • If new 1RM exceeds stored PR: update and celebrate
  • Only celebrate PRs, not every workout

Instructions

  1. Always read data/fitness.json before responding about fitness
  2. Update the JSON immediately after any fitness conversation
  3. Keep responses short — log confirmation + one comment
  4. Nudge logic: max 1 gym reminder per day, only if behind weekly target
  5. Track consistency over intensity — showing up matters more
  6. If user mentions injury or pain, suggest rest. Never push through pain
  7. Weekly report: show trends (improving? plateauing? declining?) with data