← AI EnduranceCONTENT HISTORY

Update to AI Endurance

Snapshot Oct 5, 2026 · 18:06 UTC · version 2.0.0

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 17 files: .codex-plugin/plugin.json, skills/adjust-for-weather/SKILL.md, skills/adjust-for-weather/agents/openai.yaml, …. Open the file diff to inspect the edits.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Package file

Before

d4c407c7cb92b868d75f6e9857f1a6df59684fb4e5d7c9e43181b36a0aaad4a3

After

ea0cd15b8d666982c546a15a8465f290742d59cfa637a5f9c01d92f127370823

Package file

Before

1500

After

1572

Package file

Before

Not present

After

{"sha256":"25ef952e1f46b98ef4b43506d000f5870497a28b68b023dab780f61639bc095f","size":2056}

Package file

Before

Not present

After

{"sha256":"dc53a6e2bb6797c7d78bdc1b099c01fcf2a208e2e156831b726bab74604838a4","size":641}

Compare saved observations

Download comparison JSON

skills/replan/SKILL.md

--- before
+++ after
@@ -0,0 +1,18 @@
+---
+name: replan
+description: Weekly plan review and replan. Use when the user wants to review or adjust their upcoming training week, get back on track after missed workouts, reshuffle their plan, or asks how their training plan is going. Do not use for daily readiness questions (use checkin), single-activity analysis (use analyze-activity), or weather adjustments (use adjust-for-weather).
+---
+
+Review the user's plan progress and adjust the upcoming week to get them back on track.
+
+1. Call the `getPlanProgress` tool to see what the user has completed versus what was planned.
+2. Call the `getPlannedWorkouts` tool for the upcoming 7 days.
+3. Review adherence: which workouts were completed, missed, or partially done, and what that means for the week ahead (missed key sessions, accumulated fatigue, too much crammed into remaining days).
+4. Propose specific modifications for the next 7 days to get the user back on track. Be concrete: which workout to move, skip, or adjust, and why. Respect recovery: do not stack hard sessions on consecutive days to make up for missed volume.
+5. After the user agrees to the proposal (or a subset of it), apply the changes with the tools: `changeWorkoutDate` to move a workout, `skipWorkout` to drop one, `changeWorkoutAdvice` to attach adjusted instructions, and `createRideRunWorkout`, `createSwimWorkout`, or `createStrengthOtherWorkout` to add a session. Confirm each destructive change (skips, deletions) before making it.
+6. Summarize the final state of the week after the changes are applied.
+
+Notes:
+
+- This skill adjusts individual workouts. It does not rebuild the whole training plan from scratch; for a full plan re-optimization, point the user to the replan feature in the AI Endurance app.
+- If progress is on track, say so and do not invent changes.
Full technical diff · 18 changed fields

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"d4c407c7cb92b868d75f6e9857f1a6df59684fb4e5d7c9e43181b36a0aaad4a3"
AFTER
"ea0cd15b8d666982c546a15a8465f290742d59cfa637a5f9c01d92f127370823"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
1500
AFTER
1572

added /files/skills~1adjust-for-weather~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "25ef952e1f46b98ef4b43506d000f5870497a28b68b023dab780f61639bc095f",
  "size": 2056
}

added /files/skills~1adjust-for-weather~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "dc53a6e2bb6797c7d78bdc1b099c01fcf2a208e2e156831b726bab74604838a4",
  "size": 641
}

added /files/skills~1adjust-for-weather~1assets~1icon-large.png

BEFORE
Field was absent
AFTER
{
  "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
  "size": 17034
}

added /files/skills~1adjust-for-weather~1assets~1icon-small.png

BEFORE
Field was absent
AFTER
{
  "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
  "size": 2013
}

added /files/skills~1analyze-activity~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "8d4f4e845d87ee52fa0ec35d6b6415dad79325794239a80e2cf2a9d5c24f40a8",
  "size": 2845
}

added /files/skills~1analyze-activity~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "ac3b00235d50e0814b2d52863c63dfc4762d1fef951508293c9de9dca32879d3",
  "size": 625
}

added /files/skills~1analyze-activity~1assets~1icon-large.png

BEFORE
Field was absent
AFTER
{
  "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
  "size": 17034
}

added /files/skills~1analyze-activity~1assets~1icon-small.png

BEFORE
Field was absent
AFTER
{
  "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
  "size": 2013
}

