create_plan
Arguments
{
"date": "2026-07-27",
"kind": "recovery",
"notes": "### Goal\nAbsorb Sunday's endurance ride and begin the week feeling fresher, not more trained.\n\n### Easy cardio\n- **30–50 minutes** on the indoor bike, elliptical, or treadmill walk.\n- Keep it at **RPE 2–3**, primarily Zone 1 to low Zone 2.\n- Full-sentence conversation should be effortless.\n- Stop early if the session is not loosening the legs.\n\n### Adjustment\nTake complete rest instead if Sunday's ride produces notable shoulder, saddle, or whole-body fatigue.",
"title": "Post-Ride Recovery + Mobility",
"exercises": [
{
"name": "hip-flexor stretch",
"notes": "Keep the pelvis gently tucked.",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 4,
"min": 2
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 30,
"min": 15
},
"duration_seconds": {
"max": 45,
"min": 30
}
},
"each_side": true
}
},
{
"name": "hamstring flosses",
"notes": "Use a smooth dynamic range rather than a strong held stretch.",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 4,
"min": 2
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 30,
"min": 15
}
},
"each_side": true
}
},
{
"name": "Thoracic Rotations",
"notes": "Rotate through the upper back without forcing the shoulder.",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 4,
"min": 2
},
"reps": {
"max": 8,
"min": 6
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 30,
"min": 15
}
},
"each_side": true
}
},
{
"name": "scapular wall-slide",
"notes": "Use only the range where ribs stay down; hands do not need to remain against the wall.",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 5,
"min": 3
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 45,
"min": 30
}
},
"each_side": false
}
},
{
"name": "Dead bugs",
"notes": "Keep the trunk still as each limb extends.",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 6,
"min": 4
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 45,
"min": 30
}
},
"each_side": true
}
}
]
}Response
{
"content": [
{
"text": "{\"plan\":{\"plannedDate\":\"2026-07-27\",\"version\":1,\"kind\":\"recovery\",\"title\":\"Post-Ride Recovery + Mobility\",\"status\":\"planned\",\"statusNote\":\"\",\"notes\":\"### Goal\\nAbsorb Sunday's endurance ride and begin the week feeling fresher, not more trained.\\n\\n### Easy cardio\\n- **30–50 minutes** on the indoor bike, elliptical, or treadmill walk.\\n- Keep it at **RPE 2–3**, primarily Zone 1 to low Zone 2.\\n- Full-sentence conversation should be effortless.\\n- Stop early if the session is not loosening the legs.\\n\\n### Adjustment\\nTake complete rest instead if Sunday's ride produces notable shoulder, saddle, or whole-body fatigue.\",\"exercises\":[{\"authoredName\":\"hip-flexor stretch\",\"canonicalName\":\"hip-flexor stretch\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":true,\"target\":{\"duration_seconds\":{\"min\":30,\"max\":45},\"weight\":{\"kind\":\"no_weight\"},\"rpe\":{\"min\":2,\"max\":4},\"rest_seconds\":{\"min\":15,\"max\":30}}},\"notes\":\"Keep the pelvis gently tucked.\"},{\"authoredName\":\"hamstring flosses\",\"canonicalName\":\"hamstring flosses\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":true,\"target\":{\"reps\":{\"min\":8,\"max\":10},\"weight\":{\"kind\":\"no_weight\"},\"rpe\":{\"min\":2,\"max\":4},\"rest_seconds\":{\"min\":15,\"max\":30}}},\"notes\":\"Use a smooth dynamic range rather than a strong held stretch.\"},{\"authoredName\":\"Thoracic Rotations\",\"canonicalName\":\"Thoracic Rotations\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":true,\"target\":{\"reps\":{\"min\":6,\"max\":8},\"weight\":{\"kind\":\"no_weight\"},\"rpe\":{\"min\":2,\"max\":4},\"rest_seconds\":{\"min\":15,\"max\":30}}},\"notes\":\"Rotate through the upper back without forcing the shoulder.\"},{\"authoredName\":\"scapular wall-slide\",\"canonicalName\":\"scapular wall-slide\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":false,\"target\":{\"reps\":{\"min\":8,\"max\":10},\"weight\":{\"kind\":\"no_weight\"},\"rpe\":{\"min\":3,\"max\":5},\"rest_seconds\":{\"min\":30,\"max\":45}}},\"notes\":\"Use only the range where ribs stay down; hands do not need to remain against the wall.\"},{\"authoredName\":\"Dead bugs\",\"canonicalName\":\"Dead bugs\",\"prescription\":{\"sets\":{\"min\":2,\"max\":2},\"each_side\":true,\"target\":{\"reps\":{\"min\":8,\"max\":10},\"weight\":{\"kind\":\"no_weight\"},\"rpe\":{\"min\":4,\"max\":6},\"rest_seconds\":{\"min\":30,\"max\":45}}},\"notes\":\"Keep the trunk still as each limb extends.\"}]}}",
"type": "text"
}
],
"structuredContent": {
"plan": {
"kind": "recovery",
"notes": "### Goal\nAbsorb Sunday's endurance ride and begin the week feeling fresher, not more trained.\n\n### Easy cardio\n- **30–50 minutes** on the indoor bike, elliptical, or treadmill walk.\n- Keep it at **RPE 2–3**, primarily Zone 1 to low Zone 2.\n- Full-sentence conversation should be effortless.\n- Stop early if the session is not loosening the legs.\n\n### Adjustment\nTake complete rest instead if Sunday's ride produces notable shoulder, saddle, or whole-body fatigue.",
"title": "Post-Ride Recovery + Mobility",
"status": "planned",
"version": 1,
"exercises": [
{
"notes": "Keep the pelvis gently tucked.",
"authoredName": "hip-flexor stretch",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 4,
"min": 2
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 30,
"min": 15
},
"duration_seconds": {
"max": 45,
"min": 30
}
},
"each_side": true
},
"canonicalName": "hip-flexor stretch"
},
{
"notes": "Use a smooth dynamic range rather than a strong held stretch.",
"authoredName": "hamstring flosses",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 4,
"min": 2
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 30,
"min": 15
}
},
"each_side": true
},
"canonicalName": "hamstring flosses"
},
{
"notes": "Rotate through the upper back without forcing the shoulder.",
"authoredName": "Thoracic Rotations",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 4,
"min": 2
},
"reps": {
"max": 8,
"min": 6
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 30,
"min": 15
}
},
"each_side": true
},
"canonicalName": "Thoracic Rotations"
},
{
"notes": "Use only the range where ribs stay down; hands do not need to remain against the wall.",
"authoredName": "scapular wall-slide",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 5,
"min": 3
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 45,
"min": 30
}
},
"each_side": false
},
"canonicalName": "scapular wall-slide"
},
{
"notes": "Keep the trunk still as each limb extends.",
"authoredName": "Dead bugs",
"prescription": {
"sets": {
"max": 2,
"min": 2
},
"target": {
"rpe": {
"max": 6,
"min": 4
},
"reps": {
"max": 10,
"min": 8
},
"weight": {
"kind": "no_weight"
},
"rest_seconds": {
"max": 45,
"min": 30
}
},
"each_side": true
},
"canonicalName": "Dead bugs"
}
],
"statusNote": "",
"plannedDate": "2026-07-27"
}
}
}