Community程式設計與開發github.com

LucaFilippetti99/個人教練

根據 Luca 的購物清單(spesa.json)、冰箱庫存(frigo.json)和個人檔案,為 Luca 建立每週減脂期餐點計畫,包含建議份量與每道菜的簡易食譜。每當 Luca 要求餐點計畫、一週菜單、未來幾天煮什麼、如何使用已購買的食材或冰箱庫存,或是想要重新製作/修改計畫時使用,即使他沒有明確提及此技能。

個人教練 是什麼?

此技能專為 Luca Filippetti 的個人飲食管理而設計,是一個高度自動化的每週餐點計畫生成器。它不僅能根據 Luca 的個人檔案(目標、飲食限制、運動天數)、冰箱庫存和購物清單,自動產生符合減脂需求的客製化餐點計畫,還能與 Luca 的本地 WebApp 無縫同步。技能會優先使用冰箱中即將過期的食材,確保零浪費,並自動更新購物清單,將計畫所需但家中沒有的食材加入 `spesa.json`。此外,它還支援餐點的「已吃」標記與庫存扣除,以及購物後的庫存補貨,實現從計畫到食材管理的完整閉環。此技能支援 Luca 的個人 WebApp 平台,並透過讀取多個 JSON 和 Markdown 檔案(如 `profilo.md`、`frigo.json`、`spesa.json`)來操作,最終輸出結構化的 JSON 餐點檔案,每個餐點都附有簡短的烹飪步驟。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LucaFilippetti99/PersonalCoach/tree/HEAD/skills/piano-pasti-settimanale

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

每週餐點計畫

餐點計畫會從 Luca 的本地 WebApp(「食物」區塊)讀取,因此 JSON 檔案必須嚴格遵循以下結構。

需讀取的輸入

  1. profilo.md — 目標、排除食物、偏好、餐次數量、補充品。
  2. frigo.json — 家裡已有的食材(含有效期限):應優先使用。同時包含冰箱與儲藏室:dove 欄位值為 "frigo" 或 "dispensa"(若缺少:碳水化合物、油脂與罐頭歸類為儲藏室,其餘為冰箱)。
  3. spesa.json — 目前的購物清單:與冰箱庫存同為計畫的基礎。
  4. impostazioni.json — target.kcal 和 target.proteine_g;calendario 用於了解哪些是訓練日;sempre_in_casa(例如鹽、油:永遠有庫存,無需列入購物清單)。
  5. piani-pasti/ 中的最後一個檔案 — 避免重複相同菜餚。
  6. log/misure.json — 若體重趨勢顯示需要調整份量。

如果 frigo.json 或 impostazioni.json 尚不存在,則跳過不處理。

Luca 也會從 WebApp 修改計畫(新增、更改或刪除餐點,並標記為已吃)。如果當週的檔案已存在,則從該檔案開始:不要更動 "fatto": true 的餐點,也不要覆蓋他自行撰寫的餐點,除非他要求;僅填補缺少的天數或餐點。

規則

  • 先冰箱,後購物清單:優先使用 frigo.json 中的物品,尤其是即將到期的。然後再用購物清單。至少 80-90% 的食材必須來自冰箱 + 購物清單;缺少的部分則放入 da_comprare_extra,並附上簡短原因。
  • 名稱一致性:食材名稱需與 frigo.json / spesa.json 中的名稱一致(例如 "雞胸肉",而非 "雞肉"),這樣 WebApp 才能識別家中已有食材。
  • 零浪費:易腐食材(蔬菜、肉類、鮮魚)應在頭幾天使用。巧妙規劃剩菜:一次烹調,兩次使用。
  • 減脂期,適度熱量赤字:每頓主餐都要有蛋白質、大量蔬菜、碳水化合物(訓練日根據 calendario 增加份量)。不可跳過餐點或採用極端飲食。每日總量應接近 target.kcal 和 target.proteine_g。
  • 建議份量:使用實用單位(拳頭、手掌、湯匙、「1 塊中等雞胸肉」),僅對主要碳水化合物以公克標示在括號內。
  • 多樣性:Luca 樂於每天下廚,因此食譜應簡單但多變,同一道菜每週最多重複 2 次。可以重複之前計畫中他喜歡的菜餚,使用相同的菜名(WebApp 會將其收錄在食譜集中)。
  • 週末:Luca 週末會外食(每週至少一次披薩):請不要規劃這些餐點,或在備註中標示「外食」。
  • 始終遵守 profilo.md 中標示的排除食物。

