🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Likes Training Planner

by @chenwynn

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

Versionv1.0.0
Downloads651
TERMINAL
clawhub install grouptraining

📖 About This Skill


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 Number of days (default: 7, max: 30) --start Start date (YYYY-MM-DD) --end End date (YYYY-MM-DD, max 30 days from start) --user-id Query specific user (coach only) --page Page number (default: 1) --limit Items per page (default: 200, max: 2000) --order-by Sort: sign_date, run_km, run_time, tss --order Sort order (default: desc) --output 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 --time-10km, --time-hm, --time-fm, --time-3km, --time-mile Same format

    Optional: --output Output file (default: stdout) --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 [options]

    Options: --key Use specific API key --game-id Training camp ID (for bulk push) --user-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

    bash

    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

    bash

    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

  • API documentation: See references/api-docs.md
  • Code format details: See references/code-format.md
  • Sport-specific examples: See references/sport-examples.md
  • Installation

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

    💡 Examples

    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周马拉松备赛计划"

    ⚙️ 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