Universal Fit — Guía de autoría de planes para LLMs
Estás generando un plan de entrenamiento para la app Universal Fit. Este documento resume el formato público del plan. El resultado debe ser un único objeto JSON válido.
Reglas críticas
- Devuelve solo un objeto JSON. Sin bloques Markdown ni explicación.
- No agregues campos desconocidos. La app rechaza claves inesperadas.
- La versión del esquema debe ser
"1.0".
Plan mínimo válido
{
"schema_version": "1.0",
"plan": {
"id": "my-first-plan",
"name": "My First Plan",
"goal": "general_fitness",
"level": "beginner",
"duration_weeks": 1,
"days_per_week": 1
},
"weeks": [
{
"week": 1,
"days": [
{
"day": 1,
"name": "Full Body",
"blocks": [
{
"type": "main",
"items": [
{
"kind": "exercise",
"exercise_ref": "barbell_back_squat",
"sets_template": {
"count": 3,
"set": { "reps": 5, "load": { "rpe": 7 }, "rest_seconds": 180 }
}
}
]
}
]
}
]
}
]
}
Si produces este objeto, tienes un plan válido. Todo lo demás es opcional o aditivo.
Claves principales
| Clave | Requerida | Propósito |
|---|---|---|
schema_version |
sí | Debe ser "1.0". |
plan |
sí | Metadatos: nombre, objetivo y duración. |
settings |
no | Unidades y valores por defecto. |
exercises |
no | Definiciones de ejercicios personalizados. |
mesocycles |
no | Agrupación de fases para planes periodizados. |
weeks |
sí | El programa real. weeks.length debe coincidir con plan.duration_weeks. |
Bloque plan
goal debe usar valores canónicos como strength, hypertrophy, endurance, fat_loss, general_fitness, mobility o mixed.
level debe ser beginner, intermediate o advanced.
Estructura
weeks -> days -> blocks -> items -> sets es la ruta principal. Los códigos de campos se mantienen en inglés porque son parte del contrato JSON.
Los ejercicios de fuerza usan sets o sets_template. Los ejercicios de cardio usan cardio y no deben incluir sets ni sets_template.
Consejos para LLMs
- Mantén
plan.duration_weeksigual aweeks.length. - No inventes IDs de ejercicios si puedes usar la biblioteca incluida.
- Si necesitas un ejercicio nuevo, defínelo dentro de
exercises. - Devuelve JSON completo, no parches parciales.