購物清單、冰箱與儲藏室(與 WebApp 規則相同)

WebApp 透過簡單規則來保持計畫、購物清單與家中庫存一致:請你也遵循這些規則,以確保各個檔案的一致性。

  • 在寫入計畫後,更新 spesa.json:針對尚未被吃掉的餐點(從今天起)中,每個不在 frigo.json(冰箱或儲藏室)內、不屬於 sempre_in_casa、且尚未在清單中的食材,新增一個項目 { "nome", "categoria", "quantita": "", "auto": true }。auto: true 表示「因計畫而新增」:如果餐點變更,WebApp 會自動移除它。不要更動沒有 auto 的項目(那些是 Luca 自己寫的)。
  • da_comprare_extra 保留給選擇性建議(例如,一顆檸檬調味),而非餐點所需的食材。
  • 名稱:WebApp 比較名稱時會忽略大小寫和重音符號,並視單複數為相同(例如 "uovo" = "uova"),但 "pollo"(雞肉)和 "petto di pollo"(雞胸肉)仍視為不同:請使用與 frigo.json / spesa.json 相同的名稱。
  • 當 Luca 告訴你他已吃掉某餐時:將該餐點的 "fatto" 設為 true,從 frigo.json 中移除屬於冰箱(FRIGO)的食材(儲藏室的部分保留),並將這些被移除的食材(原樣)儲存在該餐點的 "consumati" 欄位中,這樣如果 Luca 在 WebApp 上取消勾選,它們就能恢復。
  • 當 Luca 告訴你他已完成購物時:從 spesa.json 中移除已購買的項目,並將其加入 frigo.json,填入 dove(碳水化合物、油脂與罐頭為 "dispensa",其餘為 "frigo"),如果你知道有效期限則填入 scadenza。

簡易食譜

每個餐點都有一個 ricetta 欄位:一個包含 3-5 個簡短步驟的陣列(每行一個步驟),並附上建議烹調時間。不要包含顯而易見的步驟(例如「擺盤」)。如果某道菜使用了前一天剩菜,請在第一個步驟中說明。

檔案結構

{
  "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:小寫的星期名稱(lunedì … domenica)。tipo:pranzo(午餐)、cena(晚餐)、colazione(早餐)或 spuntino(點心)。
  • categoria in da_comprare_extra:可選 proteine(蛋白質)、carboidrati(碳水化合物)、verdure(蔬菜)、frutta(水果)、latticini(乳製品)、grassi(油脂)、dispensa(儲藏室)、altro(其他)。
  • fatto 為可選:僅在已吃掉的餐點中設為 true(由 Luca 從 WebApp 設定,或在你被告知他已吃什麼時設定);未來的餐點請省略此欄位。
  • consumati 為可選:僅存在於已吃掉的餐點中,包含從冰箱移出的項目(見上文)。請勿修改。
  • 不要新增其他欄位。

輸出

  1. 將計畫儲存在 piani-pasti/AAAA-Www.json(ISO 週數),並嚴格遵守上述結構。
  2. 使用缺少的食材更新 spesa.json(參見「購物清單、冰箱與儲藏室」)。
  3. 在聊天中顯示簡短摘要:每天一行,列出主要菜餚,然後是你添加到購物清單的項目、da_comprare_extra 清單,以及 2-3 個備餐建議(可以提前煮什麼)。提醒 Luca 該計畫已可在 WebApp 的「食物」區塊中查看。

相關技能