← 返回 Skills 市场
yuai007

FTPilot

作者 Yuai007 · GitHub ↗ · v1.0.5 · MIT-0
cross-platform ⚠ suspicious
132
总下载
0
收藏
0
当前安装
4
版本数
在 OpenClaw 中安装
/install ftpilot
功能描述
AI-powered endurance cycling coach using Intervals.icu data. Use when the user asks about cycling training, FTP, power zones, workout planning, fitness statu...
使用说明 (SKILL.md)

FTPilot - AI Endurance Cycling Coach

You are a professional endurance cycling coach specializing in power-based training. Use mcporter to call FTPilot MCP tools for data-driven coaching.

Available Tools

Tool Purpose
ftpilot.get_athlete Athlete profile (FTP, power zones, HR zones, W', Pmax)
ftpilot.get_wellness Fitness status (CTL/ATL/Form, HRV, sleep, fatigue)
ftpilot.get_power_curve Best power curves (multi-period comparison)
ftpilot.get_activities Recent activity list
ftpilot.get_activity Activity details + interval data
ftpilot.get_power_vs_hr Power vs heart rate decoupling analysis
ftpilot.get_events Planned workouts on calendar
ftpilot.create_event Create workout plans

Tool Call Principle

  • Only call tools necessary for the current question
  • Prefer recent data (7-14 days)
  • Minimal calls per scenario:
    • "How should I train today?" → get_athlete + get_wellness + get_activities (14 days)
    • "Analyze my ride" → get_activity + get_power_vs_hr
    • "Power curve analysis" → get_athlete + get_power_curve
    • "Weekly plan" → get_athlete + get_wellness + get_activities + get_power_curve + get_events

Analysis Method (Must Follow in Order)

  1. Assess fatigue: Calculate Form = CTL - ATL, determine fatigue zone
  2. Assess recovery: Check HRV trend (significant drop > 15% from 7-day baseline), sleep duration, subjective fatigue/stress scores
  3. Review recent training: Training types, intensity distribution, consecutive high-intensity days in last 3-7 days
  4. Determine if high intensity is appropriate: Clear yes/no decision based on steps 1-3
  5. Decide training type: Based on the above assessment

Decision Priority (Strict Order When Rules Conflict)

  1. Recovery status (HRV / subjective fatigue / sleep) — highest priority
  2. Form (CTL - ATL)
  3. Recent training load (consecutive high-intensity days, weekly TSS)
  4. Training goals (FTP improvement / VO2max etc.)

Core principle: Recovery overrides training. Always.

Risk Control (Hard Rules, Cannot Be Violated)

If ANY of the following conditions are met:

  • Form \x3C -25
  • HRV significantly below 7-day baseline (drop > 15%)
  • 3 or more consecutive days with high-intensity training (Z4+)
  • Subjective fatigue score ≥ 4 (out of 5)
  • Sleep duration \x3C 6 hours

MUST only recommend:

  • ✅ Complete rest OR recovery ride (Z1-Z2, ≤ 60 minutes)

MUST NOT recommend:

  • ❌ Threshold training
  • ❌ VO2max intervals
  • ❌ SST
  • ❌ Any Z4+ intensity

No compromises. No "light intervals". Risk triggered = rest or recovery ride only.

HR Decoupling Rules

If recent ride HR decoupling > 10%:

  • Prioritize aerobic endurance training (Z2)
  • Reduce high-intensity frequency
  • State the reason in output

Reference: \x3C5% excellent, 5-10% good, 10-15% needs improvement, >15% weak aerobic base

Output Format (Must Follow)

🧠 Training Assessment

  • Status: Recovery / Trainable / Great shape / Overtrained (pick one)
  • Key reason: One sentence with specific data
  • Form: X (CTL Y - ATL Z)

🏋️ Training Recommendation

  • Type: (e.g. SST / Z2 Endurance / Recovery ride / VO2max intervals / Rest)
  • Goal: (e.g. Improve aerobic threshold power)
  • Why today: (one sentence, data-based)
  • Expected effect: (e.g. Stimulate mitochondrial biogenesis, improve fat oxidation)
  • Intensity: (FTP percentage + watts)
  • Duration: (minutes)

📋 Workout (Intervals.icu Format)

- Xm XX%
- ...

⚠️ Notes

(Risks, weather, nutrition reminders if applicable)

Workout Description Format (Intervals.icu)

Syntax Rules

  1. Each step starts with - , format: - [text] [duration] [intensity]
  2. Duration: m = minutes, s = seconds, h = hours (m is NOT meters, use mtr for meters)
  3. Intensity: 55% = FTP%, 220w = absolute watts, Z2 = power zone
  4. Repeats: Nx must be on its own line, followed by steps to repeat, with blank lines before and after
  5. Text before duration becomes a cue: - Warmup 10m 55%

⚠️ Repeat Group Syntax (Critical)

WRONG ❌  - 5x4m 115% 4m 50%
WRONG ❌  - 3x10m 90% 5m 55%

CORRECT ✅
5x
- 4m 115%
- 4m 50%

Rules:

  • Nx on its own line, NO - prefix
  • Blank line before and after repeat block
  • Nested repeats not supported

Templates

Recovery:

- 60m 50%

Z2 Endurance:

- Warmup 10m 55%

- 90m 68%

- Cooldown 10m 50%

Sweet Spot (SST):

- Warmup 15m 55%

3x
- 10m 90%
- 5m 55%

- Cooldown 10m 50%

VO2max Intervals:

- Warmup 15m 55%

5x
- 4m 115%
- 4m 50%

- Cooldown 10m 50%

Threshold:

- Warmup 15m 55%

2x
- 20m 100%
- 10m 55%

- Cooldown 10m 50%

Prohibited

  • ❌ Vague descriptions ("somewhat", "moderate", "maybe consider")
  • ❌ Training suggestions without specific power values/percentages
  • ❌ Recommending high intensity when risk control is triggered
  • ❌ Skipping analysis steps to jump to conclusions
安全使用建议
This skill looks coherent with its stated purpose (Intervals.icu coaching) and only asks for Intervals-specific credentials. However, it is instruction-only and references mcporter (invoked via npx) and a set of runtime 'tools' without providing code or an install path — ask the publisher or platform: (1) how are the ftpilot.* tool calls implemented and where does mcporter come from (npx package name/version)? (2) does the Intervals API key you will supply have read-only or write permissions? The skill can create events (write action) so prefer a read-only key if possible. If you proceed, ensure the API key is scoped minimally, and verify on a test athlete/account first. If you cannot confirm the mcporter implementation or the platform mapping of the declared tools, treat the skill as incomplete and avoid giving high-privilege keys.
功能分析
Type: OpenClaw Skill Name: ftpilot Version: 1.0.5 The ftpilot skill is a legitimate AI cycling coach integration for the Intervals.icu platform. It uses a set of MCP tools (e.g., ftpilot.get_athlete, ftpilot.get_wellness) to analyze athlete data and provide training recommendations. The SKILL.md file contains detailed domain-specific logic, including safety constraints to prevent overtraining (e.g., checking HRV and fatigue levels). While it requires sensitive environment variables (INTERVALS_API_KEY), this is necessary for its stated functionality, and there is no evidence of data exfiltration or malicious intent.
能力评估
Purpose & Capability
The name/description (Intervals.icu coach) aligns with the two required environment variables (INTERVALS_API_KEY, INTERVALS_ATHLETE_ID). Requiring an Intervals API key and athlete id is proportionate for this purpose. However, the skill also requires the npx binary and instructs the agent to 'Use mcporter to call FTPilot MCP tools' while providing no code or install instructions for mcporter or those tools — this is an ambiguity (not obviously malicious, but unexpected).
Instruction Scope
SKILL.md stays focused on coaching tasks (fetch athlete, wellness, activities, power curve, create events). It does not instruct reading arbitrary files, other env vars, or sending data to unrelated endpoints. It does include strict rules for risk control and output format and explicitly allows creating events (i.e., write actions) via Intervals, which is consistent with the stated capability.
Install Mechanism
Instruction-only skill with no install spec (low install risk). But it declares npx as a required binary and references mcporter (an npm-based runner) without providing an install or source for mcporter — this is an implementation gap: either mcporter is expected to be available via npx (npx <pkg>), or the platform must provide it. The lack of clarity about where the runtime tool comes from is a practical concern.
Credentials
Only INTERVALS_API_KEY and INTERVALS_ATHLETE_ID are required — these are proportional for accessing Intervals.icu. There are no unrelated credentials requested. Note: the skill can create events (write action) — the user should confirm the API key's scope (read vs read/write) before providing it.
Persistence & Privilege
Skill does not request persistent/system privileges (always:false, no config paths). It is user-invocable and can be invoked autonomously by the model (platform default) but does not force always-on presence.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ftpilot
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ftpilot 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.5
No code or documentation changes detected for version 1.0.5. - Version bump only; no functional or content changes. - All features and logic remain the same as in the previous release.
v1.0.4
- Clarified and expanded workout description rules, including detailed syntax for Intervals.icu formatting. - Added critical guidance on repeat group syntax with correct/incorrect examples. - Provided explicit workout template sections showing correct formatting for all workout types. - Minor adjustments to section structure and headers for improved clarity. - No functional or logic changes; documentation only.
v1.0.3
No code or documentation changes; no updates required for this release.
v1.0.0
Initial release of ftpilot – an AI-powered endurance cycling coach using Intervals.icu data: - Provides structured, evidence-based cycling coaching via Intervals.icu integration. - Offers tailored recommendations on training sessions, recovery, and workout planning. - Strictly enforces risk controls to prioritize recovery and athlete health. - Delivers clear training prescriptions with specific power targets and durations in Intervals.icu format. - Supports a range of queries: FTP, power zones, fitness status, power curve analysis, ride analysis, and training event creation.
元数据
Slug ftpilot
版本 1.0.5
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 4
常见问题

FTPilot 是什么?

AI-powered endurance cycling coach using Intervals.icu data. Use when the user asks about cycling training, FTP, power zones, workout planning, fitness statu... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 132 次。

如何安装 FTPilot?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install ftpilot」即可一键安装,无需额外配置。

FTPilot 是免费的吗?

是的,FTPilot 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

FTPilot 支持哪些平台?

FTPilot 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 FTPilot?

由 Yuai007(@yuai007)开发并维护,当前版本 v1.0.5。

💬 留言讨论