Skip to main content

generate-weekly-plan

根据运动员的活跃主计划、实际完成的训练、STRIDE 负荷、恢复信号、阶段里程碑和近期刺激历史,生成结构化的周训练计划。

Informations de source

Dépôt
zhaochy1990/running
Dernière activité de la source
2 septembre 2026 à 07:11
Langue détectée de SKILL.md
chinois
Étoiles
0
Forks
1

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
9 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
generate-weekly-plan
description
根据运动员的活跃主计划、实际完成的训练、STRIDE 负荷、恢复信号、阶段里程碑和近期刺激历史,生成结构化的周训练计划。
# 生成每周训练计划 ## 1. load weekly plan context 首先调用一次 `get_master_plan`。如果没有active的主计划,我们需要直接返回并请运动员先创建一个赛季训练计划。 然后,调用一次 `get_weekly_plan_context`;它是权威的 `plan_start`、`week_name`、近期计划与实际完成周、STRIDE 负荷、恢复、伤病、训练水平、当前阶段(phase)、子阶段(stage)和阶段里程碑的来源。 使用 `absorbed_load.distance_anchor_km` 作为最近完整周的确定性中位数,用 `absorbed_load.latest_complete_week` 判断时效性。只把 `recent_training_weeks` 中 `complete: true` 的条目作为额外的完整周证据。不完整的周可用于最近的刺激与恢复证据,但它不是低量完整周。把实际完成的训练视为运动员已吸收的暴露量。被跳过的计划训练不计入已完成暴露量。 只有确认以下信息后,才算完成本步骤: - 给定的 `distance_anchor_km`、最近完整周的距离与训练剂量,以及完成量处于上升、持平还是下降趋势;不要重新计算中位数; - 最近完整周是否已明显低于锚点(低于 90%),即本周是否会成为连续第二个低量周; - 最新的 STRIDE `load_ratio`、原始 RHR/HRV 趋势、伤病,以及任何异常高代价的近期训练; - 当前阶段/子阶段、恢复周标记、当前阶段内最近的里程碑,以及最近两周的 `quality_stimulus_days`/`longest_run` 证据。同一天的多条活动记录算一个刺激日。 ## 2. 根据已吸收训练设定负荷目标 实际完整周中位数是绝对量的锚点。主计划给出的区间提供周期化方向与关键训练意图;它不是让你跳回未吸收量的指令。 对于普通负荷周,先使用以下起始区间,再应用恢复/伤病证据: | 证据 | 相对实际锚点的目标 | | --- | --- | | `load_ratio` 0.90-1.10 且恢复稳定 | 维持至 +8% | | `load_ratio` 1.10-1.45 或有一次异常高代价的近期训练 | -5% 至 +3% | | `load_ratio` >1.45、恢复恶化、活动受限,或反复出现高负荷天 | -10% 至 -20%;移除一个质量刺激 | | `load_ratio` <0.75 且恢复稳定 | 恢复性回升 5-10%,而不是骤然回到主计划区间 | 把恢复视为一票否决,而不是取平均。当近期原始 RHR 相对前一个测量窗口上升而 HRV 下降时,即使 `load_ratio` 一行单独看允许维持,也要把恢复归类为恶化。选择适用行中最保守的一条:目标设为实际锚点的 80-90%,并移除一个正式的质量刺激。只有当变化很小、最近轻松跑反应正常、且没有伤病、睡眠或高负荷警告时,才使用区间的上半部分。在降低剂量的同时保留阶段特定的刺激家族;不要用里程碑压力或主计划量区间来提高目标。 普通周的增幅不要超过最近完整周与 2-3 周中位数两者中较大者的 10%。过时的主计划下限永远不能证明更大的跳跃是合理的。当完整历史稀疏时,选择维持或减少,而不是凭空发明体能。 对于标记为 `is_recovery_week` 的周,首先确认深度削减是否真的有必要。恢复周是吸收负荷的工具,不是削减量的固定指令。在触碰量之前,先根据证据决定区间: - **需要深度削减(锚点的 70-80%,0Q1L)**:最近完整周执行量达到锚点的 90% 或以上,或近期存在异常压力——异常高代价的训练、反复的高负荷天、或恢复恶化(原始 RHR 相对前一个测量窗口上升而 HRV 下降)。 - **维持而非削减(锚点的 85-95%,0Q1L 或一个轻松质量刺激)**:最近完整周已明显低于锚点(低于 90%),且恢复稳定、`load_ratio` ≤ 1.0、form 为正。再叠一层深度削减就会滑入过度减载(detraining);应瞄准主计划的 `target_weekly_km_low/high` 区间,而不是在它之上再打折扣。 - **中度削减(锚点的 80-90%)**:前一完整周明显低于锚点,且 `load_ratio` < 0.90、恢复稳定——不要再叠一层深度削减。 最终目标绝不能低于主计划恢复周的 `target_weekly_km_low`。当恢复周升级为维持周时,允许一个轻松质量刺激(1Q1L),使接下来的建设周相比本周总量增幅不超过 10%。减量周和比赛周遵循各自的阶段参考。 只有选定一个数值化的周跑步距离目标和一个负荷决策(增加、维持、减少、恢复或减量)后,才算完成本步骤。 ## 3. 衔接阶段里程碑 读取恰好一条与 `training_position.phase.name` 匹配的阶段参考。阶段名是固定枚举 `base`、`build`、`speed`、`marathon`、`taper`、`recovery`: - `base` → `references/base.md` - `build` → `references/build.md` - `speed` → `references/speed.md` - `marathon` → `references/marathon.md` - `taper` → `references/taper.md` - `recovery` → `references/recovery.md` 选择当前阶段内 `completed_actual: null` 的最近即将到来的里程碑。如果没有即将到来的里程碑,把最近未达成的阶段里程碑作为诊断证据,而不是盲目重排它。选择本周的关键刺激,作为从运动员最近完成的刺激通向所选里程碑的保守衔接。衔接的负荷必须小于或等于里程碑的负荷要求;不要提前完整演练里程碑。如果当前阶段没有里程碑,使用子阶段的 `key_sessions` 和阶段重点。 阶段特异性决定刺激家族。例如,马拉松专项训练使用马拉松配速、阈值/巡航跑和专项长跑。单独的 200 m 或 400 m 全力间歇属于速度期,不属于马拉松专项期;充分恢复下的放松大步跑(strides)只是神经肌肉维持,不是质量训练。 ## 4. 轮换质量刺激 根据最近两周的实际质量训练构建刺激特征:能量系统、每组工作的时长或距离、训练形态,以及长跑是否含质量段落。避免在连续两周重复同一特征。例如,最近的 `5×1 km` 训练应轮换到阈值时间块、更长的巡航重复跑、坡跑或阶段合适的比赛配速训练,而不是再来一次 1 km 重复训练。 当负荷较高、恢复不确定、此前长跑异常高代价,或阶段里程碑可以在长跑内完成时,使用 1Q1L。只有当恢复稳定、近期负荷可控、且两个质量训练都有明确的阶段特定目的时,才使用 2Q1L。含持续 MP/HMP/阈值段落的长跑同时计为 L 和一个 Q。恢复周使用 0Q1L;在第 2 步中升级为维持周的恢复周可以使用一个轻松质量刺激。 质量刺激之间至少间隔 48 小时。每份计划中至少安排一个明确的 `kind: rest` 日。绝不要在代价高昂的长跑之后紧接着安排质量训练。 保护含 MP/HMP/阈值工作的关键长跑:通常把前一天设为休息日或不超过周距离目标 10% 的短恢复跑。只有当近期连续日历史显示耐受良好时,才允许前一日为 10-12%。除非是已有耐受基础的明确背靠背耐力里程碑,否则不要超过 12%;否则把那段轻松量提前到周初。不要仅仅为了凑周总量而制造意外的周末负荷尖峰。 ## 5. 构建并审计结构化计划 围绕所选的关键训练分配轻松跑,使每条跑步训练的 `total_distance_m` 之和等于数值化的周目标。优先削减轻松填充跑,而不是改动里程碑衔接。让长跑与既有长跑历史保持相称;不要为了达到距离目标而制造单次训练负荷尖峰。 使用跑步校准(running calibration)确定配速/心率目标。当校准缺失或置信度低时,保守地开出努力度/心率处方,并把无依据的数值目标留空,而不是自行估算。尊重每一条伤病限制。 目标周恰好是 `plan_start` 起的六天。顶层 `week_name` 必须精确等于上下文的 `week_name`。每条训练和营养日期都必须在该周内,且营养必须覆盖全部七个日期。 对于目录化的力量训练动作,把 `canonical_id` 和 `provider_id` 设为同一个已验证的 COROS T-code。已验证映射:深蹲 `T1061`、单腿硬拉 `T1187`、侧平板支撑 `T1185`、死虫式 `T1243`、单腿提踵 `T1275`、登台阶 `T1296`、高脚杯深蹲 `T1301`、哑铃罗马尼亚硬拉 `T1305`。对于其他动作,使用稳定的描述性 `canonical_id` 和 `provider_id: null`。 返回前,审计以下所有条件: 1. 周距离等于所选的实际负荷目标; 2. 阶段重点和最近里程碑由关键刺激支撑; 3. 刺激特征与最近一次已完成的可比质量训练不同; 4. Q/L 数量、48 小时间隔、明确的休息日、伤病约束均通过; 5. 质量长跑前一天满足背靠背暴露规则; 6. 每个训练块、训练总距离、日期、营养日、schema 标记和力量训练 ID 内部一致。 在 `coach_notes` 中简洁记录:实际完整周锚点、选定的周目标与负荷决策、阶段/里程碑衔接、轮换决策,以及会触发减少或取消质量训练的恢复信号。对于恢复周,说明哪个证据支持深度削减而非维持区间(最近完整周 vs 锚点、`load_ratio`、form、恢复趋势)。 ## 6. 负荷校验 不要手工估算训练剂量、CTL、ATL、Form 或负荷比,也不要填写 `estimated_dose`;所有 session 的 `estimated_dose` 返回 `null`。模型不调用负荷模拟工具。 同时把周总跑量控制在 `target_training_load.target_distance_km_low` ~ `target_distance_km_high` 区间内(由教练按历史剂量密度与阶段强度分布推算;`remove_quality_stimulus` 或 taper 阶段已体现在该区间中)。若区间缺失(锚点数据不足),以阶段 `target_weekly_km_low/high` 与锚点距离为次选依据。 ## 7. 返回 WeeklyPlan 返回 `{ "disposition": "return_direct", "content": WeeklyPlan }`。不要返回 Markdown。面向运动员的文本使用中文,字段名和枚举值保留英文/ASCII。
Voir sur GitHub