🧪 Skills

Likes Training Planner

Complete training plan solution for My Likes platform. Fetches historical data, analyzes training patterns, generates personalized plans, converts to Likes f...

v1.0.0
❤️ 0
⬇️ 39
👁 1
Share

Description


name: likes-training-planner description: 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. metadata: { "openclaw": { "emoji": "🏃", "requires": { "env": ["LIKES_API_KEY"] }, "primaryEnv": "LIKES_API_KEY", }, }

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

Script Purpose Rate Limit
fetch_activities.cjs Download training history 1 req/min, max 30 days
fetch_plans.cjs Get calendar plans (42 days) Standard
fetch_feedback.cjs Get training feedback Standard
fetch_games.cjs List your training camps Standard
fetch_game.cjs Get camp details & members Coach only
fetch_ability.cjs Get run force, predicted times & pace zones (or estimate from race times) Standard
analyze_data.cjs Analyze patterns N/A
push_plans.cjs Push plans (supports bulk) Standard
configure.cjs Interactive setup N/A
set-config.cjs Quick config setter N/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 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

Type Description Example
HRR Heart rate reserve % HRR+1.0~2.0
VDOT VDOT pace zone VDOT+4.0~5.0
PACE Absolute pace (min'sec) PACE+5'30~4'50
t/ Threshold pace % t/0.88~0.99
MHR Max heart rate % MHR+0.85~0.95
LTHR Lactate threshold HR % LTHR+1.0~1.05
EFFORT Perceived effort EFFORT+0.8~1.0
FTP Power % (cycling) FTP+0.75~0.85
CP Absolute power W CP+200~240
CSS Critical swim speed % CSS+0.95~1.05
TSP Threshold swim pace % TSP+0.95~1.05
OPEN Open-ended OPEN+1

Duration Units

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

Training Type Mapping

Type Code Description
qingsong Easy run
xiuxi Rest day
e Aerobic training
lsd Long slow distance
m Marathon pace
t Threshold/lactate training
i Interval training
r Speed/repetition
ft Fartlek
com Combined workout
ch Variable pace
jili Strength training
max Max HR test
drift Aerobic stability test
other Other
1/7/2/3/4/5/6 1.6km/2km/3km/5km/10km/HM/FM test

Intensity Weights

Weight Color Description
q1 Red High intensity
q2 Orange Medium intensity
q3 Green Low intensity
xuanxiu Blue Optional/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

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs