An open protocol for deterministic, auditable AI-powered endurance coaching. Built for athletes who want AI coaches that follow science, not speculation.
Section 11 is a structured framework that enables AI systems (ChatGPT, Claude, Gemini, etc.) to provide evidence-based endurance training advice with full auditability and deterministic reasoning.
- Deterministic — Same inputs produce same outputs
- Auditable — Every recommendation cites specific data and frameworks
- Evidence-based — Grounded in 15+ peer-reviewed endurance science models
- Athlete-controlled — Your data, your thresholds, your goals
| File | Description |
|---|---|
| SECTION_11.md | Complete protocol: AI Coach Guidance (11 A), Training Plan Protocol (11 B), Validation Protocol (11 C) |
| DOSSIER_TEMPLATE.md | Blank athlete dossier template — fill in your own data |
| examples/ | JSON sync setup, report templates, README template, example files |
| changelog.json | Version tracking — consumed by sync.py for update notifications |
| LICENSE | CC BY-NC 4.0 — free for personal use, attribution required |
Your data stays on your machine or in repos you control. Section 11 does not run a backend, does not store your data, and does not send your training data, API keys, or chat history anywhere.
Copy DOSSIER_TEMPLATE.md and fill in your:
- Athlete profile (age, weight, goals)
- Equipment setup
- Current FTP, HR zones, fitness markers
- Training schedule and targets
- Nutrition/fueling protocol
For best results, create a JSON endpoint with your current Intervals.icu data. Use a private repository for your training data, or public if you need direct access from AI platforms like ChatGPT, Claude, or Gemini without agent integration.
https://raw.githubusercontent.com/[USERNAME]/[REPO]/main/latest.json
https://raw.githubusercontent.com/[USERNAME]/[REPO]/main/history.json
This allows AI coaches to access your real-time metrics (CTL, ATL, TSB, HRV, recent activities) and longitudinal training history without manual input each session.
See examples/ for setup guides.
Copy-paste instructions for your Project/Space:
# AI Coach Instructions
You are my endurance cycling coach. Follow Section 11 protocol strictly.
## MANDATORY FIRST ACTIONS (every training question):
1. Note today's date
2. Fetch JSON: https://raw.githubusercontent.com/[you]/[repo]/main/latest.json (append ?date= with today's date to ensure fresh data)
3. Fetch history: https://raw.githubusercontent.com/[you]/[repo]/main/history.json (for longitudinal context)
4. If activities don't match today's date, re-fetch before concluding no data exists
5. Match activities to current date
6. Then respond
Do NOT ask me for data — fetch it yourself.
## SOURCE HIERARCHY:
1. **JSON data** — Current metrics from latest.json (FETCH FIRST) + longitudinal data from history.json
2. **Section 11 protocol** (attached) — Coaching rules, thresholds, metric hierarchy
3. **Dossier** — Athlete profile, zones, goals
4. **Report templates** — Fetch from https://github.com/CrankAddict/section-11/tree/main/examples/reports if not attached
Do NOT search web for training advice. Section 11 is the authority.
## OUTPUT FORMAT:
No citations, no source markers, no parenthetical references. Raw data and analysis only.
**Post-workout reports** use structured line-by-line format per session (not bullets). Flow:
1. Data timestamp
2. One-line summary
3. Session block(s) — one per activity, line-by-line:
Activity type & name, start time, duration (actual vs planned), distance, power (avg/NP), power zones (%), Grey Zone (Z3) %, Quality (Z4+) %, HR (avg/max), HR zones (%), cadence, decoupling (with label), Variability Index (with label), calories (kcal), carbs used (g), TSS (actual vs planned)
4. Weekly totals: Polarization, TSB, CTL, ATL, Ramp rate, ACWR, Hours, TSS
5. Overall: Coach note (2–4 sentences — compliance, quality observations, load context, recovery note)
Omit fields only if data unavailable for that activity type.
**Pre-workout reports** must include: readiness (HRV, RHR, Sleep vs baselines), load context (TSB, ACWR, Monotony if > 2.3), today's planned workout, Go/Modify/Skip recommendation.
See Section 11 → Communication Style and Output Format Guidelines for full rules.
## RULES:
- Follow Section 11 validation checklist (Step 0: Data Source Fetch)
- No 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
- TSB −10 to −30 is typically normal — don't recommend recovery unless other triggers present
- Metric hierarchy: Tier 1 (RI, HRV, RHR, Feel) → Tier 2 (Stress Tolerance, Load-Recovery Ratio, ACWR) → Tier 3 (diagnostics)
- Brief when metrics are normal. Detailed when thresholds are breached or I ask "why"
## DOCUMENTS ATTACHED:
- DOSSIER.md — Profile, zones, goals
- SECTION_11.md — AI coaching protocol (includes validation, metric hierarchy, report format guidelines)
Replace [USERNAME]/[REPO] with your actual GitHub data mirror path.
Upload these files to your AI platform's knowledge base:
| File | Purpose |
|---|---|
SECTION_11.md |
The coaching protocol (required) |
DOSSIER.md |
Your athlete profile (required) |
- Create a Project
- Add instructions to Project settings
- Upload SECTION_11.md and DOSSIER.md to "Project Files"
- Browsing is enabled by default on Plus/Team
- Create GPT → Configure
- Paste instructions in "Instructions" field
- Upload files under "Knowledge"
- Enable "Web Browsing" in Capabilities
- Create a Project
- Add instructions to "Project Instructions"
- Upload SECTION_11.md and DOSSIER.md to "Project Knowledge"
- Enable "Web search" in settings (required for JSON fetch)
- Create Project
- Add instructions to Project configuration
- Upload files to "Sources"
- Create New Project
- Add instructions and upload files
- Web access is available
- Create Gem
- Paste instructions + Section 11 content in instructions field
- Upload dossier or paste contents
Section 11 works well with OpenClaw. The combination of OpenClaw's persistent memory + autonomous execution + Section 11's structured validation makes for a capable coaching setup. Install the GitHub skill (npx skills add https://github.com/openclaw/openclaw --skill github) and authenticate with gh auth login to access private repos.
Cowork runs on your local machine and can read files directly from your filesystem. Clone your private data repo locally and grant Cowork access to that folder — no extra GitHub integration needed. Alternatively, use the GitHub MCP connector to access private repos directly.
Connect your GitHub account via the ChatGPT GitHub connector at chatgpt.com/codex. During setup, authorize access to your private training data repo. Codex clones the repo into an isolated container and can read latest.json and history.json directly. The Codex CLI works locally with your existing filesystem and Git setup.
After configuration, test with:
"How was today's workout?"
Good response includes:
- ✅ Fetched both latest.json and history.json automatically (no asking for it)
- ✅ Session summary with all fields (type, start time, duration, power, HR, TSS, cadence, decoupling, zones, carbs, energy)
- ✅ Training load context (TSB, CTL, ATL, weekly totals)
- ✅ Brief interpretation
- ✅ No "(GitHub)" or URL citations
- ✅ No emojis
- ✅ No false recovery warnings for normal TSB (-10 to -30)
Bad response:
- ❌ "I don't have access to your data, please provide..."
- ❌ Missing session fields
- ❌ "(GitHub)" citations throughout
- ❌ "Your TSB is -23, consider recovery" (when no other triggers present)
- Verify web search/browsing is enabled for your platform
- Check your JSON URL is correct and publicly accessible
- Try a fresh conversation (some platforms cache per-session)
- Manually append a different query param:
...latest.json?v=2
- Check GitHub Actions ran successfully
- Verify Intervals.icu API key is valid
- See examples/json-auto-sync/SETUP.md
- Normal AI chats (ChatGPT, Claude, Gemini) cannot access private GitHub repos
- Either use a public repo, upload files manually to your AI Project/Space, or use an agent platform (OpenClaw, Cowork, Codex) that has GitHub access configured
Defines behavioral rules for AI coaches:
- No virtual math — AI must use your actual logged values, not estimates
- Explicit data requests — If data is missing, AI asks rather than assumes
- Tolerance compliance — Recommendations stay within ±3W / ±1bpm / ±1% variance
- Framework citations — Every recommendation references specific science
- 11-point validation checklist — AI self-validates before responding (Step 0–10)
Defines rules for AI systems generating or modifying training plans:
- Phase alignment with macro-cycle
- Volume ceiling validation (±10% of baseline)
- Intensity distribution control (80/20 polarization)
- Session composition rules
- Audit metadata requirements
Standardized metadata schema for audit trails:
{
"validation_metadata": {
"data_source_fetched": true,
"json_fetch_status": "success",
"protocol_version": "11.1",
"checklist_passed": [0, 1, 2, 3, 4, 5, 6, "6b", 7, 8, 9, 10],
"checklist_failed": [],
"data_timestamp": "2026-01-23T10:02:07Z",
"data_age_hours": 2.3,
"confidence": "high",
"missing_inputs": [],
"frameworks_cited": ["Seiler 80/20", "Gabbett ACWR"]
}
}The protocol integrates 15+ validated endurance science frameworks:
| Framework | Application |
|---|---|
| Seiler's 80/20 Polarized Training | Intensity distribution |
| Gabbett's ACWR (2016) | Load progression, injury prevention |
| Banister's Impulse-Response | CTL/ATL/TSB dynamics |
| Foster's Monotony & Strain | Overuse detection |
| Issurin's Block Periodization | Phase structure |
| Coggan's Power-Duration Model | Efficiency tracking |
| San Millán's Zone 2 Model | Metabolic health |
| Skiba's Critical Power Model | Fatigue prediction |
| And more... | See Section 11 for full list |
Training blocks adapt dynamically based on real data:
Base → Build → Peak → Taper → Recovery
Phase transitions are triggered by actual metrics (TSB trend, ACWR, RI), not fixed calendar dates.
Automatic load adjustment based on recovery status:
| Trigger | Response |
|---|---|
| HRV ↓ >20% | Easy day / deload |
| RHR ↑ ≥5 bpm | Flag fatigue/illness |
| Feel ≥4/5 | Reduce volume 30-40% |
| RI <0.6 | Mandatory deload |
Green-light criteria for safe load increases:
- Durability Index ≥0.97 for 3+ long rides
- HR drift <3% in aerobic sessions
- Recovery Index ≥0.85 (7-day mean)
- ACWR within 0.8–1.3
- Feel ≤3/5
The protocol is designed to work with Intervals.icu as the primary data source. Set up a JSON mirror that syncs your:
- Fitness metrics (CTL, ATL, TSB, Ramp Rate)
- Recent activities (power, HR, duration, TSS)
- Wellness data (HRV, RHR, sleep, feel)
- Zone distributions
- Planned workouts
The sync script pre-calculates Section 11-compliant metrics so AI doesn't need to compute them:
| Metric | Description |
|---|---|
| ACWR | Acute:Chronic Workload Ratio (0.8–1.3 optimal) |
| Recovery Index | HRV/RHR composite (>1.0 = good recovery) |
| Monotony / Strain | Training variability (Foster) |
| Grey Zone % | Z3 time — minimize in polarized training |
| Quality Intensity % | Z4+ time — target ~20% |
| Polarisation Index | Easy time ratio — target ~0.80 |
| Benchmark Index | 8-week FTP progression (indoor/outdoor) |
| Phase Detected | Auto-detected training phase |
| Seiler TID | 3-zone classification (Polarized/Pyramidal/Threshold/HIT/Base) |
| Polarization Index (PI) | Treff et al. quantitative polarization score |
| Hard Days/Week | Zone ladder classification per Seiler/Foster |
The script maintains ftp_history.json to track indoor and outdoor FTP changes over time, enabling Benchmark Index calculation for long-term progression analysis.
The script generates history.json with tiered granularity for trend analysis:
| Tier | Granularity | Range |
|---|---|---|
daily_90d |
Day-by-day | Last 90 days |
weekly_180d |
Week-by-week | Last 180 days |
monthly_1y/2y/3y |
Month-by-month | Up to 3 years |
Includes period summaries, FTP timeline, and data gap detection. Provide both latest.json and history.json to your AI coach for the most complete analysis.
The sync script automatically checks for upstream protocol updates. When a new version of Section 11 is released, a GitHub Issue is created in your data repo.
Also compatible with:
- Any platform that exports structured training data
When sources conflict, trust order is:
- Intervals.icu (primary)
- JSON Mirror (Tier-1 verified)
- Athlete-provided values (<7 days old)
- Dossier baselines (fallback)
"How was today's workout?"
"Analyze my last 7 days against my targets. What's my compliance rate? Any red flags?"
"Have I met the green-light criteria for extending my Friday long ride to 5 hours?"
"Here's my workout file. Did I hit my intervals within tolerance? What does the HR drift tell us?"
- AI still makes mistakes — This protocol reduces errors but doesn't eliminate them
- Not a replacement for human coaches — Best used alongside professional guidance for serious athletes
- Requires honest data — Garbage in, garbage out
- No medical advice — Consult professionals for health concerns
This is an open protocol. Contributions welcome:
- Bug reports — Found an inconsistency? Open an issue
- Framework additions — Know a validated model that should be included? Propose it
- Translation — Help make this accessible in other languages
- Integration guides — Built a tool that uses this? Share it
This work is licensed under CC BY-NC 4.0.
You can:
- Use it for personal training
- Share and adapt it
- Build non-commercial tools with it
You must:
- Give appropriate credit
- Link to the license
- Indicate if changes were made
You cannot:
- Use it for commercial purposes without permission
Commercial licensing: Contact crankaddict69@proton.me
- David Tinker — Creator of Intervals.icu
- Clive King — Pioneer of GPT-based endurance coaching and URF
- Intervals.icu Forum community
- Researchers behind the scientific frameworks cited in Section 11
- Section 11 A/B/C Protocol
- Dossier Template
- JSON sync automation scripts
- Report templates (pre/post workout)
- Longitudinal history generation (tiered granularity)
- Upstream update notifications via GitHub Issues
- CustomGPT implementation
- MCP Server integration
- Protocol: SECTION_11.md
- Template: DOSSIER_TEMPLATE.md
- Examples: examples/
- Report Templates: examples/reports/
- Intervals.icu: intervals.icu
- Discussion: Intervals.icu Forum Thread