← Back to Skills Marketplace
chenwynn

Likes Training Planner

by yinshu · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
254
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install grouptraining
Description
Complete training plan solution for My Likes platform. Fetches historical data, analyzes training patterns, generates personalized plans, converts to Likes f...
README (SKILL.md)

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 \x3Cn>        Number of days (default: 7, max: 30)
  --start \x3Cdate>    Start date (YYYY-MM-DD)
  --end \x3Cdate>      End date (YYYY-MM-DD, max 30 days from start)
  --user-id \x3Cid>    Query specific user (coach only)
  --page \x3Cn>        Page number (default: 1)
  --limit \x3Cn>       Items per page (default: 200, max: 2000)
  --order-by \x3Cfield> Sort: sign_date, run_km, run_time, tss
  --order \x3Casc|desc> Sort order (default: desc)
  --output \x3Cfile>   Output file

fetch_ability.cjs Options

node scripts/fetch_ability.cjs [options]

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

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

Optional: --output \x3Cfile> Output file (default: stdout) --key \x3Capi_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 \x3Cplans.json> [options]

Options:
  --key \x3Capi_key>    Use specific API key
  --game-id \x3Cid>     Training camp ID (for bulk push)
  --user-ids \x3Cids>   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
Usage Guidance
This skill's code and manifest are internally consistent with the advertised Likes platform functionality, but do not run the recommended `curl ... | bash` installer without review. Instead: 1) manually download the .skill archive from the repository, inspect install.sh and the included scripts, then extract into ~/.openclaw/workspace/skills/likes-training-planner; 2) verify the API endpoint (https://my.likes.com.cn) and understand the scope of the API key you will provide (it can fetch activity/GPS data and bulk-push plans to other users); 3) avoid giving a high-privilege or long-lived API key unless necessary — create a scoped/test key first; 4) if you have privacy concerns about GPS or member data, review which scripts you run and consider running in a restricted environment or inspect network calls before use.
Capability Analysis
Type: OpenClaw Skill Name: grouptraining Version: 1.0.0 The skill bundle is a comprehensive integration for the 'My Likes' fitness platform, providing tools for training data analysis and calendar management. The scripts (e.g., fetch_activities.cjs, push_plans.cjs) are standard Node.js API clients that communicate exclusively with the official platform domain (my.likes.com.cn). Sensitive information like the LIKES_API_KEY is handled through standard environment variables or local configuration files (~/.openclaw/). The inclusion of an install.sh script and Telegram bot routing logic (bot-config.cjs) aligns with the stated purpose of providing a multi-role AI assistant, and no evidence of malicious intent, obfuscation, or unauthorized data exfiltration was found.
Capability Assessment
Purpose & Capability
Name/description match the code and scripts. Required env (LIKES_API_KEY) is appropriate and used by scripts. Script set aligns with fetching, analyzing, generating and pushing plans for the My Likes platform.
Instruction Scope
Runtime instructions tell the agent/user to run local node scripts and to configure an API key. Scripts read/write a skill-specific config at ~/.openclaw/likes-training-planner.json and consult openclaw.json for the skill's saved API key — this is coherent. The scripts also fetch activity details (including GPS) and camp member lists, so they will access potentially sensitive user data (training logs, GPS, camp member IDs) which is expected but worth noting.
Install Mechanism
There is no platform-managed install spec, and the README recommends fetching and piping a remote installer (curl https://gitee.com/.../install.sh | bash). The included install.sh downloads a .skill package from Gitee and extracts it into the user's home. Downloading and executing remote installers (pipe-to-shell) is a high-risk pattern — the Gitee host is public but not a vetted package registry. Recommend inspecting the installer and package contents before running, and prefer manual download+inspection over curl|bash.
Credentials
Only LIKES_API_KEY (primary) is required. Scripts optionally accept API key via CLI args or API_KEY env. No unrelated credentials or broad environment access requested. The amount of config/state access (user's ~/.openclaw directory) is proportionate for storing the skill's API key and settings.
Persistence & Privilege
always:false (no forced global presence). The skill writes its own config under ~/.openclaw and expects to be installed at ~/.openclaw/workspace/skills/likes-training-planner; this is normal for a workspace-based skill but the installer enforces a specific install path which users must follow. It does not appear to modify other skills or system-wide settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install grouptraining
  3. After installation, invoke the skill by name or use /grouptraining
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Likes Training Planner 1.0.0 – Initial Release - Provides an all-in-one solution for fetching, analyzing, and generating personalized training plans based on My Likes platform data. - Supports running, cycling, swimming, and strength training, with options to push plans to the calendar for individuals or groups. - Includes detailed command-line utilities for data fetching, analysis, plan creation, and bulk operations for coaches. - Multi-bot Telegram support, auto-routing requests to specialized bots for analysis or plan generation. - Comprehensive documentation for workflow, configuration, and API script usage.
Metadata
Slug grouptraining
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Likes Training Planner?

Complete training plan solution for My Likes platform. Fetches historical data, analyzes training patterns, generates personalized plans, converts to Likes f... It is an AI Agent Skill for Claude Code / OpenClaw, with 254 downloads so far.

How do I install Likes Training Planner?

Run "/install grouptraining" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Likes Training Planner free?

Yes, Likes Training Planner is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Likes Training Planner support?

Likes Training Planner is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Likes Training Planner?

It is built and maintained by yinshu (@chenwynn); the current version is v1.0.0.

💬 Comments