Section 11: Endurance Training Coach (Intervals.icu)
Evidence-based endurance coaching protocol (v11.35). Use when analyzing training data, reviewing sessions, generating pre/post-workout reports, planning work...
Evidence-based endurance coaching protocol (v11.35). Use when analyzing training data, reviewing sessions, generating pre/post-workout reports, planning work...
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Data files (
latest.json, history.json, intervals.json, ftp_history.json, routes.json, DOSSIER.md, section11/) live in the athlete's data directory — typically ~/training-data/. HEARTBEAT.md lives in the agent workspace — the directory the agent runs from (e.g., ~/clawd/). These may or may not be the same directory.
On first use:
Check for DOSSIER.md in the data directory
section11/DOSSIER_TEMPLATE.mdSet up JSON data source
latest.json, history.json, intervals.json, ftp_history.json, and routes.json (when events have GPX/TCX attachments) in the data directory. See examples/json-local-sync/SETUP.md for the full local pipeline.DOSSIER.md and SECTION_11.md to the data repo, the connector provides everything in one connection.latest.json — current 7-day snapshot + 28-day derived metricshistory.json — longitudinal data (daily 90d, weekly 180d, monthly 3y)intervals.json — per-interval segment data for recent structured sessions, plus DFA a1 session rollups when AlphaHRV recorded (14-day retention)ftp_history.json — dated FTP changes (indoor/outdoor), used for staleness tracking and benchmark comparisonroutes.json — route/terrain data for events with GPX/TCX attachments (when present)Configure heartbeat settings (optional, OpenClaw)
HEARTBEAT.md in the agent workspacesection11/examples/agentic/openclaw/HEARTBEAT_TEMPLATE.mdConfigure data discipline rule (agentic platforms with persistent identity)
Do not proceed with coaching until dossier and data source are complete.
Load the coaching protocol using this precedence:
./SECTION_11.md (data directory root)section11/SECTION_11.mdIf both root and
section11/ copies exist, prefer the root copy.
Current version: 11.35
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.
has_terrain: true)intervals.json when analyzing a specific activity where has_intervals: true OR has_dfa: true. For block reports, load when any session in the block has either flag. Use for: interval compliance, pacing analysis, cardiac drift per set, recovery quality, DFA a1 session-level interpretation. Do not load for readiness, load management, or weekly summaries.routes.json when a planned event has has_terrain: true. Use for: route analysis, terrain-adjusted pacing, pre-ride briefing, race preparation. Same precedence as other JSON files.zone_preference in READ_THIS_FIRST and zone_basis fields on TID/zone blocks — the athlete may have configured HR-preferred zones for specific sports (e.g., running). When zone_basis is not the default "power", note this in reports.If
push.py is available (section11/examples/agentic/push.py or in the data repo), the skill can manage the athlete's Intervals.icu calendar and training data:
--chat for messages panel) or planned workouts (NOTE: prepended to description)All write operations default to preview mode — nothing is written without
--confirm. Execution via local CLI or GitHub Actions dispatch. See examples/agentic/README.md for full usage, workout syntax, and template ID mappings.
Only available on platforms that can execute code or trigger GitHub Actions (OpenClaw, Claude Code, Cowork, etc.). Web chat users cannot use this. GitHub connectors are read-only — they provide data access but cannot trigger Actions or execute push.py.
Use standardized report formats. Load templates using this precedence:
reports/ directorysection11/examples/reports/Templates:
PRE_WORKOUT_REPORT_TEMPLATE.mdPOST_WORKOUT_REPORT_TEMPLATE.mdWEEKLY_REPORT_TEMPLATE.mdBLOCK_REPORT_TEMPLATE.mdOn each heartbeat, follow the checks and scheduling rules defined in your HEARTBEAT.md:
Data 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.
The skill reads from: user-configured JSON data sources and DOSSIER.md in the data directory, and HEARTBEAT.md in the agent workspace. It writes to: DOSSIER.md in the data directory and HEARTBEAT.md in the agent workspace (during first-use setup only).
Data Handling
sync.py redacts athlete_id from the output (always on, unconditional). Activity names are passed through as-is — they carry coaching context (route identification, terrain association). All other training data — activities, wellness, intervals, power/HR values, dates — is passed through to the AI coach as-is.
Network behavior When running locally (files in the data directory), no network requests are needed for protocol, templates, or data. When files are not available locally, the skill performs simple HTTP GET requests to fetch them from configured sources.
It 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.
Recommended setup: local files The safest and simplest setup is fully local: sync.py on a timer, all files on your device. See
examples/json-local-sync/SETUP.md for the complete local pipeline. If you use GitHub, use a private repository. See examples/json-auto-sync/SETUP.md for automated sync setup.
Protocol and template URLs The GitHub URLs are fallbacks for when local files aren't available. The risk model is standard open-source supply-chain.
Heartbeat / 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.
Private repositories & agent access Section 11 does not implement GitHub authentication. It reads files from whatever locations the runtime environment can already access:
Access is entirely governed by credentials the user has already configured in their environment.
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.