mrZhangTianye/plan-de-entrenamiento

Crea, desarrolla y ajusta planes y horarios de entrenamiento de hasta 12 semanas, integrando fuerza funcional, carrera y natación. Para planes de fitness, entrenamiento mixto o híbrido, planificación mensual/semanal, sesiones individuales, adaptación de planes externos y reincorporación tras una pausa; no para competiciones ni diagnóstico clínico.

¿Qué es plan-de-entrenamiento?

Esta habilidad permite diseñar y gestionar planes de entrenamiento integrales de hasta 12 semanas, enfocados en la salud a largo plazo y el desarrollo de capacidades físicas generales. A diferencia de los planes de entrenamiento tradicionales orientados a la competición, este sistema prioriza la versatilidad del 'atleta completo' (六边形战士), permitiendo mejorar múltiples habilidades simultáneamente o enfocarse en áreas específicas mientras se mantienen otras. Está dirigido a personas que practican varias disciplinas (fuerza, carrera, natación, deportes de pelota) sin un objetivo competitivo, y que buscan evitar lesiones y mejorar su capacidad para afrontar desafíos cotidianos. El sistema integra fuerza funcional, carrera y natación, con una estructura de fases que incluye periodización de carga (volumen, intensidad, potencia, resistencia de fuerza) pero sin picos de rendimiento ni periodos de descarga. La personalización se logra a través de un riguroso proceso de evaluación inicial (intake), y los ajustes se realizan solo tras recibir retroalimentación del usuario sobre dificultades, molestias o cambios en las condiciones. La habilidad se apoya en una biblioteca de ejercicios, principios de diseño y reglas de decisión documentadas en archivos de referencia (SKILL.md, references/), y utiliza scripts de validación para asegurar la coherencia del plan. Está diseñada para plataformas como Claude Code, Cursor o Codex, y su flujo de trabajo principal es 'planificar primero, ajustar después', evitando consultas innecesarias al usuario mientras el plan se desarrolla sin problemas.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mrZhangTianye/training-plan-skill/tree/HEAD

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Plan de Entrenamiento Playwise

Con la salud a largo plazo como premisa, construye una capacidad física integral mediante el entrenamiento combinado, mejorando la capacidad para enfrentar desafíos de la vida y participar en diferentes deportes. El "atleta completo" (六边形战士) es la dirección a largo plazo, permitiendo la mejora simultánea de múltiples habilidades, así como el desarrollo enfocado en algunas habilidades mientras se mantienen otras; el entrenamiento funcional asume la construcción y el refuerzo de la capacidad física general. El peso corporal y la composición corporal razonables son resultados de observación a largo plazo, y el entrenamiento los respalda.

A quién sirve este sistema

Personas a las que sirve: Aquellas que consideran el entrenamiento como una inversión para la salud a largo plazo y la capacidad para la vida; aquellas que practican varias disciplinas (fuerza + carrera + natación + pelota) sin prepararse para ninguna competición; el objetivo es jugar un poco de todo, no lesionarse y poder afrontar las demandas físicas de la vida; se busca un amplio espectro de habilidades, no un rendimiento específico.

Personas a las que no sirve: se dice directamente, sin rodeos, que está fuera del alcance:

TipoCaracterística
Personas que se preparan para una competiciónMaratón, triatlón, remo, competición: necesitan puesta a punto (taper), pico de rendimiento específico, periodización cíclica
Atletas especializadosNecesitan puesta a punto, pico de rendimiento específico, periodización cíclica. El número de sesiones de carrera/natación en sí mismo no es un criterio: correr 4-6 veces por semana o nadar 3-4 veces también puede ser solo entrenamiento combinado, se organiza según el historial de entrenamiento y el volumen total
Personas que buscan un gran avance en el rendimientoEl objetivo es una clasificación, un ritmo, alcanzar un tiempo estándar
Personas que necesitan diagnóstico y tratamiento clínicoDiagnóstico, interpretación de imágenes, prescripción de rehabilitación

Criterio en una frase: Pregunte "¿Ajustarías tu entrenamiento para una competición específica?" Si la respuesta es "sí", entonces no está dentro del perfil.

Por qué se traza esta línea: La base de este sistema es la "capacidad combinada + sin preparación para competiciones + salud a largo plazo", con un límite máximo de 12 semanas, sin puesta a punto, sin picos de rendimiento específicos, utilizando la fatiga para impulsar reducciones en lugar de una periodización cíclica. Las necesidades de especialización derribarían estos tres pilares por completo: el resultado de forzar la adaptación es que no se beneficia a ninguna de las partes. Cuando te encuentres con este tipo de necesidad, indica que está fuera del alcance, no des un "plan de especialización de descuento".

Por defecto, se asume que el usuario puede completar normalmente el entrenamiento programado; la habilidad es responsable de proporcionar un estímulo suficiente, una dosis clara, una progresión preestablecida y una combinación recuperable, de modo que el seguimiento normal tenga un camino hacia la mejora de la capacidad objetivo. No se puede usar "ajustar según la situación" para reemplazar la recomendación actual, ni se puede considerar el llenado de conclusiones de verificación como una garantía de efecto.

Sin opciones en el plan: Los movimientos, series y repeticiones, métodos de selección de carga, recuperación y rotación en el horario deben estar claros. Cuando se conserven movimientos equivalentes, se fija el orden de rotación; no se inventan cargas reales desconocidas, se emite una prescripción ejecutable basada en el esfuerzo objetivo y el método de selección del primer grupo. Antes de la entrega, se eliminan los espacios vacíos en la prescripción que requieran que el ejecutante elija entre dos opciones en el momento.

Este es un sistema de entrenamiento que se puede usar de forma independiente. La programación regular utiliza los principios, las reglas de decisión y los activos de movimiento dentro del paquete; los archivos y horarios entregados no muestran autores externos, libros de texto, artículos, números de referencia o rutas de archivos originales.

