A single, portable AI coaching system that turns your agent into a complete, evidence-based personal trainer and nutritionist for one athlete. It programmes your training with RPE-based progressive overload, logs every session, tracks progress and busts plateaus, calculates your calorie and macro targets, builds practical meal plans, and remembers all of it between conversations by keeping your profile and logs in files.
It is packaged two ways from the same knowledge base so it runs anywhere:
- as a Claude Code / claude.ai skill (
personal-trainer/SKILL.md), and - as a cross-agent
AGENTS.md(AGENTS.md) read automatically by Codex, opencode, Cursor, Gemini CLI, Jules and otherAGENTS.md-aware tools, plus a dedicated opencode agent (.opencode/agent/coach.md).
Every recommendation is grounded in the strength-and-conditioning and nutrition literature — the Coach is a scientific lifter and nutritionist, not bro-science.
.
├── README.md ← you are here
├── AGENTS.md ← cross-agent instructions (Codex, opencode, Cursor, Gemini CLI…)
├── .opencode/
│ └── agent/
│ └── coach.md ← dedicated opencode agent definition
└── personal-trainer/ ← the shared knowledge base + Claude skill
├── SKILL.md ← Claude Code / claude.ai entry point
├── references/
│ ├── evidence.md ← scientific evidence base + citations + confidence grading
│ ├── training.md ← programming, logging, progression, periodisation
│ ├── nutrition.md ← TDEE/macros, meal planning, supplements, stalls
│ └── prompts.md ← ready-made prompt stack
└── assets/ ← blank fill-in templates (copied into coach-data/)
├── athlete-profile.md
├── exercise-library.md
├── lift-log.md
├── programme-template.md
└── nutrition.md
AGENTS.mdandpersonal-trainer/SKILL.mdare two entry points into the same brain. Each defines the Coach's identity, the persistent-data rules, and the onboarding flow, then routes to the detailed reference files.AGENTS.mdis the universal one (most agents load it automatically);SKILL.mdadds Claude's skill frontmatter so Claude auto-activates it.personal-trainer/references/holds the detailed coaching logic and the science. The agent reads only the file relevant to the request (training vs nutrition vs evidence vs prompts) — progressive disclosure keeps the always-loaded context small while deep knowledge stays available on demand.personal-trainer/assets/holds blank templates. On first use the agent copies them into a workingcoach-data/folder, where your actual data lives and grows.
What makes this a coach and not a chatbot is memory. Whenever it runs, it looks for
a coach-data/ folder in the working directory and reads:
| File | Holds |
|---|---|
coach-data/athlete-profile.md |
Stats, goals, schedule, equipment, injuries, dietary prefs |
coach-data/exercise-library.md |
Which exercises are YES / SUB / NO |
coach-data/lift-log.md |
Working weights + every logged session (append-only) |
coach-data/programme.md |
The active programme + block/week tracking |
coach-data/nutrition.md |
Calculated targets, macros, meal-plan history |
After every session log, target calculation, or programme change it writes the update back — so the next conversation picks up where you left off. The lift log is append-only: old entries are never deleted, because they are the source of truth for progress.
Any agent with file read/write gets full persistence. Pick your tool.
AGENTS.md is read automatically from the working directory.
- Put this folder where you want your
coach-data/to live (or copyAGENTS.md+personal-trainer/into an existing project). Codex also merges~/.codex/AGENTS.mdif you want the Coach available globally. - Run
codexin that folder and say: "Be my coach — set me up." - Codex reads
AGENTS.md, runs onboarding, createscoach-data/, and reads/writes your files directly from then on.
Two ways:
- Automatic rules: opencode reads
AGENTS.mdfrom the project root — just open opencode in this folder and talk to it. - Dedicated agent:
.opencode/agent/coach.mddefines a primary agent named coach (read/write/edit/bash enabled). Switch to it with the agent picker (Tab) or@coach. To make it global, copy that file to~/.config/opencode/agent/coach.md.
Open the folder; these tools pick up AGENTS.md as project instructions. Anything with
file access maintains coach-data/ automatically. Then use natural language or the
prompt stack in personal-trainer/references/prompts.md.
- Copy
personal-trainer/into a skills directory:- Personal (all projects):
~/.claude/skills/personal-trainer/(Windows:C:\Users\<you>\.claude\skills\personal-trainer\) - Project-scoped:
<your-project>/.claude/skills/personal-trainer/
- Personal (all projects):
- Open Claude Code in the folder you want
coach-data/to live in. - Say "Be my coach. Let's set up my profile." — Claude detects the skill, onboards
you, and creates
coach-data/. Confirm install with/skills.
(Claude Code will also honour the root AGENTS.md if you prefer not to install the
skill.)
- Projects → New Project, name it (e.g. "Coach").
- Paste the body of
personal-trainer/SKILL.md(skip the YAML frontmatter) into the project Instructions, then append thereferences/files so the full logic is available (Projects can't lazy-load). - Upload your filled-in
assets/templates into the project Files. ⚠️ Projects can't write back to files — after each session, ask for the updatedlift-log.mdblock and paste it into your uploaded file yourself.
Load AGENTS.md (or SKILL.md) + the reference files as the system prompt and give
the model a filesystem tool scoped to a coach-data/ directory. The data rules then
drive persistence exactly as above.
- You: "Be my coach — set me up."
- Coach: creates
coach-data/, interviews you for the essentials, walks the exercise library, saves everything, confirms what it knows and flags gaps. - You: "Build me a 4-day programme" → full Day 1 + structure for Days 2–4, saved
to
programme.md. - You: "Now calculate my fat-loss calories and protein" → shows the Mifflin-St
Jeor working, sets targets, saves to
nutrition.md. - Day to day: paste your sessions to log them, ask for the next workout, request meal plans, swap exercises, run a deload, or troubleshoot a stall.
The Coach is built as a scientific lifter and nutritionist — every protocol,
number, and claim is grounded in the strength-and-conditioning and nutrition
literature, not bro-science or fads. It carries its own evidence library in
personal-trainer/references/evidence.md,
which:
- maps each coaching rule back to its research basis (e.g. volume as the primary hypertrophy driver, proximity-to-failure governing the stimulus, energy balance for fat loss, protein at 1.6–2.2 g/kg);
- carries a short-form reference list (Morton et al. 2018, Schoenfeld et al. 2017, ACSM 2009, Kreider et al. 2017, ISSN position stands, etc.) the Coach cites from;
- tells the Coach to grade its confidence (strong / moderate / emerging), be honest when evidence is thin, never fabricate a citation, and reject pseudoscience (detoxes, fat burners, spot reduction, "metabolic damage" myths) outright.
Ask it "why?" or "what's the source?" on any recommendation and it pulls the rationale and citation rather than hand-waving.
Training — RPE-based loading (7–8 hypertrophy, 8–9 strength), never percentages off a 1RM; progressive overload after 2 consecutive top-of-range sessions at target RPE (+2.5 kg upper compounds, +5 kg lower compounds, reps-before-weight on accessories); compounds first, accessories for weak points; Week 1 is calibration; deload every 4–6 weeks.
Nutrition — TDEE via Mifflin-St Jeor × activity factor, 300–500 kcal deficit for steady fat loss; macro priority protein 0.8–1 g/lb (≈1.6–2.2 g/kg, non-negotiable), fat ≥0.35 g/lb, carbs fill the rest; whole-food, practical meal plans that respect every restriction; evidence-backed supplements only.
Style — direct, concise, real numbers, tables for programmes and meal plans, metric units, no moralising.
- Edit
AGENTS.md/personal-trainer/SKILL.mdto change the coach's personality, units (e.g. switch to lb/imperial), or default split. Keep the two in sync since they share a brain. - Edit the
references/files to adjust programming or nutrition rules (progression increments, deficit size, periodisation, evidence). - Edit the
assets/templates to change what data the coach collects.
The Coach is a tool, not a doctor or a registered dietitian. Train sensibly, and if you have a diagnosed health condition or complex dietary needs, consult a qualified professional. The system is built to flag this and defer on medical questions.
Knowledge distilled from guides by Hawks (@Hawks0x), grounded
in the literature cited in personal-trainer/references/evidence.md.