← Back to Plugins
Tools

Fitness Coach

pascalhahn By pascalhahn 👁 8 views ▲ 0 votes

๐Ÿ‹๏ธ Adaptive fitness & nutrition coaching plugin for OpenClaw

GitHub

Install

npm install
openclaw

Configuration Example

plugins:
  entries:
    fitness-coach:
      enabled: true
      config:
        dataDir: ~/.openclaw/fitness-coach  # where data is stored

README

# ๐Ÿ‹๏ธ openclaw-fitness-coach

An adaptive fitness & nutrition coaching plugin for [OpenClaw](https://github.com/openclaw/openclaw).

Turns your AI assistant into a personalized fitness coach that tracks workouts, meals, and health โ€” with configurable coaching personality and data-driven feedback.

## Features

- **๐Ÿƒ Workout Tracking** โ€” Log completed, skipped, or modified workouts with RPE and mood
- **๐Ÿฅ— Meal Tracking** โ€” Log meals and snacks, track nutrition patterns
- **๐Ÿง  Adaptive Coach** โ€” Configurable personality (pushiness 1-5, tone, language)
- **๐Ÿ“Š Data-Driven Feedback** โ€” Streaks, completion rates, trends, weekly/monthly stats
- **๐Ÿ”” Smart Nudges** โ€” Proactive check-ins based on patterns (missed meals, skipped workouts, injuries)
- **๐Ÿ’พ Persistent Memory** โ€” JSONL-based storage, survives restarts, fast append-only logs

## How It Works

The plugin doesn't generate workouts itself โ€” it provides **memory, tools, and context** to your OpenClaw agent. The LLM acts as the coach, powered by rich fitness context injected into every conversation.

### Architecture

```
Your AI Assistant (Claude, GPT, etc.)
        โ†•
   OpenClaw Gateway
        โ†•
   fitness-coach plugin
   โ”œโ”€โ”€ Memory Prompt Section (injected every turn)
   โ”‚   โ”œโ”€โ”€ User profile & goals
   โ”‚   โ”œโ”€โ”€ Recent workouts (14 days)
   โ”‚   โ”œโ”€โ”€ Recent meals (7 days)
   โ”‚   โ”œโ”€โ”€ Computed stats & trends
   โ”‚   โ””โ”€โ”€ Active nudges
   โ””โ”€โ”€ Tools
       โ”œโ”€โ”€ fitness_log      โ€” log workouts
       โ”œโ”€โ”€ meal_log         โ€” log meals
       โ”œโ”€โ”€ fitness_feedback โ€” health/energy/preferences
       โ”œโ”€โ”€ fitness_history  โ€” query workout data
       โ”œโ”€โ”€ meal_history     โ€” query nutrition data
       โ”œโ”€โ”€ fitness_stats    โ€” computed metrics
       โ”œโ”€โ”€ fitness_profile  โ€” update goals/equipment
       โ””โ”€โ”€ coach_settings   โ€” adjust coaching style
```

## Installation

```bash
openclaw plugins install @pascalhahn/openclaw-fitness-coach
```

Or manually:

```bash
cd ~/.openclaw/extensions
git clone https://github.com/pascalhahn/openclaw-fitness-coach.git
cd openclaw-fitness-coach
npm install
openclaw gateway restart
```

## Configuration

In your OpenClaw config:

```yaml
plugins:
  entries:
    fitness-coach:
      enabled: true
      config:
        dataDir: ~/.openclaw/fitness-coach  # where data is stored
```

## Coach Personality

Adjust how your coach communicates:

| Setting | Values | Default |
|---------|--------|---------|
| `pushiness` | 1 (gentle) โ†’ 5 (drill sergeant) | 3 |
| `communicationTone` | supportive, direct, tough-love, humorous | supportive |
| `checkInFrequency` | minimal, moderate, proactive | moderate |
| `nutritionFocus` | none, light, moderate, strict | moderate |
| `celebrateWins` | true/false | true |
| `language` | any ISO code | de |

Change via the `coach_settings` tool or ask your assistant: *"Sei strenger mit mir"* / *"Be more pushy"*

## Recommended Cron Setup

```bash
# Morning workout (weekdays 6:15)
openclaw cron add --at "06:15" --weekdays mon,tue,thu,fri \
  --message "You're the user's fitness coach. Generate today's workout."

# Lunch meal check-in (weekdays 12:30)
openclaw cron add --at "12:30" --weekdays mon,tue,wed,thu,fri \
  --message "Casually ask what the user had for lunch."

# Evening check-in (training days 20:30)
openclaw cron add --at "20:30" --weekdays mon,tue,thu,fri \
  --message "Check if today's workout was logged. Give appropriate feedback."

# Weekly review (Sunday 20:00)
openclaw cron add --at "20:00" --weekdays sun \
  --message "Generate a weekly fitness & nutrition summary with stats."
```

## Data Storage

All data is stored as local files (no external services needed):

```
~/.openclaw/fitness-coach/
โ”œโ”€โ”€ profile.json        # User profile + coach settings
โ”œโ”€โ”€ workout-log.jsonl   # All workouts (append-only)
โ”œโ”€โ”€ meal-log.jsonl      # All meals (append-only)
โ””โ”€โ”€ feedback-log.jsonl  # Health/energy feedback (append-only)
```

## Development

```bash
git clone https://github.com/pascalhahn/openclaw-fitness-coach.git
cd openclaw-fitness-coach
npm install
npm test            # run all 96 tests
npm run test:watch  # watch mode
```

## License

MIT ยฉ Pascal Hahn
tools

Comments

Sign in to leave a comment

Loading comments...