Límite entre la habilidad y el contenido personal: cada uno se encarga de su propio ámbito, no se superpongan:

  • Habilidad (este paquete): Métodos reutilizables, biblioteca de movimientos y su default_dose, estrategias de programación y dosificación, scripts de validación y renderizado, formatos de salida. No escribe el tiempo disponible, el peso histórico, las preferencias de equipo y dosis de ninguna persona específica; el peso sugerido en la biblioteca es un valor predeterminado general, no una prescripción para alguien.
  • Archivo del plan (plan.json y similares): Los hechos de esta persona, este ciclo: tiempo disponible, longitud de la piscina, objetivos y punto de partida, disposición de las fases, dosis actual y peso de referencia.
  • Historial del usuario: El peso real completado y la respuesta (TR) del usuario. El formato de demostración TR 36kg×8 (ejemplo sintético, no registro real) son datos falsos reconstruidos para este artículo; el plan real debe usar los registros válidos y las fechas reales de la persona.

El pipeline de entrega no entra en este paquete: Los scripts para plasmar el plan en Notion/Feishu/algún repositorio, los ID de repositorio y página, así como el historial de operaciones como "alguien está acostumbrado a modificar tablas manualmente", pertenecen al ámbito privado del usuario y no se escriben en esta habilidad (están vinculados a la cuenta y estructura de página de una persona específica, y otra persona no podría ejecutarlos). Este paquete llega hasta el "borrador renderizado/archivo exportado"; si es realmente necesario, se coloca en el directorio de herramientas del usuario, no en scripts/, no en references/, y no se degrada a "herramienta opcional" dentro del paquete. Al hacer la generalización, esta capa se elimina en el lugar, no se traslada a otro lugar.

Cuando la programación se encuentre con conflictos de tiempo, equipo o compensación de carga, se calcula dentro de las condiciones del usuario, no se escriben las restricciones personales como reglas en la habilidad, ni se utilizan los valores predeterminados generales de la habilidad para suplantar los datos reales del usuario.

Flujo principal: El plan es lo primero, la retroalimentación desencadena ajustes

Hacer el plan es la tarea principal de esta habilidad; el juicio sobre el movimiento solo se activa cuando el usuario informa un problema.

  1. Primero haz un buen plan: Según el punto de partida y las condiciones conocidas, escribe de una vez la dosis, intensidad, descanso y progresión normal de cada semana.
  2. Sin retroalimentación: Continuar según la ruta preestablecida: No solicitar confirmación de "sin molestias, sin fatiga residual, estable" cada semana, no considerar la finalización predeterminada como la finalización real registrada. La finalización normal predeterminada es solo una suposición para la programación.
  3. Recibir retroalimentación: Solo cuando surjan dificultades para completar, molestias o cambios en las condiciones, se ajustan las partes aún no ejecutadas, conservando el historial.

Para aumentar la carga (aumentar peso, series, distancia, densidad de series, comprimir el descanso, aumentar la frecuencia, pasar a la siguiente fase), primero se debe pasar por la compuerta de aumento de carga: la compuerta es una interceptación pasiva: si no se reporta un problema, no se intercepta; si se reporta, se intercepta. No constituye una "obligación de informar el estado cada semana para poder continuar".

Flujo de operación

  1. Determinar si es nuevo, desarrollo, adaptación, modificación o interpretación; reutilizar objetivos, condiciones y estructuras existentes.
  2. Para creación y adaptación, es obligatorio leer estos cinco documentos: Recopilación de información, Filosofía de entrenamiento, Principios de diseño, Planificación y Prescripción y progresión; si hay lesiones, dolor, cirugía previa o limitaciones de movimiento, primero lee Entrenamiento bajo limitaciones antes de programar, no solo cuando algo salga mal.
  3. Según el contenido del entrenamiento, lee Sesión de fuerza funcional o Estructura de sesiones de carrera/natación, y a lo largo de la biblioteca de movimientos de cuatro capas (capacidad, dominio, familia de movimientos, elemento específico) desde Movimientos y unidades de entrenamiento, selecciona activos ejecutables y verifica la contribución del movimiento con Selección y beneficios. La sesión funcional completa implementa la rodadura, estiramiento, corrección, activación, preparación de movimientos en el lugar, habilidades de desplazamiento, velocidad/ salto/ balón medicinal específicos, potencia en el gimnasio y núcleo, combinaciones de fuerza y metabolismo energético (las zonas de la curva fuerza-velocidad para movimientos explosivos y las bandas de carga para derivados de levantamiento se encuentran en Curva fuerza-velocidad y derivados de levantamiento); según Apoyo y corrección de rehabilitación, coloca las tareas de apoyo en estos eslabones; las sesiones independientes de fin de semana se utilizan para estiramiento y relajación de bajo costo. Al adaptar debido a la división de proyectos, fase o tiempo, proporciona sustituciones específicas y juicio de carga, no digas que los eslabones eliminados ya se han completado. Las habilidades técnicas eligen versiones ya dominadas; para una base técnica de baja preparación, se puede emitir una prescripción clara y controlable bajo el supuesto de finalización normal, sin inventar observaciones dominadas. No utilices nombres candidatos vagos directamente como prescripción, ni generes enseñanza de movimientos o cursos de diagnóstico.
  4. Proporciona dosis, intensidad, recuperación, puntos clave de ejecución y condiciones de finalización específicos, y organiza la progresión de cada semana de antemano. La finalización normal avanza según la ruta establecida; los registros, pruebas adicionales o demostraciones de cada sesión no son un requisito para el progreso. Al recibir retroalimentación o cambios en las condiciones, lee Lógica de cambios, corrige el alcance mínimo necesario y conserva el historial completado. Cuando los cambios de tiempo involucren múltiples proyectos, sigue la Compensación entre proyectos: primero da recomendaciones y alternativas, indica claramente los costos, el usuario define la dirección y luego reorganiza; no elimines proyectos por el usuario, ni esperes a que el usuario proponga su propia eliminación. El orden de reducción se encuentra en Cómo reducir cuando falta tiempo: cambiar de día → reducir sesiones → reducir carga; para ahorrar tiempo, solo está permitido reducir la carga, no aumentar la densidad o la intensidad.
  5. Guarda el plan según Estructura de datos, verifica el estímulo objetivo, el punto de partida, la progresión, la compensación de proyectos, el tiempo real y la consistencia jerárquica según los Criterios de autovalidación; luego ejecuta scripts/validate_plan.py. Corrige los errores primero; los elementos específicos que requieren revisión deben tener un tratamiento correspondiente, no se puede simplemente escribir "aprobado". Renderiza o exporta según Especificación de salida; al modificar, ejecuta scripts/compare_plans.py para conservar las diferencias reales y su impacto.

