LucaFilippetti99/PersonalCoach

Crée le plan de repas hebdomadaire de Luca à partir de sa liste de courses (spesa.json), de son frigo (frigo.json) et de son profil, pour une phase de définition avec des portions indicatives et une mini-recette par plat. Utilisez-le chaque fois que Luca demande un plan de repas, un menu de la semaine, quoi cuisiner dans les prochains jours, comment utiliser ses courses ou ce qu'il a dans le frigo, ou s'il souhaite refaire/modifier le plan, même sans citer explicitement la compétence.

Qu'est-ce que PersonalCoach ?

Cette compétence d'agent IA, destinée à un usage personnel avec un fichier de configuration local, agit comme un coach nutritionnel et un planificateur de repas intelligent pour Luca. Elle génère automatiquement un plan de repas hebdomadaire en se basant sur plusieurs fichiers JSON : le profil utilisateur (profilo.md), l'inventaire du frigo et du garde-manger (frigo.json), la liste de courses actuelle (spesa.json), ainsi que les paramètres cibles (calories, protéines, calendrier d'entraînement). L'agent suit des règles strictes : utiliser d'abord les ingrédients périssables et ceux déjà en stock, respecter un déficit calorique modéré et des repas équilibrés (protéines à chaque repas principal, légumes abondants, glucides adaptés aux jours d'entraînement), et éviter le gaspillage en planifiant des restes malins. La compétence intègre également une gestion réactive des mises à jour : elle peut marquer les repas comme consommés, ajuster les portions en fonction du suivi du poids, mettre à jour la liste de courses, et prendre en compte les modifications manuelles effectuées par Luca via son application web locale. Elle utilise des noms d'ingrédients cohérents pour garantir une synchronisation fluide entre les fichiers. Les plats proposés sont simples, variés, avec des portions exprimées en mesures pratiques (paume, poing, cuillère) et chaque repas est accompagné d'une mini-recette de 3 à 5 étapes courtes. Idéale pour les développeurs souhaitant un planificateur de repas automatisé fortement personnalisé et respectueux du contenu déjà présent.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LucaFilippetti99/PersonalCoach/tree/HEAD/skills/piano-pasti-settimanale

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Plan de repas hebdomadaire

Le plan est lu depuis l'application web locale de Luca (section Cibo), donc le fichier JSON doit respecter le schéma ci-dessous à la lettre.

Entrées à lire

  1. profilo.md — objectif, aliments exclus, préférences, nombre de repas, compléments.
  2. frigo.json — ce qu'il y a déjà à la maison (avec les dates de péremption éventuelles) : à utiliser en priorité. Contient à la fois le frigo et le garde-manger : le champ dove vaut "frigo" ou "dispensa" (si absent : les glucides, les matières grasses et les conserves sont au garde-manger, le reste au frigo).
  3. spesa.json — la liste de courses actuelle : c'est la base du plan avec le frigo.
  4. impostazioni.json — target.kcal et target.proteine_g ; calendario pour connaître les jours d'entraînement ; sempre_in_casa (ex. sel, huile : toujours présents, jamais listés dans les courses).
  5. Le dernier fichier dans piani-pasti/ — pour ne pas répéter les mêmes plats.
  6. log/misure.json — si la tendance du poids suggère d'ajuster les portions.

Si frigo.json ou impostazioni.json n'existent pas encore, continuez sans.

Luca modifie également les plans depuis l'application web (ajoute, change ou supprime des repas, les marque comme mangés). Si le fichier de la semaine existe déjà, partez de celui-ci : ne modifiez pas les repas avec "fatto": true et n'écrasez pas les repas qu'il a écrits, sauf demande explicite ; complétez uniquement les jours ou les repas manquants.