added /files/skills~1checkin~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "3c8c064db65c6e3e2be527254a4344ac29e288dbb6867ef401241f33f0e019fd",
  "size": 2041
}

added /files/skills~1checkin~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "6682ee2e17877bf2596046f07052200c9e6ef34eb29a52871ae65e9cfc985328",
  "size": 689
}

added /files/skills~1checkin~1assets~1icon-large.png

BEFORE
Field was absent
AFTER
{
  "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
  "size": 17034
}

added /files/skills~1checkin~1assets~1icon-small.png

BEFORE
Field was absent
AFTER
{
  "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
  "size": 2013
}

added /files/skills~1replan~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "d70e6723e09147193210124901a071bee73e2b049d94de257e7843d83477b474",
  "size": 1810
}

added /files/skills~1replan~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "d3733f8688d5f225603383dc4f6a486cc0b72bec205f61a69225eac6b763587d",
  "size": 686
}

added /files/skills~1replan~1assets~1icon-large.png

BEFORE
Field was absent
AFTER
{
  "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
  "size": 17034
}

added /files/skills~1replan~1assets~1icon-small.png

BEFORE
Field was absent
AFTER
{
  "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
  "size": 2013
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "efc08a750353795d8813bbf26b175aab45142ed65e81acdb97e61e0f78059351",
      "size": 127
    },
    ".codex-plugin/plugin.json": {
      "sha256": "ea0cd15b8d666982c546a15a8465f290742d59cfa637a5f9c01d92f127370823",
      "size": 1572
    },
    "skills/adjust-for-weather/SKILL.md": {
      "sha256": "25ef952e1f46b98ef4b43506d000f5870497a28b68b023dab780f61639bc095f",
      "size": 2056
    },
    "skills/adjust-for-weather/agents/openai.yaml": {
      "sha256": "dc53a6e2bb6797c7d78bdc1b099c01fcf2a208e2e156831b726bab74604838a4",
      "size": 641
    },
    "skills/adjust-for-weather/assets/icon-large.png": {
      "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
      "size": 17034
    },
    "skills/adjust-for-weather/assets/icon-small.png": {
      "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
      "size": 2013
    },
    "skills/analyze-activity/SKILL.md": {
      "sha256": "8d4f4e845d87ee52fa0ec35d6b6415dad79325794239a80e2cf2a9d5c24f40a8",
      "size": 2845
    },
    "skills/analyze-activity/agents/openai.yaml": {
      "sha256": "ac3b00235d50e0814b2d52863c63dfc4762d1fef951508293c9de9dca32879d3",
      "size": 625
    },
    "skills/analyze-activity/assets/icon-large.png": {
      "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
      "size": 17034
    },
    "skills/analyze-activity/assets/icon-small.png": {
      "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
      "size": 2013
    },
    "skills/checkin/SKILL.md": {
      "sha256": "3c8c064db65c6e3e2be527254a4344ac29e288dbb6867ef401241f33f0e019fd",
      "size": 2041
    },
    "skills/checkin/agents/openai.yaml": {
      "sha256": "6682ee2e17877bf2596046f07052200c9e6ef34eb29a52871ae65e9cfc985328",
      "size": 689
    },
    "skills/checkin/assets/icon-large.png": {
      "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
      "size": 17034
    },
    "skills/checkin/assets/icon-small.png": {
      "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
      "size": 2013
    },
    "skills/replan/SKILL.md": {
      "sha256": "d70e6723e09147193210124901a071bee73e2b049d94de257e7843d83477b474",
      "size": 1810
    },
    "skills/replan/agents/openai.yaml": {
      "sha256": "d3733f8688d5f225603383dc4f6a486cc0b72bec205f61a69225eac6b763587d",
      "size": 686
    },
    "skills/replan/assets/icon-large.png": {
      "sha256": "0d5114eeadbd9b0f27a3a57289021c7473c1b87458d0fe7c55632c18994db1ff",
      "size": 17034
    },
    "skills/replan/assets/icon-small.png": {
      "sha256": "dd06bd84dd3c72c23c177d13b46c3bd68eb6e0a4713e55fcacb2d7f77afd1296",
      "size": 2013
    }
  }
}

SHA-256 of public snapshot: 88fcb3745563569c7ea2bd09b127f2e9bf18039b472b3b33fd8cf2f3a6f73cf7