Restricciones de diseño

  • Máximo 12 semanas; las longitudes de plan admitidas son solo 12/9/8/6/4/3 semanas, el resto (como 10, 11, 13 semanas) se rechazan directamente: la regresión se hace dentro del bloque, la longitud total no cambia, no la extiendas. 12 semanas = cuatro fases de 3 semanas, 9 semanas = tres fases, 6 semanas = dos fases, 8 semanas = dos fases completas + la última fase comprimida a 2 semanas (comprime la última fase, no alargues la primera), 4 semanas = fase única con semana de redundancia o ciclo de mantenimiento 4×1, 3 semanas = fase única.
  • 12 semanas adopta cuatro fases de 3 semanas (Fase 1: aumentar volumen → Fase 2: aumentar intensidad → Fase 3: fuerza a potencia → Fase 4: resistencia de fuerza + consolidación; la Fase 4 no tiene pico, ver estructura de cuatro días). La unidad del ciclo se llama "fase" en todos los casos, no "etapa" ni "período"; se escribe "Fase 1-4", en el texto se usa "cada fase / entre fases", no "etapa 1-4 / cada etapa / etapa posterior". En documentos antiguos donde aparecía "cuatro etapas", se cambia por esto. Todo el período se utiliza para el entrenamiento, sin sesiones de prueba, semanas de prueba o reducción previa a la prueba. Por defecto, hay cambios de carga o enfoque dentro de la semana y entre semanas, no se fija un patrón de tres semanas de aumento y una semana de descarga.

La dosis de la fase se da completa, no se programa una escalera de cuatro pasos cada semana: Cada fase tiene un rango (por ejemplo, sesión de volumen 3×8-10), la Semana 1 en el extremo inferior, la Semana 2 toma un nivel dentro del rango, la Semana 3 se mantiene, cada una de las tres semanas escribe una dosis determinada, la finalización normal sigue la tabla. El plan es lo primero: da de una vez la dosis predeterminada y la conexión entre fases para las 12 semanas (o la longitud seleccionada), no dejes la elección de la Semana 2 / Semana 3 al resultado de la ejecución; solo después de recibir retroalimentación se modifican las semanas no ejecutadas, sin modificar las semanas ya ejecutadas. La dosis se puede escribir completa, el punto de partida de la carga no se puede inventar: series × repeticiones, minutos de carrera, metros de natación deben estar especificados semana a semana; para el peso de referencia / ritmo cuando no se dispone de medición real, escribe "pendiente", no uses valores predeterminados generales para suplantar la medición real; "pendiente" solo puede caer en estas dos casillas: series/repeticiones, RPE objetivo, descanso entre series, cómo seleccionar el peso en el primer grupo, la descripción de la intensidad de carrera/natación deben estar completas, no pueden quedar también como "pendiente", de lo contrario, alguien sin historial de kilos recibe medio plan. Cómo usar el rango, ver Revisión del plan. La escalera de cuatro pasos está vinculada a la longitud del bloque; si la longitud del bloque cambia, degenera en "dos semanas de aumento, una semana de descarga". Una prescripción predeterminada no equivale a un resultado de ejecución ficticio.

El rango se escribe según la plantilla, no te inventes un valor único: si la plantilla da "3×8-10 / 24-30 repeticiones por movimiento", escríbelo como rango; elegir un extremo de cada lado del rango y convertirlo en "24 repeticiones" o "30 repeticiones" es inventar un valor único a partir del rango. El rango se usa para escribir el método, la semana de ejecución aún debe tener un valor fijo: Semana 1 / Semana 2 / Semana 3 cada una cae en un número (2×8, 3×9, 3×10), no se puede mantener el rango en dos semanas. El número total de series no es un indicador de prescripción: primero define los movimientos × series/repeticiones, el número total de series por sesión = número de movimientos del día × series, es el resultado después de la programación, solo se usa para estimar el tiempo (incluyendo calentamiento y núcleo). Establecer una columna "rango de series por semana" para controlar los movimientos al revés es usar la plantilla al revés; si realmente necesitas verificar, calcula el número de series y escríbelo debajo de la tabla como verificación, no como umbral.