Règles

  • D'abord le frigo, ensuite les courses : utilisez en priorité les articles dans frigo.json, surtout ceux dont la date de péremption est proche. Ensuite les courses. Au moins 80-90 % des ingrédients doivent provenir du frigo + des courses ; ce qui manque va dans da_comprare_extra, avec une brève justification.
  • Noms cohérents : pour les ingrédients, utilisez le même nom que dans frigo.json / spesa.json (ex. "Petto di pollo", pas "pollo"), afin que l'application web reconnaisse ce qui est déjà à la maison.
  • Zéro gaspillage : les ingrédients périssables (légumes, viande, poisson frais) doivent être utilisés dans les premiers jours. Planifiez les restes malins : on cuisine une fois et on utilise deux fois.
  • Définition, déficit modéré : des protéines à chaque repas principal, beaucoup de légumes, des glucides présents (plus abondants les jours d'entraînement du calendario). Pas de repas sauté ni de plans drastiques. Gardez la journée proche de target.kcal et target.proteine_g.
  • Portions indicatives : utilisez des mesures pratiques (poing, paume, cuillère, "1 poitrine moyenne") avec les grammes entre parenthèses uniquement pour les glucides principaux.
  • Variété : Luca cuisine volontiers tous les jours, donc des recettes simples mais variées, maximum 2 répétitions du même plat par semaine. Vous pouvez reproposer des plats des plans précédents qui lui ont plu, en utilisant le même nom de plat (l'application web les rassemble dans un livre de recettes).
  • Week-end : Luca mange dehors le week-end (au moins une pizza par semaine) : ne planifiez pas ces repas, ou indiquez "dehors" dans les notes.
  • Respectez toujours les aliments exclus indiqués dans profilo.md.

Courses, frigo et garde-manger (mêmes règles que l'application web)

L'application web maintient le plan, les courses et la maison alignés avec des règles simples : suivez-les également, afin que les fichiers restent cohérents.

  • Après avoir écrit le plan, mettez à jour spesa.json : pour chaque ingrédient des repas non encore mangés (à partir d'aujourd'hui) qui n'est pas dans frigo.json (frigo ou garde-manger), n'est pas dans sempre_in_casa et n'est pas déjà listé, ajoutez un article { "nome", "categoria", "quantita": "", "auto": true }. auto: true signifie "ajouté pour le plan" : l'application web le retire automatiquement si le repas change. Ne touchez pas aux articles sans auto (ils ont été écrits par Luca).
  • da_comprare_extra reste pour les suggestions facultatives (ex. un citron pour assaisonner), pas pour les ingrédients nécessaires aux repas.
  • Noms : l'application web compare les noms sans majuscules ni accents et avec singulier = pluriel ("uovo" = "uova"), mais "pollo" et "petto di pollo" restent différents : utilisez les mêmes noms que frigo.json / spesa.json.
  • Quand Luca vous dit qu'il a mangé un repas : mettez "fatto": true, retirez de frigo.json les ingrédients qui sont au FRIGO (le garde-manger reste) et sauvegardez-les dans le repas sous "consumati" (les articles retirés, tels qu'ils étaient), afin que si Luca décoche l'élément depuis l'application web, ils reviennent.
  • Quand Luca vous dit qu'il a fait les courses : retirez les articles achetés de spesa.json et ajoutez-les à frigo.json avec dove ("dispensa" pour les glucides, les matières grasses et les conserves, "frigo" pour le reste) et scadenza si vous la connaissez.

Mini-recette

Chaque repas a le champ ricetta: un tableau de 3 à 5 étapes courtes (une ligne chacune), avec des temps de cuisson indicatifs. Pas d'étapes évidentes ("dressez l'assiette"). Si un plat utilise des restes d'un jour précédent, dites-le dans la première étape.

Schéma du fichier

{
  "settimana": "AAAA-Www",
  "kcal_giorno_indicative": 2150,
  "giorni": [
    {
      "giorno": "lunedì",
      "pasti": [
        {
          "tipo": "pranzo",
          "piatto": "Riso con pollo e zucchine",
          "ingredienti": [{ "nome": "Riso basmati", "porzione": "1 pugno abbondante (~80 g)" }],
          "ricetta": ["Cuoci il riso in acqua salata (circa 12 min)", "…"],
          "note": "",
          "fatto": true
        }
      ]
    }
  ],
  "da_comprare_extra": [{ "nome": "Limoni", "categoria": "frutta", "quantita": "2", "motivo": "per condire il pesce" }]
}
  • giorno : nom en minuscule (lunedì … domenica). tipo : pranzo, cena, colazione ou spuntino.
  • categoria dans da_comprare_extra : une parmi proteine, carboidrati, verdure, frutta, latticini, grassi, dispensa, altro.
  • fatto est optionnel : true uniquement pour les repas déjà mangés (Luca le définit depuis l'application web ou vous quand il vous dit ce qu'il a mangé) ; dans les repas futurs, omettez-le.
  • consumati est optionnel : présent uniquement dans les repas mangés et contient les articles retirés du frigo (voir ci-dessus). Ne le modifiez pas.
  • N'ajoutez pas d'autres champs.

Sortie

  1. Sauvegardez le plan dans piani-pasti/AAAA-Www.json (semaine ISO), en respectant exactement le schéma ci-dessus.
  2. Mettez à jour spesa.json avec les ingrédients manquants (voir "Courses, frigo et garde-manger").
  3. En chat, affichez un résumé court : une ligne par jour avec les plats principaux, puis ce que vous avez ajouté aux courses, la liste da_comprare_extra et 2-3 conseils de préparation (quoi cuisiner à l'avance). Rappelez à Luca que le plan est déjà visible dans l'application web, section Cibo.

Skills associés