likes-training-planner

Complete training plan solution for My Likes platform. Fetches historical data, analyzes training patterns, generates personalized plans, converts to Likes format, and pushes to calendar. All-in-one skill for running, cycling, swimming, and strength training.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "likes-training-planner" with this command: npx skills add chenwynn/grouptraining

Likes Training Planner

Complete training plan solution for My Likes platform. One skill does it all: fetch data → analyze → generate → push.

🤖 Bot 自动路由(多Bot支持)

本Skill支持多个Telegram Bot自动路由,不同Bot有不同的专注领域:

Bot角色专注功能
@likes_training_bot训练分析师数据分析、反馈点评
@likes_traning_2_bot训练计划师计划制定、推送日历

系统会自动识别当前使用的Bot,提供对应的功能和交互体验。

Quick Start

1. Configure API Key

OpenClaw Skill Center (Recommended):

  1. Open http://127.0.0.1:18789 → Skills
  2. Find "likes-training-planner" 🏃
  3. Click Configure, enter your Likes API Key
  4. Save

Get API Key: https://my.likes.com.cn → 设置 → API 文档

2. Use the Skill

Just ask:

"分析我过去30天的运动数据"

"根据我的记录,生成下周的训练计划"

"帮我制定一个8周马拉松备赛计划"

Complete Workflow

Step 1: Fetch Data

# Fetch activities (rate limit: 1 req/min, max 30 days)
node scripts/fetch_activities.cjs --days 7 --output data.json

# Fetch plans for next 42 days
node scripts/fetch_plans.cjs --start 2026-03-01 --output plans.json

# Fetch training feedback
node scripts/fetch_feedback.cjs --start 2026-03-01 --end 2026-03-07

# Fetch your training camps
node scripts/fetch_games.cjs --output camps.json

# Fetch camp details and members
node scripts/fetch_game.cjs --game-id 973 --output camp_details.json

# Fetch running ability (by run force or by race times)
node scripts/fetch_ability.cjs --runforce 51 --output ability.json

Step 2: Analyze

node scripts/analyze_data.cjs data.json

Output includes:

  • Total runs, distance, time
  • Average pace, frequency
  • Training characteristics
  • Personalized recommendations

Step 3: Generate Plan

Based on analysis, create a plan:

{
  "plans": [
    {
      "name": "40min@(HRR+1.0~2.0)",
      "title": "轻松有氧跑",
      "start": "2026-03-10",
      "weight": "q3",
      "type": "qingsong",
      "sports": 1,
      "description": "根据近期数据,保持有氧基础"
    }
  ]
}

Step 4: Push to Calendar

Push to yourself:

node scripts/push_plans.cjs plans.json

Push to specific user(s):

node scripts/push_plans.cjs plans.json --user-ids 123

Bulk push to training camp members (coach only):

node scripts/push_plans.cjs plans.json --game-id 973 --user-ids "4,5,6"

API Scripts Reference

ScriptPurposeRate Limit
fetch_activities.cjsDownload training history1 req/min, max 30 days
fetch_plans.cjsGet calendar plans (42 days)Standard
fetch_feedback.cjsGet training feedbackStandard
fetch_games.cjsList your training campsStandard
fetch_game.cjsGet camp details & membersCoach only
fetch_ability.cjsGet run force, predicted times & pace zones (or estimate from race times)Standard
analyze_data.cjsAnalyze patternsN/A
push_plans.cjsPush plans (supports bulk)Standard
configure.cjsInteractive setupN/A
set-config.cjsQuick config setterN/A

fetch_activities.cjs Options

node scripts/fetch_activities.cjs [options]

Options:
  --days <n>        Number of days (default: 7, max: 30)
  --start <date>    Start date (YYYY-MM-DD)
  --end <date>      End date (YYYY-MM-DD, max 30 days from start)
  --user-id <id>    Query specific user (coach only)
  --page <n>        Page number (default: 1)
  --limit <n>       Items per page (default: 200, max: 2000)
  --order-by <field> Sort: sign_date, run_km, run_time, tss
  --order <asc|desc> Sort order (default: desc)
  --output <file>   Output file

fetch_ability.cjs Options

node scripts/fetch_ability.cjs [options]

Mode 1 — by run force (get predicted times and pace zones): --runforce <0-99> Ability value, e.g. 50 or 50.5 (required for mode 1) --celsius <0-40> Optional. Temperature in Celsius, default 6

Mode 2 — by race times (get estimated run force, at least one required): --time-5km <sec|M:SS|H:MM:SS> --time-10km, --time-hm, --time-fm, --time-3km, --time-mile Same format

Optional: --output <file> Output file (default: stdout) --key <api_key> Override API key