La regresión y la repetición se absorben dentro del bloque, no se extiende la longitud total: si una semana no se alcanza el objetivo, se degrada a una semana de mantenimiento (ver Formas del plan); al final de la fase, si se determina "repetir", ocupa la posición de la siguiente fase: la longitud total sigue siendo de 12 semanas, longitudes no estándar como 13 semanas se consideran directamente inválidas.

  • Distribuye las tareas y la prioridad de la fuerza funcional, la carrera y la natación según las necesidades de la vida y el deporte, la capacidad objetivo y las condiciones de ejecución; la configuración del proyecto cambia con los objetivos. El día de descanso principal se prioriza el domingo, los días laborables se mantiene el entrenamiento, alternando carga pesada y ligera dentro de los seis días. La natación, los saltos y carreras en el calentamiento, y el entrenamiento metabólico al final de la sesión de fuerza se incluyen en la carga total.
  • El desarrollo de la resistencia lee Volumen aeróbico y progresión, calculando por separado el segmento principal de carrera, el volumen neto de natación, el equivalente durante el plan y el tiempo total de la sesión. Para puntos de partida bajos, utiliza rutas semanales específicas para establecer el volumen, sin poder sumar la fuerza, la preparación y el descanso en la piscina como trabajo aeróbico; para aquellos con una base más alta, diseña nuevos estímulos según las necesidades específicas.
  • La fuerza aplicable utiliza explícitamente la escala de repeticiones en reserva para guiar la selección del peso, comúnmente RPE 7 ≈ 3 repeticiones en reserva, RPE 8 ≈ 2, RPE 9 ≈ 1 (los movimientos principales en la fase de fuerza usan estos niveles); el horario escribe el punto de anclaje. RPE no equivale a un porcentaje de la fuerza máxima, el peso de referencia no es un requisito fijo de finalización. DUP (periodización ondulante diaria) utiliza movimientos principales estables para cambiar el número de repeticiones y la carga correspondiente en sesiones de entrenamiento adyacentes; el punto de anclaje del movimiento principal declarado se guarda en design_context.strength_waves, y el grupo de trabajo se marca con wave_role. Cambiar el movimiento, el título o el avance de fase por sí solo no prueba el DUP; no se requiere que todos los movimientos auxiliares, explosivos o de preparación fluctúen.
  • Diseña estímulos y progresiones reales para los objetivos de desarrollo; los objetivos de mantenimiento tienen un estímulo correspondiente; los elementos no evaluados o pospuestos se marcan explícitamente. No se puede usar una etiqueta de capacidad arbitraria para simular cobertura, ni se asume por defecto que cada capacidad requiere un entrenamiento independiente.
  • La biblioteca de movimientos cubre fuerza funcional, carrera, natación y tareas de apoyo macro; la tabla de cobertura se encuentra en references/training-library/coverage.json. Cada capacidad requerida tiene activos aplicables o una brecha explícita; no se puede considerar que la existencia de un movimiento en la biblioteca signifique que ya se ha desarrollado en este ciclo. Por defecto, la sesión principal prioriza movimientos de alta contribución, progresables, y con un costo razonable de tiempo, técnica y recuperación; los movimientos aislados locales se evalúan solo cuando tienen una tarea clara, no se añaden a la sesión principal para completar el número de líneas.
  • La finalización predeterminada no equivale al dominio automático de técnicas desconocidas o a la autorización de limitaciones de movimiento ya existentes. Selecciona sustituciones ya dominadas; las limitaciones ya claras entran en la programación; cuando aparecen reacciones anormales, detén el contenido relevante y reevalúa.
  • Primero emite la programación general, luego personaliza: La primera versión se emite según la prescripción general para un adulto sano, sin presuponer lesiones, falta de equipo o tiempo disponible; solo después de finalizar la estructura se hacen sustituciones y degradaciones. Excepción: cuando hay limitaciones registradas (o claramente sospechadas), no se sigue esta ruta: primero filtra los movimientos y el volumen total con las limitaciones, luego programa según la frecuencia; si no hay limitaciones registradas ni evaluadas, programa con la opción más conservadora y espera a los resultados de la evaluación para flexibilizar. Si el orden se invierte, el primer borrador será una prescripción para una persona sana con movimientos contraindicados. Mezclar dos cosas en una versión para modificarlas hará que los problemas estructurales y las limitaciones individuales se mezclen en un caos. Cuando el usuario revisa por frecuencia (cuatro días → tres días → dos días), solo se programa una frecuencia, una sesión a la vez, y se espera la confirmación de esa ronda antes de continuar; si el usuario solicita directamente el horario completo o delega explícitamente la elección de la estructura, entonces entrega un horario completo basado en la evaluación inicial de una vez, sin preguntar sesión por sesión; antes de cada sesión, explica claramente "qué elementos tienen progresión de tres semanas y cuáles son fijos durante las tres semanas", para que se pueda verificar la progresión preestablecida.

Plantilla de estructura: elige una según la frecuencia, no mezcles ni combines

  • Estructura de cuatro días: alternancia semanal (2 días de piernas + 2 días de empuje puro de torso), progresión de cuatro fases (Fase 1: aumentar volumen → Fase 2: aumentar intensidad → Fase 3: fuerza a potencia → Fase 4: resistencia de fuerza + consolidación, sin pico), orientación diaria.
  • Estructura de tres días: esqueleto real (Core dos filas / Par un grupo / Tri-set tres casillas), gradiente de intensidad pesado-medio-ligero, solo se pueden tomar movimientos del grupo de clasificación dentro de la tabla de ejemplo, progresión de dos ejes (eje de fuerza + eje de plantilla); tres días solo tienen la primera fase, las fases posteriores son trasplantes.
  • Estructura de dos días: dos grupos de estructura principal, por defecto sin capa auxiliar (la única excepción para la rama de integración completa debe escribir la secuencia del grupo completa / duración del trabajo / recuperación), dos días completos de sesiones, lista de brechas y corrección de progresión con "regla de expansión no válida".

Programación de múltiples proyectos: primero define el esqueleto y la carga, luego calcula el presupuesto de intensidad

  • Entrenamiento concurrente: umbral de interferencia, presupuesto semanal de sesiones de alta intensidad (límite superior estricto de 4 veces, 3 veces cuando hay limitaciones registradas, el script lo verificará), matriz de exclusión de proyectos, gradiente de 0-7 carreras y la combinación de calendario de 4/3/2 entrenamientos × carrera, dos proporciones de dosificación (fuerza principal / mixta, no se genera un "proyecto dominante").
  • Programación de múltiples deportes: esqueleto + carga para personas sin especialidad, dos contabilidades (intensidad / días), tres formas de día de recuperación y criterios de recuento, siete pasos de programación, impacto del tipo de pelota en el enfoque de fuerza, orden del mismo día, reglas para dos entrenamientos en un día, ejemplos de cálculo.

La fuerza funcional es la base, la especialidad es su escenario de uso: no se reparten "cupos de desarrollo" por proyecto rotativamente: primero pregunta al usuario su opinión sobre cada deporte (interés en participar / complementar la condición física / mejorar un aspecto específico) + cuánto tiempo está dispuesto a dedicar cada semana; si no está claro, programa como mantenimiento y marca en el borrador "no confirmado", no adivines la proporción ni definas el rol por el usuario. La sesión de fuerza atraviesa el ciclo, progresa según sus propias series/repeticiones y carga, no cede porque le toque a la carrera o la natación, ni exige que la carrera o la natación se detengan porque ella ha aumentado. El control del aumento se basa en la línea de carga, no en hacer cola por proyecto: tablas de rotación como "esta semana carrera, la próxima natación" son una lectura incorrecta; si alguien lo escribe así, se revierte y se reprograma.

Cinco líneas de carga independientes: series/repeticiones de fuerza (incluyendo el punto de anclaje de carga) / minutos de carrera / volumen neto de natación / número de contactos de impacto / ocupación de recuperación. Como máximo, una línea puede aumentar significativamente en la misma fase; si se va a aumentar una segunda línea, se debe escribir la razón (nivel de revisión, no se reporta como error). Los elementos de mantenimiento no tienen carga cero: la sesión de fuerza de mantenimiento también consume recursos de recuperación; "elemento en mantenimiento" no equivale a "los otros dos elementos pueden aumentar sin preocupación". El aumento se juzga según la dosis escrita en el horario, no según la redacción del objetivo: toma como medida el número de series × repeticiones de fuerza, los minutos de carrera, el volumen neto de natación de la primera y última semana de cada fase; la media del RPE objetivo como intensidad; el descanso del elemento principal como recuperación. Si se cumple cualquiera de estas condiciones: el volumen supera el 10%, el RPE aumenta 0.2, el descanso se reduce por debajo del 95%, entonces se considera que esta línea está aumentando. stage_load_lines() genera esta tabla de comparación; si más de una línea aumenta en la misma fase, se reporta stage_lines:<block> (revisión), requiriendo que se escriba la prioridad y por qué también aumenta la otra línea; si el objetivo es "desarrollar" pero la dosis de cada sesión no ha cambiado, esta línea es plana.

