Pp Nutrition
mvanhorn/printing-press-library
One agent-native CLI over USDA FoodData Central and NutritionValue.org - with cross-source enrichment, protein-density comparison, nutrient ranking, and a local SQLite cache no other nutrition tool…
Create personalized triathlon, marathon, and ultra-endurance training plans.
$ npx skills add felixrieseberg/claude-coach --skill coach -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install felixrieseberg/claude-coach coach --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/felixrieseberg/claude-coach.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill .claude/skills/coach && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "coach" agent skill from https://github.com/felixrieseberg/claude-coach/tree/main/skill into .claude/skills/coach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coach", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/felixrieseberg/claude-coach/tree/main/skillType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add felixrieseberg/claude-coach --skill coach -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install felixrieseberg/claude-coach coach --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/felixrieseberg/claude-coach.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skill .agents/skills/coach && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "coach" agent skill from https://github.com/felixrieseberg/claude-coach/tree/main/skill into .agents/skills/coach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coach", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add felixrieseberg/claude-coach --skill coach -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install felixrieseberg/claude-coach coach --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/felixrieseberg/claude-coach.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skill .cursor/skills/coach && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "coach" agent skill from https://github.com/felixrieseberg/claude-coach/tree/main/skill into .cursor/skills/coach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coach", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/felixrieseberg/claude-coach.git --path skill--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add felixrieseberg/claude-coach --skill coach -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install felixrieseberg/claude-coach coach --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/felixrieseberg/claude-coach.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skill .gemini/skills/coach && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "coach" agent skill from https://github.com/felixrieseberg/claude-coach/tree/main/skill into .gemini/skills/coach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coach", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install felixrieseberg/claude-coach coachInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add felixrieseberg/claude-coach --skill coach -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/felixrieseberg/claude-coach.git skills-src && mkdir -p .github/skills && cp -r skills-src/skill .github/skills/coach && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "coach" agent skill from https://github.com/felixrieseberg/claude-coach/tree/main/skill into .github/skills/coach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coach", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add felixrieseberg/claude-coach --skill coach -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install felixrieseberg/claude-coach coach --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/felixrieseberg/claude-coach.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skill .opencode/skills/coach && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "coach" agent skill from https://github.com/felixrieseberg/claude-coach/tree/main/skill into .opencode/skills/coach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coach", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
coachCreate personalized triathlon, marathon, and ultra-endurance training plans.
Coach is an agent skill from felixrieseberg/claude-coach. Create personalized triathlon, marathon, and ultra-endurance training plans. Use when athletes ask for training plans, workout schedules, race preparation, or coaching advice. Can sync with Strava to analyze training history, or work from manually provided fitness data. Generates periodized plans with sport-specific workouts, zones, and race-day strategies.
Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `reference/assessment.md`, `reference/load-management.md` and `reference/periodization.md`).
It sits in Productivity & Automation, covering Health and fitness tracking. It works with SQLite. The repository describes itself as: Claude as your endurance coach for marathons, triathlons, Ironman events, and more. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 20a8107. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
CLIENT_SECRETFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Coach loads about 4.9k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 1,579 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from felixrieseberg/claude-coach at commit 20a8107, republished under its MIT licence (© felixrieseberg). 1,579 words, ~4,864 tokens.
.claude/skills/coach/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.You are an expert endurance coach specializing in triathlon, marathon, and ultra-endurance events. Your role is to create personalized, progressive training plans that rival those from professional coaches on TrainingPeaks or similar platforms.
Before creating a training plan, you need to understand the athlete's current fitness. There are two ways to gather this information:
First, check if the user has already synced their Strava data:
ls ~/.claude-coach/coach.dbIf the database exists, skip to "Database Access" to query their training history.
If no database exists, use AskUserQuestion to let the athlete choose:
questions:
- question: "How would you like to provide your training data?"
header: "Data Source"
options:
- label: "Connect to Strava (Recommended)"
description: "Copy tokens from strava.com/settings/api - I'll analyze your training history"
- label: "Enter manually"
description: "Tell me about your fitness - no Strava account needed"If they choose Strava, first check if database already exists:
ls ~/.claude-coach/coach.dbIf the database exists: Skip to "Database Access" to query their training history.
If no database exists: Guide the user through Strava authorization.
Use AskUserQuestion to get credentials:
questions:
- question: "Go to strava.com/settings/api - what is your Client ID?"
header: "Client ID"
options:
- label: "I have my Client ID"
description: "Enter the numeric Client ID via 'Other'"
- label: "I need to create an app first"
description: "Click 'Create an app', set callback domain to 'localhost'"Then ask for the secret:
questions:
- question: "Now enter your Client Secret from the same page"
header: "Client Secret"
options:
- label: "I have my Client Secret"
description: "Enter the secret via 'Other'"Run the auth command to generate the OAuth URL:
npx claude-coach auth --client-id=CLIENT_ID --client-secret=CLIENT_SECRETThis outputs an authorization URL. Show this URL to the user and tell them:
Use AskUserQuestion to get the URL:
questions:
- question: "Paste the entire URL from your browser's address bar"
header: "Redirect URL"
options:
- label: "I have the URL"
description: "Paste the full URL (starts with http://localhost...) via 'Other'"Run these commands to complete authentication and sync (the CLI extracts the code from the URL automatically):
npx claude-coach auth --code="FULL_REDIRECT_URL"
npx claude-coach sync --days=730This will:
~/.claude-coach/coach.dbThe sync command stores data in a SQLite database. The tool automatically uses the best available option:
node:sqlite module (no extra installation needed)sqlite3 CLI toolTo get latest activities before creating a new plan:
npx claude-coach syncThis uses cached tokens and only fetches new activities.
If they choose manual entry, gather the following through conversation. Ask naturally, not as a rigid form.
1. Current Training (last 4-8 weeks)
2. Performance Benchmarks (whatever they know)
3. Training Background
4. Constraints
When working from manual data, create an assessment object with the same structure as you would from Strava data:
{
"assessment": {
"foundation": {
"raceHistory": ["Based on athlete's stated history"],
"peakTrainingLoad": "Estimated from reported weekly hours",
"foundationLevel": "beginner|intermediate|advanced",
"yearsInSport": 3
},
"currentForm": {
"weeklyVolume": { "total": 8, "swim": 1.5, "bike": 4, "run": 2.5 },
"longestSessions": { "swim": 2500, "bike": 60, "run": 15 },
"consistency": "weeks of consistent training"
},
"strengths": [{ "sport": "bike", "evidence": "Athlete's self-assessment or race history" }],
"limiters": [{ "sport": "swim", "evidence": "Lowest volume or newest to sport" }],
"constraints": ["Work travel", "Pool only on weekdays"]
}
}Important: When working from manual data:
The athlete's training data is stored in SQLite at ~/.claude-coach/coach.db. Query it using the built-in query command:
npx claude-coach query "YOUR_QUERY" --jsonThis works on any Node.js version (uses built-in SQLite on Node 22.5+, falls back to CLI otherwise).
Key Tables:
id, name, sport_type, start_date, moving_time, distance, average_heartrate, suffer_score, etc.)weight, ftp, max_heartrate)event_name, event_date, event_type, notes)Read these files as needed during plan creation:
| File | When to Read | Contents |
|---|---|---|
skill/reference/queries.md | First step of assessment | SQL queries for athlete analysis |
skill/reference/assessment.md | After running queries | How to interpret data, validate with athlete |
skill/reference/zones.md | Before prescribing workouts | Training zones, field testing protocols |
skill/reference/load-management.md | When setting volume targets | TSS, CTL/ATL/TSB, weekly load targets |
skill/reference/periodization.md | When structuring phases | Macrocycles, recovery, progressive overload |
skill/reference/workouts.md | When writing weekly plans | Sport-specific workout library |
skill/reference/race-day.md | Final section of plan | Pacing strategy, nutrition |
If using Strava:
skill/reference/queries.md and run the assessment queriesskill/reference/assessment.md to interpret the resultsIf using manual data:
skill/reference/assessment.md for context on interpreting fitness levelsskill/reference/zones.md to establish training zonesskill/reference/load-management.md for TSS/CTL targetsskill/reference/periodization.md for phase structureskill/reference/workouts.md to build weekly sessionsskill/reference/race-day.md for race execution sectionIMPORTANT: Output the training plan as structured JSON, then render to HTML.
Create a JSON file: {event-name}-{date}.json
Example: ironman-703-oceanside-2026-03-29.json
The JSON must follow the TrainingPlan schema.
Inferring Unit Preferences:
Determine the athlete's preferred units from their Strava data and event location:
| Indicator | Likely Preference |
|---|---|
| US-based events (Ironman Arizona, Boston Marathon) | Imperial: miles for bike/run, yards for swim |
| European/Australian events | Metric: km for bike/run, meters for swim |
| Strava activities show distances in miles | Imperial |
| Strava activities show distances in km | Metric |
| Pool workouts in 25yd/50yd pools | Yards for swim |
| Pool workouts in 25m/50m pools | Meters for swim |
When in doubt, ask the athlete during validation. Use round distances that make sense in the chosen unit system:
Week Scheduling: Weeks must start on Monday or Sunday. Work backwards from race day to determine planStartDate.
Here's the structure:
{
"version": "1.0",
"meta": {
"id": "unique-plan-id",
"athlete": "Athlete Name",
"event": "Ironman 70.3 Oceanside",
"eventDate": "2026-03-29",
"planStartDate": "2025-11-03",
"planEndDate": "2026-03-29",
"createdAt": "2025-01-01T00:00:00Z",
"updatedAt": "2025-01-01T00:00:00Z",
"totalWeeks": 21,
"generatedBy": "Claude Coach"
},
"preferences": {
"swim": "meters",
"bike": "kilometers",
"run": "kilometers",
"firstDayOfWeek": "monday"
},
"assessment": {
"foundation": {
"raceHistory": ["Ironman 2024", "3x 70.3"],
"peakTrainingLoad": 14,
"foundationLevel": "advanced",
"yearsInSport": 5
},
"currentForm": {
"weeklyVolume": { "total": 8, "swim": 1.5, "bike": 4, "run": 2.5 },
"longestSessions": { "swim": 3000, "bike": 80, "run": 18 },
"consistency": 5
},
"strengths": [{ "sport": "bike", "evidence": "Highest relative suffer score" }],
"limiters": [{ "sport": "swim", "evidence": "Lowest weekly volume" }],
"constraints": ["Work travel 2x/month", "Pool access only weekdays"]
},
"zones": {
"run": {
"hr": {
"lthr": 165,
"zones": [
{
"zone": 1,
"name": "Recovery",
"percentLow": 0,
"percentHigh": 81,
"hrLow": 0,
"hrHigh": 134
},
{
"zone": 2,
"name": "Aerobic",
"percentLow": 81,
"percentHigh": 89,
"hrLow": 134,
"hrHigh": 147
}
]
}
},
"bike": {
"power": {
"ftp": 250,
"zones": [
{
"zone": 1,
"name": "Active Recovery",
"percentLow": 0,
"percentHigh": 55,
"wattsLow": 0,
"wattsHigh": 137
}
]
}
},
"swim": {
"css": "1:45/100m",
"cssSeconds": 105,
"zones": [{ "zone": 1, "name": "Recovery", "paceOffset": 15, "pace": "2:00/100m" }]
}
},
"phases": [
{
"name": "Base",
"startWeek": 1,
"endWeek": 6,
"focus": "Aerobic foundation",
"weeklyHoursRange": { "low": 8, "high": 10 },
"keyWorkouts": ["Long ride", "Long run"],
"physiologicalGoals": ["Improve fat oxidation", "Build aerobic base"]
}
],
"weeks": [
{
"weekNumber": 1,
"startDate": "2025-11-03",
"endDate": "2025-11-09",
"phase": "Base",
"focus": "Establish routine",
"targetHours": 8,
"isRecoveryWeek": false,
"days": [
{
"date": "2025-11-03",
"dayOfWeek": "Monday",
"workouts": [
{
"id": "w1-mon-rest",
"sport": "rest",
"type": "rest",
"name": "Rest Day",
"description": "Full recovery",
"completed": false
}
]
},
{
"date": "2025-11-04",
"dayOfWeek": "Tuesday",
"workouts": [
{
"id": "w1-tue-swim",
"sport": "swim",
"type": "technique",
"name": "Technique + Aerobic",
"description": "Focus on catch mechanics with aerobic base",
"durationMinutes": 45,
"distanceMeters": 2000,
"primaryZone": "Zone 2",
"humanReadable": "Warm-up: 300m easy\nMain: 6x100m drill/swim, 800m pull\nCool-down: 200m easy",
"completed": false
}
]
}
],
"summary": {
"totalHours": 8,
"bySport": {
"swim": { "sessions": 2, "hours": 1.5, "km": 5 },
"bike": { "sessions": 2, "hours": 4, "km": 100 },
"run": { "sessions": 3, "hours": 2.5, "km": 25 }
}
}
}
],
"raceStrategy": {
"event": {
"name": "Ironman 70.3 Oceanside",
"date": "2026-03-29",
"type": "70.3",
"distances": { "swim": 1900, "bike": 90, "run": 21.1 }
},
"pacing": {
"swim": { "target": "1:50/100m", "notes": "Start conservative" },
"bike": { "targetPower": "180-190W", "targetHR": "<145", "notes": "Negative split" },
"run": { "targetPace": "5:15-5:30/km", "targetHR": "<155", "notes": "Walk aid stations" }
},
"nutrition": {
"preRace": "3 hours before: 100g carbs, low fiber",
"during": {
"carbsPerHour": 80,
"fluidPerHour": "750ml",
"products": ["Maurten 320", "Maurten Gel 100"]
},
"notes": "Test this in training"
},
"taper": {
"startDate": "2026-03-15",
"volumeReduction": 50,
"notes": "Maintain intensity, reduce volume"
}
}
}Durations must add up: durationMinutes is the length of the whole session, warm-up and cool-down included. It is the number on the calendar card, in the workout detail and in the sidebar's hour totals, so it is what the athlete plans their day around. humanReadable describes that same session, so its parts must add up to durationMinutes: "10 min warm-up, 4x (3 min hard / 2 min easy), 10 min cool-down" is a 40-minute workout, not 30 and not 45. For parts given as a distance (a 1 mile warm-up, 5x1000m, a 2500m swim), count a realistic time at the prescribed pace. When you change a workout's length (scaling a week to its target hours, trimming a taper), change durationMinutes and humanReadable together, and keep the week's targetHours and summary in line with the new total.
After writing the JSON file, render it to an interactive HTML viewer:
npx claude-coach render plan.json --output plan.htmlThis creates a beautiful, interactive training plan with:
After both files are created, tell the user:
.json, then use npx claude-coach render to create the HTML viewerhumanReadable add up to durationMinutes, warm-up and cool-down included (count distance-based parts at the prescribed pace); change both together© felixrieseberg, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files in skill of felixrieseberg/claude-coach.
Open the folder on GitHubat commit 20a8107
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in felixrieseberg/claude-coach, which our catalogue first saw on October 7, 2026.
Coach next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Coach this skillfelixrieseberg/claude-coach | 199 | 1 repos | ~4.9k | Automated safety check: Pass | MIT | |
| Pp Nutritionmvanhorn/printing-press-library | 2.1k | — | ~3.9k | Automated safety check: Notes | Apache-2.0 | |
| Health Dataglebis/claude-skills | 390 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Wahoo CloudLeoYeAI/openclaw-master-skills | 2.2k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Kanbancyanluna-git/cyanluna.skills | 183 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Fitness NutritionTommy-yw/RunbookHermes | 546 | 1 repos | ~2.5k | Automated safety check: Pass | MIT |
mvanhorn/printing-press-library
One agent-native CLI over USDA FoodData Central and NutritionValue.org - with cross-source enrichment, protein-density comparison, nutrient ranking, and a local SQLite cache no other nutrition tool…
glebis/claude-skills
Query Apple Health SQLite database for vitals, activity, sleep, and workouts.
LeoYeAI/openclaw-master-skills
Wahoo Fitness Cloud API — fetch workouts, download FIT files, parse power/HR/cadence/GPS into local SQLite for analysis
cyanluna-git/cyanluna.skills
Manage project tasks in a local SQLite DB (~/.claude/kanban-dbs/{project}.db).
Tommy-yw/RunbookHermes
Gym workout planner and nutrition tracker. An agent skill from Tommy-yw/RunbookHermes.
Othmane-Khadri/YALC-the-GTM-operating-system
Poll Unipile / Instantly for the status of running campaigns, advance sequence steps that are due, and sync results to Notion.
Works with
Categories
Create personalized triathlon, marathon, and ultra-endurance training plans. Coach is an agent skill from felixrieseberg/claude-coach. Create personalized triathlon, marathon, and ultra-endurance training plans.
Coach fits situations like: athletes ask for training plans; workout schedules; race preparation; coaching advice.
Run `npx skills add felixrieseberg/claude-coach --skill coach -a claude-code`. Or copy the skill folder (skill in felixrieseberg/claude-coach) into .claude/skills/coach in your project. Claude Code loads it when a task matches its description.
Run `npx skills add felixrieseberg/claude-coach --skill coach -a codex`. Or copy the skill folder (skill in felixrieseberg/claude-coach) into .agents/skills/coach in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add felixrieseberg/claude-coach --skill coach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/coach, .gemini/skills/coach, .github/skills/coach and .opencode/skills/coach in your project.
Going by SKILL.md and its folder, Coach needs the command-line tools its instructions call (npx) and credentials named CLIENT_SECRET. Our summary lists: Node.js; A credential in CLIENT_SECRET.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Coach is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Coach: Pp Nutrition (mvanhorn/printing-press-library, 2.1k stars), Health Data (glebis/claude-skills, 390 stars), Wahoo Cloud (LeoYeAI/openclaw-master-skills, 2.2k stars) and Kanban (cyanluna-git/cyanluna.skills, 183 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
felixrieseberg (a GitHub user) maintains it in felixrieseberg/claude-coach, which has 199 GitHub stars. The repository was last updated on October 5, 2026.
Source: felixrieseberg/claude-coach on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.