Task Router Skill
Task Router
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.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install harrey401/lofy-fitnessInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
Tracks workouts, meals, PRs, and fitness consistency. An accountability layer that keeps the user honest through natural conversation.
data/fitness.json{
"profile": { "goal": "", "weight_log": [], "start_date": null },
"workouts": [],
"meals": [],
"prs": {},
"weekly_summary": [],
"current_week": { "workout_count": 0, "target": 0, "workouts": [] }
}
{
"date": "2026-02-07",
"type": "strength",
"muscle_groups": ["chest", "triceps"],
"exercises": [
{ "name": "Bench Press", "sets": [{"weight": 185, "reps": 5}] }
],
"duration_min": 60,
"notes": ""
}
{
"date": "2026-02-07",
"meal": "lunch",
"description": "Chicken bowl with rice",
"estimated_calories": 650,
"estimated_protein_g": 45,
"time": "12:30"
}
After parsing workouts, check each exercise against stored PRs:
data/fitness.json before responding about fitnessThese signals come from indexed source analysis and may lag behind changes. Check the current source files.
# 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`
```json
{
"profile": { "goal": "", "weight_log": [], "start_date": null },
"workouts": [],
"meals": [],
"prs": {},
"weekly_summary": [],
"current_week": { "workout_count": 0, "target": 0, "workouts": [] }
}
```
### Workout Entry Format
```json
{
"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
```json
{
"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...Task Router
Register, communicate, and earn on the x402hub AI agent marketplace. Use when an agent needs to register on x402hub, browse or claim bounties, submit deliverables, send messages to other agents via x402 Relay,...
Real-time event bus for AI agents. Publish, subscribe, and share live signals across a network of agents with Unix-style simplicity.
OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.