"Solo aumentar una línea" no equivale a "la misma línea puede aumentar continuamente durante toda la ronda": si la misma línea aumenta durante 2 fases o más consecutivas, se reporta stage_lines_streak; entre dos puntos de aumento adyacentes, debe haber al menos 3 semanas de estabilidad; si solo hay 1-2 semanas de diferencia entre aumentos consecutivos, se reporta ramp_interval (el mensaje incluye los dos números de semana y las dos cantidades). La forma legal es todas las líneas planas dentro de la fase, el aumento solo ocurre en el límite de la fase (ejemplo: volumen de carrera semanal de 62 / 75 / 88 / 100 minutos, cada nivel se mantiene durante 3 semanas). Cuando todas las líneas están planas dentro de la fase, se debe decir qué línea tomará el relevo en el siguiente límite; de lo contrario, "nadie se ha movido" se interpretará como que no ha habido progresión en todo el ciclo. Dos formas no se reportan como "aumento de carga dentro de la fase": ① De la Semana 1 a la Semana 2 de la fase, de 1-2 series a 3 series, con repeticiones y RPE sin cambios, es el ritmo de la semana de introducción de la Fase 1 en sí ( _is_phase_intro() lo registra como prescribed_intro, usando la Semana 2 como línea base de comparación), no es un aumento autónomo; ② cuando el día de volumen y el día más pesado tienen el mismo número de repeticiones (Fases 2-4, ambos días tienen 5 repeticiones en el elemento principal), la fluctuación diaria es asumida por el RPE objetivo, design_checks reconoce "número de repeticiones diferente" o "RPE objetivo claramente más alto" como criterio; sin esto, el ejemplo, desde la semana de cambio de fase, reportará continuamente "el día más pesado y el día de volumen no tienen un rango de repeticiones claramente más bajo", y blocked_weeks se extenderá hasta la última semana.

El enlace entre fases se cuenta por separado, y de la línea base a la primera semana también se cuenta por separado: si solo se comparan la primera y la última semana de cada fase, se perderá todo el caso de "todas las líneas planas dentro de la fase, el aumento se concentra en el límite" – stage_load_lines() con handoff/handoff_rising reporta stage_handoff:<block>; si no se especifica en design_context.review_resolutions si es un escalón de aumento o una superposición, el modo actual no genera la tabla; si solo se comparan los puntos de aumento después de la Semana 1, se perderá el salto de la línea base a la Semana 1 (el paso más grande de toda la tabla a menudo está en un lugar que nadie mira). La línea base a la primera semana se juzga por la frecuencia, no por el porcentaje: baseline_entry_check() solo verifica si una sola sesión se ha alargado cuando aumenta el número de carreras (la sesión única más larga ≤ la sesión única de la línea base es aprobado, aumentar la frecuencia en sí mismo no es aumentar el volumen); solo si el volumen semanal ha aumentado más del 10% mientras el número de carreras no ha cambiado, se reporta. Tres criterios de recuento no pueden compartir un mismo nombre: Total del segmento principal de carrera (suma de los segmentos individuales más largos de cada sesión, sin incluir la salida y la vuelta a la calma) / Total de actividades de carrera (suma por tipo de movimiento: si la salida y la vuelta a la calma también se clasifican como movimientos de carrera de sesión, se incluirán) / Sesión completa (incluye caminata rápida y enfriamiento), escribe en tres frases; el límite superior del 40%, la determinación de aumento, y la verificación de enlace solo pueden usar el conjunto de "volumen de carrera semanal que incluye transiciones". Al reportar la tabla de comparación, escribe el nombre de la columna con precisión: si el número obtenido sumando por tipo de movimiento se etiqueta como "total de carrera principal", diferirá en más de diez minutos del número de segmento principal de carrera del entrenador especializado para la misma semana, pareciendo que ambos están equivocados. Los minutos en el resumen (mini_goal) verifican el segmento principal de carrera de esta sesión (el segmento individual más largo), no la sesión completa, ni el total de actividades de carrera que incluye la salida y la vuelta a la calma: si el criterio de recuento es incorrecto, decenas de sesiones reportarán "inconsistencia", causando una ronda de modificaciones en vano; este tipo de desviación debe ser escaneada por el script en toda la tabla; una inspección manual de algunas sesiones inevitablemente pasará por alto aquellas que solo difieren en 1-2 minutos. El número de carreras de la línea base / la sesión única más larga / el volumen semanal deben convertirse en campos estructurados de baseline_basis (run_sessions_per_week / run_longest_minutes / run_weekly_minutes / minutes_basis); si solo se escribe en la prosa de observation, nadie podrá verificarlo en el siguiente paso, y el cálculo cruzado de criterios producirá un aumento falso del +55%.

Los campos que se pueden calcular no se escriben a mano: el resumen de la sesión (mini_goal) y la duración total de la sesión son generados por la dosis (session_summary.mini_goal() / duration_model.apply()); si existe una copia manuscrita junto con la prescripción, modificar una dejará la otra sin cambios. Si el resumen contiene números, son declaraciones verificables; si no coinciden con la dosis, se reporta mini_goal inconsistente con la dosis de la sesión (nivel de revisión, adjuntando el valor generado). La lista de elementos relacionados después de cambiar las series/repeticiones (set_sequence / duración / resumen / context_hash / tabla de fases) se encuentra en Estructura de datos; omitir uno implica otra ronda de retrabajo. context_hash no se rellena manualmente, ni se deja un valor antiguo: después de modificar las series/repeticiones del elemento principal o las series progresivas, una resolución no actualizada hará que global_gaps reporte stage_handoff:<block>: review_resolutions debe registrar el context_hash actual..., bloqueando la puerta de salida. La forma de actualizarlo es volver a ejecutar design_checks.check(plan, library()) (library() se importa desde validate_plan), y rellenar review_id → context_hash en design_context.review_resolutions uno por uno, luego ejecutar todas las pruebas; el texto de la razón no se modifica, a menos que el hecho del escalón de aumento haya cambiado.

