创建个性化的铁人三项、马拉松和超耐力训练计划。当运动员询问训练计划、锻炼计划、比赛准备或教练建议时使用。可以与 Strava 同步以分析训练历史,或根据手动提供的健身数据进行工作。生成定期计划
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install clawd-coach或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install clawd-coach⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/clawd-coach/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: coach description: 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. ---
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.db
If 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.db
If 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_SECRET
This 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=730
This 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 sync
This 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" --json
This 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:
...
安装 教练技巧 后,可以对 AI 说这些话来触发它
Help me get started with Coach Skill
Explains what Coach Skill does, walks through the setup, and runs a quick demo based on your current project
Use Coach Skill to create personalized triathlon, marathon, and ultra-endurance traini...
Invokes Coach Skill with the right parameters and returns the result directly in the conversation
What can I do with Coach Skill in my marketing & growth workflow?
Lists the top use cases for Coach Skill, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/clawd-coach/ 目录(个人级,所有项目可用),或 .claude/skills/clawd-coach/(项目级)。重启 AI 客户端后,用 /clawd-coach 主动调用,或让 AI 根据上下文自动发现并使用。
教练技巧 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
教练技巧 可免费安装使用。请查阅仓库了解许可证信息。
创建个性化的铁人三项、马拉松和超耐力训练计划。当运动员询问训练计划、锻炼计划、比赛准备或教练建议时使用。可以与 Strava 同步以分析训练历史,或根据手动提供的健身数据进行工作。生成定期计划
教练技巧 属于「Marketing & Growth」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my marketing & growth tasks using Coach Skill
Identifies repetitive steps in your workflow and sets up Coach Skill to handle them automatically