{
  "schemaVersion": "1.0",
  "item": {
    "slug": "section11",
    "name": "Section 11: Endurance Training Coach (Intervals.icu)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/CrankAddict/section11",
    "canonicalUrl": "https://clawhub.ai/CrankAddict/section11",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/section11",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=section11",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "HEARTBEAT_TEMPLATE.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/section11"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/section11",
    "agentPageUrl": "https://openagent3.xyz/skills/section11/agent",
    "manifestUrl": "https://openagent3.xyz/skills/section11/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/section11/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "First Use Setup",
        "body": "On first use:\n\nCheck for DOSSIER.md in the workspace\n\nIf not found, fetch template from: https://raw.githubusercontent.com/CrankAddict/section-11/main/DOSSIER_TEMPLATE.md\nAsk the athlete to fill in their data (zones, goals, schedule, etc.)\nSave as DOSSIER.md in the workspace\n\n\n\nSet up JSON data source\n\nAthlete creates a private GitHub repo for training data, or keeps files locally\nSet up automated sync from Intervals.icu to latest.json and history.json\nSave both raw URLs in DOSSIER.md under \"Data Source\" (or local file paths if running locally)\nlatest.json — current 7-day snapshot + 28-day derived metrics\nhistory.json — longitudinal data (daily 90d, weekly 180d, monthly 3y)\nSee: https://github.com/CrankAddict/section-11#2-set-up-your-data-mirror-optional-but-recommended\nOr for interactive guided setup: have the athlete paste SETUP_ASSISTANT.md into any AI chat\n\n\n\nConfigure heartbeat settings\n\nFetch template from: https://raw.githubusercontent.com/CrankAddict/section-11/refs/heads/main/openclaw/HEARTBEAT_TEMPLATE.md\nAsk athlete for their specific values:\n\nLocation for weather checks (city/area)\nTimezone\nValid outdoor riding hours\nWeather thresholds (min temp, max wind, max rain %)\nPreferred notification hours\n\n\nSave as HEARTBEAT.md in the workspace\n\nDo not proceed with coaching until dossier, data source, and heartbeat config are complete."
      },
      {
        "title": "Protocol",
        "body": "Fetch and follow: https://raw.githubusercontent.com/CrankAddict/section-11/main/SECTION_11.md\n\nCurrent version: 11.5"
      },
      {
        "title": "External Sources",
        "body": "All external files referenced by this skill (sync.py, SECTION_11.md, templates, setup guides) are maintained in the open-source CrankAddict/section-11 repository and can be inspected there."
      },
      {
        "title": "Data Hierarchy",
        "body": "JSON data (always fetch latest.json first, then history.json for longitudinal context)\nProtocol rules (SECTION_11.md)\nAthlete dossier (DOSSIER.md)\nHeartbeat config (HEARTBEAT.md)"
      },
      {
        "title": "Required Actions",
        "body": "Fetch latest.json before any training question\nFetch history.json when trend analysis, phase context, or longitudinal comparison is needed\nNo virtual math on pre-computed metrics — use fetched values for CTL, ATL, TSB, ACWR, RI, zones, etc. Custom analysis from raw data is fine when pre-computed values don't cover the question.\nFollow Section 11 C validation checklist before generating recommendations\nCite frameworks per protocol (checklist item #10)"
      },
      {
        "title": "Write Capabilities",
        "body": "If push.py is available in the data repo, the skill can manage the athlete's Intervals.icu calendar and training data:\n\npush — write planned workouts to calendar\nlist — show planned workouts for a date range\nmove — reschedule a workout to a different date\ndelete — remove a workout from the calendar\nset-threshold — update sport-specific thresholds (FTP, indoor FTP, LTHR, max HR, threshold pace). Only after validated test results, never from estimates\nannotate — add notes to completed activities (description by default, --chat for messages panel) or planned workouts (NOTE: prepended to description)\n\nAll write operations default to preview mode — nothing is written without --confirm. Execution via GitHub Actions dispatch (uses existing repository secrets configured by the athlete) or local CLI. See examples/agentic/README.md for full usage, workout syntax, and template ID mappings.\n\nOnly available on platforms that can execute code or trigger GitHub Actions (OpenClaw, Claude Code, Cowork, etc.). Web chat users cannot use this."
      },
      {
        "title": "Report Templates",
        "body": "Use standardized report formats from /examples/reports/:\n\nPre-workout: Readiness assessment, Go/Modify/Skip recommendation — see PRE_WORKOUT_TEMPLATE.md\nPost-workout: Session metrics, plan compliance, weekly totals — see POST_WORKOUT_TEMPLATE.md\nBrevity rule: Brief when metrics are normal. Detailed when thresholds are breached or athlete asks \"why.\"\n\nFetch templates from:\n\nhttps://raw.githubusercontent.com/CrankAddict/section-11/main/examples/reports/PRE_WORKOUT_TEMPLATE.md\nhttps://raw.githubusercontent.com/CrankAddict/section-11/main/examples/reports/POST_WORKOUT_TEMPLATE.md"
      },
      {
        "title": "Heartbeat Operation",
        "body": "On each heartbeat, follow the checks and scheduling rules defined in your HEARTBEAT.md:\n\nDaily: training/wellness observations (from latest.json), weather (only if conditions are good)\nWeekly: background analysis (use history.json for trend comparison)\nSelf-schedule next heartbeat with randomized timing within notification hours"
      },
      {
        "title": "Security & Privacy",
        "body": "Data ownership & storage\nAll training data is stored where the user chooses: on their own device or in a Git repository they control. This project does not run any backend service, cloud storage, or third-party infrastructure. Nothing is uploaded anywhere unless the user explicitly configures it.\n\nThe skill reads from: user-configured JSON data sources, DOSSIER.md, and HEARTBEAT.md in the workspace. It writes to: DOSSIER.md and HEARTBEAT.md in the workspace (during first-use setup only).\n\nAnonymization\nsync.py (maintained in the source repository) anonymizes raw training data. The skill does not perform anonymization itself. Only aggregated and derived metrics (CTL, ATL, TSB, zone distributions, power/HR summaries) are used by the AI coach.\n\nNetwork behavior\nThe skill performs simple HTTP GET requests to fetch:\n\nThe coaching protocol (SECTION_11.md) from this repository\nReport templates from this repository\nAthlete training data (latest.json, history.json) from user-configured URLs\n\nIt does not send API keys, LLM chat histories, or any user data to external URLs. All fetched content comes from sources the user has explicitly configured.\n\nRecommended setup: local files or private repos\nThe safest and simplest setup is fully local: export your data as JSON and point the skill at files on your device (see examples/json-manual/). If you use GitHub, use a private repository. See examples/json-auto-sync/SETUP.md for automated sync setup including private repo usage with agents.\n\nProtocol and template URLs\nThe default protocol and template URLs point to this repository. The risk model is standard open-source supply-chain.\n\nHeartbeat / automation\nThe heartbeat mechanism is fully opt-in. It is not enabled by default and nothing runs automatically unless the user explicitly configures it. When enabled, it performs a narrow set of actions: read training data, run analysis, write updated summaries/plans to the user's chosen location.\n\nPrivate repositories & agent access\nSection 11 does not implement GitHub authentication. It reads files from whatever locations the runtime environment can already access:\n\nRunning locally: reads from your filesystem\nRunning in an agent (OpenClaw, Claude Cowork, etc.) with GitHub access configured: can read/write repos that the agent's token/SSH key allows\n\nAccess is entirely governed by credentials the user has already configured in their environment."
      }
    ],
    "body": "Section 11 — AI Coaching Protocol\nFirst Use Setup\n\nOn first use:\n\nCheck for DOSSIER.md in the workspace\n\nIf not found, fetch template from: https://raw.githubusercontent.com/CrankAddict/section-11/main/DOSSIER_TEMPLATE.md\nAsk the athlete to fill in their data (zones, goals, schedule, etc.)\nSave as DOSSIER.md in the workspace\n\nSet up JSON data source\n\nAthlete creates a private GitHub repo for training data, or keeps files locally\nSet up automated sync from Intervals.icu to latest.json and history.json\nSave both raw URLs in DOSSIER.md under \"Data Source\" (or local file paths if running locally)\nlatest.json — current 7-day snapshot + 28-day derived metrics\nhistory.json — longitudinal data (daily 90d, weekly 180d, monthly 3y)\nSee: https://github.com/CrankAddict/section-11#2-set-up-your-data-mirror-optional-but-recommended\nOr for interactive guided setup: have the athlete paste SETUP_ASSISTANT.md into any AI chat\n\nConfigure heartbeat settings\n\nFetch template from: https://raw.githubusercontent.com/CrankAddict/section-11/refs/heads/main/openclaw/HEARTBEAT_TEMPLATE.md\nAsk athlete for their specific values:\nLocation for weather checks (city/area)\nTimezone\nValid outdoor riding hours\nWeather thresholds (min temp, max wind, max rain %)\nPreferred notification hours\nSave as HEARTBEAT.md in the workspace\n\nDo not proceed with coaching until dossier, data source, and heartbeat config are complete.\n\nProtocol\n\nFetch and follow: https://raw.githubusercontent.com/CrankAddict/section-11/main/SECTION_11.md\n\nCurrent version: 11.5\n\nExternal Sources\n\nAll external files referenced by this skill (sync.py, SECTION_11.md, templates, setup guides) are maintained in the open-source CrankAddict/section-11 repository and can be inspected there.\n\nData Hierarchy\nJSON data (always fetch latest.json first, then history.json for longitudinal context)\nProtocol rules (SECTION_11.md)\nAthlete dossier (DOSSIER.md)\nHeartbeat config (HEARTBEAT.md)\nRequired Actions\nFetch latest.json before any training question\nFetch history.json when trend analysis, phase context, or longitudinal comparison is needed\nNo virtual math on pre-computed metrics — use fetched values for CTL, ATL, TSB, ACWR, RI, zones, etc. Custom analysis from raw data is fine when pre-computed values don't cover the question.\nFollow Section 11 C validation checklist before generating recommendations\nCite frameworks per protocol (checklist item #10)\nWrite Capabilities\n\nIf push.py is available in the data repo, the skill can manage the athlete's Intervals.icu calendar and training data:\n\npush — write planned workouts to calendar\nlist — show planned workouts for a date range\nmove — reschedule a workout to a different date\ndelete — remove a workout from the calendar\nset-threshold — update sport-specific thresholds (FTP, indoor FTP, LTHR, max HR, threshold pace). Only after validated test results, never from estimates\nannotate — add notes to completed activities (description by default, --chat for messages panel) or planned workouts (NOTE: prepended to description)\n\nAll write operations default to preview mode — nothing is written without --confirm. Execution via GitHub Actions dispatch (uses existing repository secrets configured by the athlete) or local CLI. See examples/agentic/README.md for full usage, workout syntax, and template ID mappings.\n\nOnly available on platforms that can execute code or trigger GitHub Actions (OpenClaw, Claude Code, Cowork, etc.). Web chat users cannot use this.\n\nReport Templates\n\nUse standardized report formats from /examples/reports/:\n\nPre-workout: Readiness assessment, Go/Modify/Skip recommendation — see PRE_WORKOUT_TEMPLATE.md\nPost-workout: Session metrics, plan compliance, weekly totals — see POST_WORKOUT_TEMPLATE.md\nBrevity rule: Brief when metrics are normal. Detailed when thresholds are breached or athlete asks \"why.\"\n\nFetch templates from:\n\nhttps://raw.githubusercontent.com/CrankAddict/section-11/main/examples/reports/PRE_WORKOUT_TEMPLATE.md\nhttps://raw.githubusercontent.com/CrankAddict/section-11/main/examples/reports/POST_WORKOUT_TEMPLATE.md\nHeartbeat Operation\n\nOn each heartbeat, follow the checks and scheduling rules defined in your HEARTBEAT.md:\n\nDaily: training/wellness observations (from latest.json), weather (only if conditions are good)\nWeekly: background analysis (use history.json for trend comparison)\nSelf-schedule next heartbeat with randomized timing within notification hours\nSecurity & Privacy\n\nData ownership & storage All training data is stored where the user chooses: on their own device or in a Git repository they control. This project does not run any backend service, cloud storage, or third-party infrastructure. Nothing is uploaded anywhere unless the user explicitly configures it.\n\nThe skill reads from: user-configured JSON data sources, DOSSIER.md, and HEARTBEAT.md in the workspace. It writes to: DOSSIER.md and HEARTBEAT.md in the workspace (during first-use setup only).\n\nAnonymization sync.py (maintained in the source repository) anonymizes raw training data. The skill does not perform anonymization itself. Only aggregated and derived metrics (CTL, ATL, TSB, zone distributions, power/HR summaries) are used by the AI coach.\n\nNetwork behavior The skill performs simple HTTP GET requests to fetch:\n\nThe coaching protocol (SECTION_11.md) from this repository\nReport templates from this repository\nAthlete training data (latest.json, history.json) from user-configured URLs\n\nIt does not send API keys, LLM chat histories, or any user data to external URLs. All fetched content comes from sources the user has explicitly configured.\n\nRecommended setup: local files or private repos The safest and simplest setup is fully local: export your data as JSON and point the skill at files on your device (see examples/json-manual/). If you use GitHub, use a private repository. See examples/json-auto-sync/SETUP.md for automated sync setup including private repo usage with agents.\n\nProtocol and template URLs The default protocol and template URLs point to this repository. The risk model is standard open-source supply-chain.\n\nHeartbeat / automation The heartbeat mechanism is fully opt-in. It is not enabled by default and nothing runs automatically unless the user explicitly configures it. When enabled, it performs a narrow set of actions: read training data, run analysis, write updated summaries/plans to the user's chosen location.\n\nPrivate repositories & agent access Section 11 does not implement GitHub authentication. It reads files from whatever locations the runtime environment can already access:\n\nRunning locally: reads from your filesystem\nRunning in an agent (OpenClaw, Claude Cowork, etc.) with GitHub access configured: can read/write repos that the agent's token/SSH key allows\n\nAccess is entirely governed by credentials the user has already configured in their environment."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/CrankAddict/section11",
    "publisherUrl": "https://clawhub.ai/CrankAddict/section11",
    "owner": "CrankAddict",
    "version": "1.0.12",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/section11",
    "downloadUrl": "https://openagent3.xyz/downloads/section11",
    "agentUrl": "https://openagent3.xyz/skills/section11/agent",
    "manifestUrl": "https://openagent3.xyz/skills/section11/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/section11/agent.md"
  }
}