Los campos de descripción deben escribirse según la dosis real del horario: antes de escribir en progression_condition / purpose "esta fase aumenta de 8 a 12 series", primero lee los sets/reps/target_rpe de los elementos de esta fase para confirmar que realmente está programado así. Si se transcribe directamente el número objetivo del entrenador en la descripción, pero el horario no lo ha implementado, es un plan que no coincide consigo mismo: la revisión lo considerará como "reclamado pero no implementado" y lo devolverá; al hacer la autoverificación, uno también puede ser engañado por esta frase. La progresión no implementada solo se escribe en las notas fuera del plan, no en la descripción del plan.

El impacto de contacto se calcula en una línea separada: la tabla de series y la tabla de carrera no pueden mostrarlo. El volumen de contacto semanal = contacts_per_rep × sets × reps × número de lados acumulado por día; se verifica en paralelo con los minutos de carrera, no se suman, y no se establece una regla estricta de "las dos no pueden aumentar juntas". Para determinar si el impacto de una fase ha aumentado, primero calcula con esta fórmula y luego saca una conclusión, no infieras basándote en "cambiar la forma de organización" – mover un ejercicio excéntrico independiente a un grupo emparejado a menudo resulta en un volumen de contacto estable o reducido.

El ajuste de la prescripción y la mejora del rendimiento se registran en dos columnas: bajo la misma prescripción, una mejora en el rendimiento es un resultado del entrenamiento, no se modifica la prescripción; solo el aumento de series, distancia, intensidad objetivo o el paso a la siguiente fase se considera un ajuste de la prescripción. Mezclarlos en una columna no permite ver los beneficios del entrenamiento básico ni si la especialización ha recibido una carga adicional por separado.

Prescripción individual: puntos de partida, progresión y límites superiores para carrera y natación

  • Revisión del plan: El plan es el plan, la ejecución es la ejecución – este paquete no especifica cómo entrenar ni cómo registrar, solo se encarga de cómo modificar el plan una vez que se tienen los resultados: determinación dentro de la semana, determinación al final de la fase, posición de regresión dentro del bloque, modificar solo la parte local sin reescribir todo el plan.
  • Programación de carrera: prescripciones para cuatro puntos de partida, frecuencia de I/R que sigue al deporte de pelota, progresión (incluyendo la carrera individual más larga según el número de carreras semanales: 4+ veces 30% / 3 veces 40% / 2 veces 55% / una sola carrera no aplica, >64 km se recibe al 25%, el script lo verificará), tres puntos sobre la técnica de carrera, descripción de la intensidad, calendario semanal típico.
  • Programación de natación: confirma el punto de partida según el estilo de natación y la tarea específica, dos niveles de esfuerzo (sin medir CSS), progresión de una sola variable preestablecida y ajuste por anomalías, longitud real de la piscina y distancia de nado, equipo y limitaciones existentes; las dosis de ejemplo no son una prescripción general para adultos.