Examples: node scripts/fetch_ability.cjs --runforce 51 node scripts/fetch_ability.cjs --time-5km 32:28 --time-10km 1:07:20 --output ability.json


## push_plans.cjs Options

```bash
node scripts/push_plans.cjs <plans.json> [options]

Options:
  --key <api_key>    Use specific API key
  --game-id <id>     Training camp ID (for bulk push)
  --user-ids <ids>   Comma-separated user IDs (e.g., "4,5,6")
  --dry-run          Preview without pushing

Bulk Push Requirements:

  • Must provide game_id when using user_ids
  • You must be creator or coach of the camp
  • All user_ids must be camp members
  • Max 200 plans per request

Training Code Format (name field)

Format: task1;task2;...

Basic task: duration@(type+range)

  • 30min@(HRR+1.0~2.0) - 30 min easy run
  • 5km@(PACE+5'00~4'30) - 5km with pace target

Interval group: {task1;task2}xN

  • Example: {5min@(HRR+3.0~4.0);1min@(rest)}x3

Rest: duration@(rest) (parentheses required)

  • Example: 2min@(rest)

Intensity Types

TypeDescriptionExample
HRRHeart rate reserve %HRR+1.0~2.0
VDOTVDOT pace zoneVDOT+4.0~5.0
PACEAbsolute pace (min'sec)PACE+5'30~4'50
t/Threshold pace %t/0.88~0.99
MHRMax heart rate %MHR+0.85~0.95
LTHRLactate threshold HR %LTHR+1.0~1.05
EFFORTPerceived effortEFFORT+0.8~1.0
FTPPower % (cycling)FTP+0.75~0.85
CPAbsolute power WCP+200~240
CSSCritical swim speed %CSS+0.95~1.05
TSPThreshold swim pace %TSP+0.95~1.05
OPENOpen-endedOPEN+1

Duration Units

  • min = minutes
  • s = seconds
  • m = meters
  • km = kilometers
  • c = count/reps

Training Type Mapping

Type CodeDescription
qingsongEasy run
xiuxiRest day
eAerobic training
lsdLong slow distance
mMarathon pace
tThreshold/lactate training
iInterval training
rSpeed/repetition
ftFartlek
comCombined workout
chVariable pace
jiliStrength training
maxMax HR test
driftAerobic stability test
otherOther
1/7/2/3/4/5/61.6km/2km/3km/5km/10km/HM/FM test

Intensity Weights

WeightColorDescription
q1RedHigh intensity
q2OrangeMedium intensity
q3GreenLow intensity
xuanxiuBlueOptional/recovery

Example Usage

Coach: Bulk Push to Camp Members

# 1. Get your camps
node scripts/fetch_games.cjs

# 2. Get camp members
node scripts/fetch_game.cjs --game-id 973

# 3. Create plan for members
# ... edit plan.json ...

# 4. Bulk push to specific members
node scripts/push_plans.cjs plan.json --game-id 973 --user-ids "4,5,6"

Analyze and Generate in One Go

# Fetch and analyze
cd /opt/homebrew/lib/node_modules/openclaw/skills/likes-training-planner
node scripts/fetch_activities.cjs --days 14 | node scripts/analyze_data.cjs

Configuration

Priority (highest to lowest):

  1. Command line --key
  2. Environment variable LIKES_API_KEY
  3. OpenClaw config: skills.likes-training-planner.apiKey
  4. User config: ~/.openclaw/likes-training-planner.json

References

Installation

curl -fsSL https://gitee.com/chenyinshu/likes-training-planner/raw/main/install.sh | bash

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

三色人格陪伴

恋人、损友、死敌三种陪伴模式。记忆完全隔离不串档,一秒切换情绪状态,承包你所有治愈、解压与情绪拉扯需求。

Registry SourceRecently Updated
General

Zero Api Key Web Search

OpenClaw skill for source-backed web search, page reading, and evidence-aware claim checking. No API keys required by default; optional providers can be enab...

Registry SourceRecently Updated
General

Novel Writer V3.2 - 小说写作引擎

专业小说写作引擎V3.2,支持短篇(3章)到超长篇(500万字)。内置AI味量化检测、四层质检、伏笔管理、角色状态追踪、断点续传。 自动根据字数裁剪流程:短篇模式(<10章)/ 中篇模式(10-50章)/ 长篇模式(50章+)。 触发场景:写小说、小说大纲、小说创作、网文写作、长篇小说、百万字小说、章节规划、 角...

Registry SourceRecently Updated
General

Hk Stock Morning Report

Generate HK stock market morning report (股市晨報) for bank trading desks. Triggers: "生成晨报","股市晨报","今日股市","港股晨報" 推送:微信個人 + 飛書群 | 數據:騰訊財經+stcn.com+格隆匯+實時搜索

Registry SourceRecently Updated