Juicio de apoyo: primero ver las limitaciones y el equipo, luego llegar al nombre del movimiento

  • Entrenamiento bajo limitaciones: dos tipos de limitaciones (a largo plazo / temporales), siete familias de movimientos × tres niveles, tres fases de curación (según el tejido y la respuesta al día siguiente, no según el calendario), dolor 3/10 solo como límite superior del día, tres tipos de vías de impacto (prohibido explícitamente / permitido pero con condiciones no cumplidas / brote actual, las tres vías no se pueden mezclar en una sola), lista de banderas rojas, condiciones de derivación.
  • Configuración del equipo de gimnasio: lista de equipos y sustituciones individuales (tres niveles: actualizable / degradable / brecha real), orden funcional de los ejercicios dominados por la pierna, cómo llenar ocho posiciones principales bajo cuatro configuraciones, seis métodos de progresión sin peso.
  • Nombres de ejercicios en chino e inglés: línea base terminológica, marcado de movimientos no incluidos en el libro; la columna "nombre actual" es el valor original de name en la biblioteca de movimientos, escribe el horario según él, de lo contrario, la coincidencia por nombre en las columnas de rendimiento será incorrecta.
  • Cada fila de la tabla de correspondencia debe tener un ID de biblioteca o escribir explícitamente not_in_library; después de modificarlo, ejecuta scripts/check_exercise_names.py: verifica fila por fila "si el ID está en la biblioteca, si el nombre en la tabla es igual al name de la biblioteca, si tiene ID pero se autodenomina nombre actual", y proporciona los ID que se pueden completar; las filas escritas con not_in_library se enumeran por separado como "declarado como no en la biblioteca", no se cuentan como errores; las filas de encabezado se saltan. No hay un tercer estado entre estos dos: las filas sin ID y sin declaración de not_in_library no se consideran "nombre actual", el script las reportará como errores – las habilidades de movimiento que no están en la biblioteca (saltos cruzados, gateo lateral, etc.) escritas como nombre actual equivalen a crear un nombre no verificable para la biblioteca. Antes de declarar "ejecutado simultáneamente en la biblioteca de movimientos y esta tabla", primero haz grep -rn 'nombre_antiguo1\|nombre_antiguo2' SKILL.md references/: es fácil modificar las filas de la tabla, pero en el texto principal y los archivos de estructura (estructura de dos/tres/cuatro días, functional-session, gym-equipment, limitations, multi-sport) hay decenas de lugares más con el mismo conjunto de nombres; si solo se modifica la tabla pero se declara unificado, la siguiente ronda de revisión encontrará, al hacer grep, que la tabla está más actualizada que el texto principal.
  • Para determinar una falta en la biblioteca, se debe buscar según la definición: busca simultáneamente id/name, english_name y la definición del movimiento, verificando los activos canónicos y de tiempo de ejecución, así como los nombres sinónimos. Solo si hay cero coincidencias se marca not_in_library, no se puede sustituir un movimiento aproximado por la falta. Reporta la palabra clave, el alcance y los resultados.
  • Antes de agregar un nuevo elemento, primero define el nombre en chino, dividido en dos niveles: "con origen" y "nombre traducido sugerido": si hay un uso público en chino, escríbelo directamente (深蹲保持 / 静态深蹲, 侧向熊爬); si no se encuentra un nombre de traducción unificado, márcalo como "nombre traducido descriptivo sugerido, pendiente de verificación con imagen" (como 药球触趾深蹲), no te hagas pasar por un estándar de la industria. El nuevo nombre debe estar alineado con la misma familia en la biblioteca: el crawl en la biblioteca es solo 熊爬, la variante lateral se llama 侧向熊爬, no 侧向爬行. Si coincide con términos clínicos/de prueba, se debe explicar la diferencia: "单腿交叉跳" en la literatura de rehabilitación es un movimiento de medición de la prueba de salto cruzado (crossover hop test), no es lo mismo que el salto cruzado en el calentamiento; no distinguirlos hará que un solo nombre se refiera a dos movimientos.
  • El número de líneas reportadas por el script debe restar primero las ilusiones de análisis, antes de hablar de cuántas deudas hay: las filas de encabezado de la tabla de correspondencia serán consideradas como filas de datos (la celda "nombre chino actual" es el nombre del encabezado); las filas combinadas que tienen dos IDs escritos en una fila serán verificadas dos veces con el mismo nombre de celda: ambos casos se reportan como "nombre no coincide con la biblioteca" o "sin ID de biblioteca pero se autodenomina nombre actual". El método de reparación es modificar el script para saltar el encabezado, dividir las filas combinadas en una fila por ID, no volver a modificar los nombres de los movimientos; primero resta estos dos tipos y luego reporta el número, de lo contrario, la mitad de las líneas reportadas habrán sido creadas por el propio analizador. Si se añade un nuevo estado legal a la tabla, se modifica el validador en la misma ronda: si not_in_library solo se escribe en la tabla pero el script solo reconoce "tiene ID / no tiene ID", toda la tabla siempre estará en rojo, y cada ronda se considerará como una nueva deuda que se debe verificar nuevamente. Las filas combinadas son en sí mismas una fuente de desviación: una fila tiene dos IDs, al coincidir por nombre, los dos IDs competirán por el mismo nombre de celda, y las pruebas y el renderizado tomarán cada uno uno, ambos pareciendo correctos.
  • Las estadísticas de problemas deben explicar el criterio, los cambios de nombre visible usan alias: distingue entre elementos de movimiento, filas de equipo, encabezados y elementos declarados fuera de la biblioteca. El name de la biblioteca es la clave de coincidencia; alias no participa en la coincidencia, el cambio de nombre debe sincronizar la validación y las referencias.
  • El nombre del movimiento vuelve al texto original para verificar, no te lo inventes: el nombre chino siempre toma la traducción del libro o el nombre ya unificado en el paquete. Un nombre inventado chocará con la postura del libro mismo (inventar "pistol squat" choca con la oposición del libro a las sentadillas con una sola pierna, inventar "búlgara" choca con la corrección del nombre de la sentadilla dividida con pierna trasera elevada, inventar "golpe hacia abajo / levantamiento" choca con tirar hacia abajo / tirar hacia arriba). Especialmente en las secciones de calentamiento y corrección, no se puede traducir literalmente del inglés: Inchworm se traduce literalmente como 尺蠖, pero en el libro se llama 毛毛虫; Leg Cradle se traduce literalmente como 腿摇篮, tampoco es correcto; Cook hip lift y Leg lower no se pueden mezclar chino e inglés. Los movimientos de esta sección solo tienen una tabla de sección de preparación en el libro, la superficie inglesa y la forma del movimiento a menudo están desconectadas (shuffle es 拖步, no 跚步), siempre escribe según la tabla original de la versión china, y luego complementa en la décima primera sección de Nombres de ejercicios en chino e inglés. La verificación de nombres debe cotejar página por página con el original; enumerar nombres de memoria seguramente será incorrecto; los movimientos que no están en el libro (press de banca en el suelo, curl nórdico de piernas) se conservan pero se marcan como "complemento del paquete", no se puede decir que están en el libro. El nombre del activo ya unificado en el paquete tiene prioridad como término de coincidencia, y Nombres de ejercicios en chino e inglés es la referencia.
  • Las conclusiones estructurales se escriben en las referencias y se actualiza el puntero de entrada: después de completar la modificación, se debe leer el archivo, verificar las diferencias y ejecutar las pruebas relevantes y completas. Las conclusiones de la discusión no reemplazan el contenido final del archivo.

El número de versión se escribe en el campo de prefijo de SKILL.md: actualmente es 1.0 paquete fuente público. version en plan.json es el número de revisión en formato entero, schema_version es la cadena de versión del formato, no se mezcla con la versión del paquete.

Disciplina de modificación y finalización:

  • La opinión de revisión no equivale a la autorización de modificación: los entrenadores especializados, fisioterapeutas, consultores e incluso el entrenador principal que digan "retira este lote" o "cámbialo como te digo" son solo sugerencias; antes de modificar SKILL.md y references/, primero muestra al usuario la lista de cambios propuestos, obtén un "cámbialo", y luego realiza los cambios en un solo lote. Completa todos los cambios de una vez, no informes a medida que modificas.
  • Fusiona el alcance de las modificaciones de la misma ronda: enumera los archivos, ubicaciones, razones e impactos asociados, realiza modificaciones en grupo según el alcance autorizado, y registra la versión de manera uniforme para una ronda de cambios.
  • Mantén la trazabilidad después de la finalización: solo modifica dentro del alcance autorizado, conserva la versión y las diferencias reales. La ganancia real del entrenamiento y la capacidad de recuperación deben ser juzgadas por los resultados de la ejecución.
  • Las oraciones de resumen y las tablas detalladas deben cotejarse elemento por elemento; si no coinciden, elimina la oración de resumen: resúmenes de una oración como "reduce las series originales en una", "tres veces por semana de cardio", "esta sesión dura 20 minutos" entran fácilmente en conflicto con los números nuevos después de modificar los detalles (reducir una serie pero escribir de 5 a 3 series, decir tres veces de cardio pero el horario tiene cuatro, la sesión de intervalos realmente dura 30-40 minutos). Antes de finalizar, lleva cada oración de resumen a la tabla correspondiente y verifícalas una por una; si son inconsistentes, conserva los detalles y elimina o reescribe la oración de resumen; si coexisten dos oraciones, el lector no puede determinar cuál es la verdadera.
  • Cuando se retira un lote de contenido, modifica simultáneamente la regla que lo produjo: si los números se eliminan pero la regla que los generó se mantiene intacta, la siguiente ronda de revisión creará los números nuevamente siguiendo la misma regla. Después de retirar, primero haz grep de la cadena clave de ese contenido para confirmar 0 coincidencias, luego lee si la regla de producción en sí misma también debería reescribirse en sentido inverso.
  • Después de modificar, registra una entrada en CHANGELOG.md: qué versión retiró qué, por qué se retiró, qué archivos afectó. Sin esta entrada, la próxima ronda solo podrá confiar en "quién se acuerda" para juzgar, y lo retirado se considerará como una omisión y se volverá a agregar.
  • Reporta el alcance de la modificación mediante un informe de diferencias de versión: utiliza la lista de archivos, las diferencias de contenido y los resultados de la verificación, no confíes en la memoria para declarar la finalización.

Los resultados de los cálculos delegados deben indicar el método y los límites de responsabilidad: distingue entre hechos de origen, cálculos independientes y decisiones de diseño; mantén umbrales consistentes y un alcance de aplicación claro para el mismo criterio.

Si los resultados de la misma cantidad son diferentes, primero alinea los criterios: verifica la entrada, las unidades, el tiempo de transición y el método de redondeo, enumera las diferencias no resueltas, luego determina el valor a adoptar.

Los valores absolutos deben pasar por un criterio antes de entrar en la regla: cualquier número como "máximo aumentar X minutos cada vez" o "cambiar de modo cuando supere Y minutos" primero pregúntate si es válido para dos personas con puntos de partida diferentes: para una persona con un volumen semanal de 60 minutos, agregar 15 minutos es +25%; para una persona con 300 minutos, agregar 15 minutos es +5%; un solo número no puede manejar dos magnitudes. Si no es válido, redúcelo a "parámetro de ejemplo", indicando que el punto de activación está determinado por la proporción del usuario, no lo escribas como una regla general; los números deducidos de la propia distribución del paquete no pueden ser elevados a regla (por ejemplo, derivar de "la sesión única bajo la opción del 40% de tres carreras superará los 50 minutos" a "120 minutos deben agregar una carrera", son dos capas de invención apiladas). Del mismo modo, cuando el límite de proporción ya controla la duración de la sesión única, no se apile un número fijo de minutos: umbrales repetidos eventualmente entrarán en conflicto.

La contabilidad de tiempo y la conclusión de viabilidad deben tener el mismo criterio: antes de decir "X minutos son factibles", los bloques fijos (preparación + potencia + núcleo), series de calentamiento/progresivas, grupos de trabajo y descanso entre series, y el cambio de movimiento deben calcularse de una vez; si primero das un número sin incluir las progresivas, y luego añades "más 6 minutos por las progresivas", la conclusión ya está en conflicto consigo misma. Antes de comparar qué plan ahorra más tiempo, alinea la carga de trabajo: cuando el número de series o la duración son diferentes, la diferencia proviene de la carga de trabajo en sí, no se puede atribuir a la estructura del plan (comparar 7 series con 9 series y concluir "el modo reducido consume más tiempo", comparar 6 series con 9 series y concluir "el modo de cuatro categorías no cabe" son de este tipo). La forma correcta es una tabla de comparación "presupuesto ↔ series que se pueden programar", que permita comparar la cobertura y el espesor de dos planes bajo el mismo presupuesto. La duración total de la sesión se calcula a partir de la dosis, no se escribe como constante: scripts/duration_model.py es la única implementación (un solo movimiento = series × trabajo por serie + (series - 1) × descanso entre series; el trabajo por serie prioriza el recuento de veces con RPE ≥ 7 multiplicado por 5 segundos, en segundo lugar, los segundos de trabajo del conjunto completo de la tabla de activos (si la nota ya dice "aproximadamente 9 seg/rep" o "mantener 10 seg cada vez, 6 veces en total", se adopta directamente, no uses una estimación repetición por repetición para sobrescribirlo), en tercer lugar, el campo de duración, el recuento técnico multiplicado por 4 segundos; per_side se duplica), apply() escribe de nuevo en las tres capas items → modules → session; en la verificación, "la cantidad de prescripción excede el tiempo asignado" debe llamar a la misma función. La medición de la distancia se basa en la velocidad del movimiento, no se usa una constante compartida: marcha / caminata lateral y marcha de patada 0.8 m/s, caminata con carga 1.0 m/s, carrera acelerada alrededor de 3 m/s (10 m de strides son aproximadamente 3 segundos). Usar 1.3 m/s en todos los casos hará que 20 m de marcha se calculen como 15 segundos y los strides como 8 segundos, ambos incorrectos. Cuando coexisten dos conjuntos de estimaciones de trabajo por serie, uno calcula "más de 90 minutos por sesión" y el otro "todo dentro de 90 minutos", el que está equivocado es la conclusión, no los datos. Compartir una constante manuscrita para 24 sesiones equivale a ocultar la fluctuación real. Cuando dos implementaciones difieren solo en 0.5-1.5 minutos por sesión, no atribuyas la diferencia a "transición de cambio de movimiento" o "redondeo elemento por elemento": estos dos tipos de diferencias no pueden producir este orden de magnitud; abre el script de la otra persona y haz diff de los segundos de trabajo por serie elemento por elemento, la diferencia casi siempre está en esa capa (cronómetro del conjunto completo vs. estimación repetición por repetición), localiza el movimiento específico y luego decide quién tiene razón, no elijas una de dos explicaciones posibles como conclusión. Si hay exceso de tiempo, no está permitido comprimir los grupos de preparación de las áreas sintomáticas: las series de calentamiento/progresivas resuelven el problema de seguridad de "ir directamente a las series de trabajo sin una preparación adecuada", no son una capacidad recortable; la adición de series progresivas y la reducción de tiempo se calculan por separado; si después de agregar las progresivas todavía hay exceso, informa honestamente el exceso de tiempo. Al revisar la dosis, cuenta las series progresivas (los grupos RPE 4) movimiento por movimiento – si un movimiento principal tiene 0 series progresivas en toda la ronda, significa que no tiene cinturón de seguridad.

Skills relacionados