{
  "schemaVersion": "1.0",
  "item": {
    "slug": "feast",
    "name": "Feast - Intelligent meal planning, region and season aware shopping lists, respects dietary requirements, provides recipes, and generates immersive mealtime playlists",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/smadgerano/feast",
    "canonicalUrl": "https://clawhub.ai/smadgerano/feast",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/feast",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=feast",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/update-history.py",
      "templates/shopping-list.md",
      "templates/profile.yaml",
      "templates/week.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/feast"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/feast",
    "agentPageUrl": "https://openagent3.xyz/skills/feast/agent",
    "manifestUrl": "https://openagent3.xyz/skills/feast/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/feast/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Feast",
        "body": "A meal planning skill that transforms weekly cooking into a cultural experience."
      },
      {
        "title": "Quick Start",
        "body": "New user? Run onboarding: \"Let's set up Feast\" or \"Onboard me for meal planning\"\nReturning user? Check status: \"What's the meal plan status?\"\nPlanning day? Start planning: \"Let's plan next week's meals\"\nCooking day? Get reveal: \"What's for dinner?\""
      },
      {
        "title": "Core Files",
        "body": "User data lives in their workspace:\n\nworkspace/meals/\n├── profile.yaml          # User preferences (created during onboarding)\n├── history.yaml          # What they've eaten\n├── favourites.yaml       # Loved recipes\n├── failures.yaml         # Never again\n└── weeks/\n    └── YYYY-MM-DD.md     # Each week's plan (self-contained)\n\nNote: Weekly plans are fully self-contained — each day's recipe, theme research, music playlist, and cultural context is embedded directly in the week file. There are no separate recipe or theme files."
      },
      {
        "title": "Weekly Cadence",
        "body": "Default schedule (user-configurable):\n\nDayActivityTriggerThursdayResearch & draft\"Let's plan next week\"FridayConfirm plan\"Confirm the meal plan\"SaturdayShopping list\"Generate shopping list\"SundayShoppingUser shopsWeekDaily reveals\"What's for dinner?\"End of weekReview\"Review this week's meals\""
      },
      {
        "title": "Notifications",
        "body": "Feast sends reminders at key moments: planning day, confirmation, shopping list, daily reveals, and week review. These are delivered via cron jobs that spawn isolated agents to send notifications."
      },
      {
        "title": "Notification Channels",
        "body": "Users configure their preferred channel in profile.yaml under schedule.notifications.channel:\n\nChannelDelivery MethodautoDelivers to the current session or first available channeltelegramSends via Telegram (requires Telegram channel configured in OpenClaw)discordSends via Discord (requires Discord channel configured in OpenClaw)signalSends via Signal (requires Signal channel configured in OpenClaw)webchatOutputs to the chat session"
      },
      {
        "title": "Push Notifications (Optional)",
        "body": "For notifications to mobile devices independent of chat channels, users can enable push notifications:\n\nschedule:\n  notifications:\n    push:\n      enabled: true\n      method: \"pushbullet\"    # or \"ntfy\"\n\nSupported methods:\n\nPushbullet — Requires the pushbullet-notify skill installed separately with API key configured\nntfy — Uses ntfy.sh (or self-hosted); configure topic in profile\n\nPush notifications are sent in addition to the primary channel, not instead of it. If push delivery fails, the notification still goes to the primary channel."
      },
      {
        "title": "Timing",
        "body": "Notifications are delivered via OpenClaw's cron system with wakeMode: \"next-heartbeat\". This means notifications arrive within the heartbeat interval (typically up to 1 hour) after the scheduled time. For most meal planning purposes, this slight delay is acceptable."
      },
      {
        "title": "Managing Notifications",
        "body": "Users can adjust their notification preferences anytime:\n\n\"Change my Feast notifications to Telegram\"\n\"Turn off morning hints\"\n\"Enable Pushbullet notifications\"\n\nWhen updating, remove old cron jobs using stored IDs and create new ones with updated settings."
      },
      {
        "title": "Onboarding",
        "body": "Read references/onboarding.md for the full flow.\n\nEssential questions:\n\nLocation (for seasonality, units, stores)\nHousehold size & portion needs\nWeek structure (start day, cooking days, cheat day)\nDietary requirements & phase\nEquipment & cooking confidence\nPreferences (cuisines, spice, budget)\n\nSave to workspace/meals/profile.yaml."
      },
      {
        "title": "Planning (Thursday)",
        "body": "Check user profile\nReview history (avoid recent repeats)\nCheck upcoming cultural events (see references/events.md)\nCheck seasonality for location\nSelect 6-7 meals with:\n\nCuisine variety\nIngredient overlap\nBalanced nutrition\nMix of quick/involved\n\n\nFor each meal, research and embed:\n\nThe Place: Identify specific region of origin (drill down to province, city, or area). Research regional context, history, current events. Write an evocative description.\nThe Dish: Research authentic recipe from native sources (search in original language). Include origin story, cultural significance, full ingredients and method.\nThe Soundtrack: Curate a 1-2 hour playlist with contemporary hits + classic/traditional from the region (see references/theme-research.md). Include full tracklist with links.\nSetting the Scene: How to serve, what to drink, atmosphere tips.\n\n\nDraft plan to workspace/meals/weeks/YYYY-MM-DD.md (all content embedded in this single file)\nPresent summary (themes only, not full reveals)"
      },
      {
        "title": "Confirmation (Friday)",
        "body": "Present draft plan with themes\nAllow amendments\nMark as confirmed\nSet up daily reveal reminders"
      },
      {
        "title": "Shopping List (Saturday)",
        "body": "Generate from confirmed plan\nOptimise:\n\nGroup by category\nCombine overlapping ingredients\nCheck pack sizes vs needs\nFlag seasonal items\n\n\nPrice check key ingredients (see references/price-checking.md):\n\nIdentify top 3-5 most expensive items (usually proteins, specialty ingredients)\nCheck prices across user's available stores\nNote current deals, multi-buy offers, loyalty card prices\nAdd price recommendations to the shopping list\nSuggest shopping strategy (single store or split if savings are significant)\n\n\nPresent for review with price guidance\nAllow amendments\nMark as approved"
      },
      {
        "title": "Daily Reveal",
        "body": "Check it's a cooking day\nReveal:\n\nFull recipe (in user's units)\nTheme dossier highlights:\n\nThe place: Regional context, history, and character\nWhat's happening there now (current news/events from planning time)\nThe dish: Origin story, cultural significance, how it's eaten locally\n\n\nCurated playlist:\n\nContemporary hits from the region (what people there listen to now)\nClassic/traditional music from the region\nFull tracklist with links (Spotify/YouTube)\nThe vibe and journey the playlist creates\n\n\nSetting the scene: Serving suggestions, drinks pairings, atmosphere tips\n\n\nOptional morning hint for anticipation"
      },
      {
        "title": "Review (End of Week)",
        "body": "For each meal: rating (1-5), notes\nUpdate history\nIdentify favourites → add to favourites\nIdentify failures → add to failures\nCapture improvements for system\nSave review to week file"
      },
      {
        "title": "Recipe Regionalisation",
        "body": "All recipes stored in standardised internal units. On output, convert to user's preferred units:\n\nTemperature: Celsius / Fahrenheit / Gas Mark\nWeight: Metric (g/kg) / Imperial (oz/lb)\nVolume: Metric (ml/L) / Cups\n\nSee references/conversions.md."
      },
      {
        "title": "Authenticity Guidelines",
        "body": "When researching cuisines:\n\nSearch in the original language where possible\nLook for recipes from native sources, not just English food blogs\nIdentify the specific region of origin — not just \"Thai food\" but \"Northern Thai, Chiang Mai style\"\nResearch music that's actually from the region:\n\nFind contemporary hits (what's charting there now)\nFind classic/traditional music (legendary artists from the region)\nBuild a curated 1-2 hour playlist — not generic Spotify searches\nSee references/theme-research.md for guidance\n\n\nResearch the region itself — history, current events, social context, what it's famous for\nNote cultural context and any associated events\nRespect dietary traditions (e.g., no pork in Middle Eastern themes)\nEmbed everything in the week plan — recipes, themes, music, and context all go in the single week file\n\nSee references/cuisines/ for per-cuisine guides."
      },
      {
        "title": "Templates",
        "body": "templates/profile.yaml — User profile\ntemplates/week.md — Weekly plan with embedded recipes, themes, music, and shopping list\ntemplates/shopping-list.md — Standalone shopping list format (for reference; usually embedded in week)"
      },
      {
        "title": "References",
        "body": "references/onboarding.md — User onboarding guide\nreferences/theme-research.md — How to research cultural themes and curate music\nreferences/price-checking.md — Smart shopping and price comparison guidance\nreferences/events.md — Cultural events calendar for themed planning\nreferences/nutrition.md — Dietary phases and balanced meal guidance\nreferences/conversions.md — Unit conversion tables\nreferences/cuisines/ — Per-cuisine research guides\nreferences/seasonality/ — Regional seasonal produce"
      },
      {
        "title": "History Tracking",
        "body": "After a meal is revealed and cooked, update history:\n\npython scripts/update-history.py \\\n    --meals-dir ~/.openclaw/workspace/meals \\\n    --date 2026-02-03 \\\n    --name \"Thai Green Curry\" \\\n    --cuisine \"Thai\" \\\n    --region \"Central Thailand\" \\\n    --week-file \"2026-02-02.md\" \\\n    --rating 4 \\\n    --notes \"Great, maybe more chilli next time\"\n\nThis updates history.yaml and recalculates statistics automatically.\n\nWhen doing the daily reveal, after the user confirms they've cooked and optionally rated the meal, run this script to keep history current."
      },
      {
        "title": "Health & Nutrition",
        "body": "Track calories per meal if user has a target\nEnsure weekly variety across food groups\nRespect dietary phases (weight loss = deficit, etc.)\nFlag any nutritional concerns\n\nSee references/nutrition.md."
      },
      {
        "title": "Seasonal Awareness",
        "body": "Check seasonality for user's location before suggesting ingredients. Seasonal produce is:\n\nBetter quality\nOften cheaper\nMore environmentally responsible\n\nNot every ingredient needs to be in season, but prefer seasonal when possible.\n\nSee references/seasonality/ for regional guides."
      }
    ],
    "body": "Feast\n\nA meal planning skill that transforms weekly cooking into a cultural experience.\n\nQuick Start\nNew user? Run onboarding: \"Let's set up Feast\" or \"Onboard me for meal planning\"\nReturning user? Check status: \"What's the meal plan status?\"\nPlanning day? Start planning: \"Let's plan next week's meals\"\nCooking day? Get reveal: \"What's for dinner?\"\nCore Files\n\nUser data lives in their workspace:\n\nworkspace/meals/\n├── profile.yaml          # User preferences (created during onboarding)\n├── history.yaml          # What they've eaten\n├── favourites.yaml       # Loved recipes\n├── failures.yaml         # Never again\n└── weeks/\n    └── YYYY-MM-DD.md     # Each week's plan (self-contained)\n\n\nNote: Weekly plans are fully self-contained — each day's recipe, theme research, music playlist, and cultural context is embedded directly in the week file. There are no separate recipe or theme files.\n\nWeekly Cadence\n\nDefault schedule (user-configurable):\n\nDay\tActivity\tTrigger\nThursday\tResearch & draft\t\"Let's plan next week\"\nFriday\tConfirm plan\t\"Confirm the meal plan\"\nSaturday\tShopping list\t\"Generate shopping list\"\nSunday\tShopping\tUser shops\nWeek\tDaily reveals\t\"What's for dinner?\"\nEnd of week\tReview\t\"Review this week's meals\"\nNotifications\n\nFeast sends reminders at key moments: planning day, confirmation, shopping list, daily reveals, and week review. These are delivered via cron jobs that spawn isolated agents to send notifications.\n\nNotification Channels\n\nUsers configure their preferred channel in profile.yaml under schedule.notifications.channel:\n\nChannel\tDelivery Method\nauto\tDelivers to the current session or first available channel\ntelegram\tSends via Telegram (requires Telegram channel configured in OpenClaw)\ndiscord\tSends via Discord (requires Discord channel configured in OpenClaw)\nsignal\tSends via Signal (requires Signal channel configured in OpenClaw)\nwebchat\tOutputs to the chat session\nPush Notifications (Optional)\n\nFor notifications to mobile devices independent of chat channels, users can enable push notifications:\n\nschedule:\n  notifications:\n    push:\n      enabled: true\n      method: \"pushbullet\"    # or \"ntfy\"\n\n\nSupported methods:\n\nPushbullet — Requires the pushbullet-notify skill installed separately with API key configured\nntfy — Uses ntfy.sh (or self-hosted); configure topic in profile\n\nPush notifications are sent in addition to the primary channel, not instead of it. If push delivery fails, the notification still goes to the primary channel.\n\nTiming\n\nNotifications are delivered via OpenClaw's cron system with wakeMode: \"next-heartbeat\". This means notifications arrive within the heartbeat interval (typically up to 1 hour) after the scheduled time. For most meal planning purposes, this slight delay is acceptable.\n\nManaging Notifications\n\nUsers can adjust their notification preferences anytime:\n\n\"Change my Feast notifications to Telegram\"\n\"Turn off morning hints\"\n\"Enable Pushbullet notifications\"\n\nWhen updating, remove old cron jobs using stored IDs and create new ones with updated settings.\n\nWorkflows\nOnboarding\n\nRead references/onboarding.md for the full flow.\n\nEssential questions:\n\nLocation (for seasonality, units, stores)\nHousehold size & portion needs\nWeek structure (start day, cooking days, cheat day)\nDietary requirements & phase\nEquipment & cooking confidence\nPreferences (cuisines, spice, budget)\n\nSave to workspace/meals/profile.yaml.\n\nPlanning (Thursday)\nCheck user profile\nReview history (avoid recent repeats)\nCheck upcoming cultural events (see references/events.md)\nCheck seasonality for location\nSelect 6-7 meals with:\nCuisine variety\nIngredient overlap\nBalanced nutrition\nMix of quick/involved\nFor each meal, research and embed:\nThe Place: Identify specific region of origin (drill down to province, city, or area). Research regional context, history, current events. Write an evocative description.\nThe Dish: Research authentic recipe from native sources (search in original language). Include origin story, cultural significance, full ingredients and method.\nThe Soundtrack: Curate a 1-2 hour playlist with contemporary hits + classic/traditional from the region (see references/theme-research.md). Include full tracklist with links.\nSetting the Scene: How to serve, what to drink, atmosphere tips.\nDraft plan to workspace/meals/weeks/YYYY-MM-DD.md (all content embedded in this single file)\nPresent summary (themes only, not full reveals)\nConfirmation (Friday)\nPresent draft plan with themes\nAllow amendments\nMark as confirmed\nSet up daily reveal reminders\nShopping List (Saturday)\nGenerate from confirmed plan\nOptimise:\nGroup by category\nCombine overlapping ingredients\nCheck pack sizes vs needs\nFlag seasonal items\nPrice check key ingredients (see references/price-checking.md):\nIdentify top 3-5 most expensive items (usually proteins, specialty ingredients)\nCheck prices across user's available stores\nNote current deals, multi-buy offers, loyalty card prices\nAdd price recommendations to the shopping list\nSuggest shopping strategy (single store or split if savings are significant)\nPresent for review with price guidance\nAllow amendments\nMark as approved\nDaily Reveal\nCheck it's a cooking day\nReveal:\nFull recipe (in user's units)\nTheme dossier highlights:\nThe place: Regional context, history, and character\nWhat's happening there now (current news/events from planning time)\nThe dish: Origin story, cultural significance, how it's eaten locally\nCurated playlist:\nContemporary hits from the region (what people there listen to now)\nClassic/traditional music from the region\nFull tracklist with links (Spotify/YouTube)\nThe vibe and journey the playlist creates\nSetting the scene: Serving suggestions, drinks pairings, atmosphere tips\nOptional morning hint for anticipation\nReview (End of Week)\nFor each meal: rating (1-5), notes\nUpdate history\nIdentify favourites → add to favourites\nIdentify failures → add to failures\nCapture improvements for system\nSave review to week file\nRecipe Regionalisation\n\nAll recipes stored in standardised internal units. On output, convert to user's preferred units:\n\nTemperature: Celsius / Fahrenheit / Gas Mark\nWeight: Metric (g/kg) / Imperial (oz/lb)\nVolume: Metric (ml/L) / Cups\n\nSee references/conversions.md.\n\nAuthenticity Guidelines\n\nWhen researching cuisines:\n\nSearch in the original language where possible\nLook for recipes from native sources, not just English food blogs\nIdentify the specific region of origin — not just \"Thai food\" but \"Northern Thai, Chiang Mai style\"\nResearch music that's actually from the region:\nFind contemporary hits (what's charting there now)\nFind classic/traditional music (legendary artists from the region)\nBuild a curated 1-2 hour playlist — not generic Spotify searches\nSee references/theme-research.md for guidance\nResearch the region itself — history, current events, social context, what it's famous for\nNote cultural context and any associated events\nRespect dietary traditions (e.g., no pork in Middle Eastern themes)\nEmbed everything in the week plan — recipes, themes, music, and context all go in the single week file\n\nSee references/cuisines/ for per-cuisine guides.\n\nTemplates\ntemplates/profile.yaml — User profile\ntemplates/week.md — Weekly plan with embedded recipes, themes, music, and shopping list\ntemplates/shopping-list.md — Standalone shopping list format (for reference; usually embedded in week)\nReferences\nreferences/onboarding.md — User onboarding guide\nreferences/theme-research.md — How to research cultural themes and curate music\nreferences/price-checking.md — Smart shopping and price comparison guidance\nreferences/events.md — Cultural events calendar for themed planning\nreferences/nutrition.md — Dietary phases and balanced meal guidance\nreferences/conversions.md — Unit conversion tables\nreferences/cuisines/ — Per-cuisine research guides\nreferences/seasonality/ — Regional seasonal produce\nScripts\nHistory Tracking\n\nAfter a meal is revealed and cooked, update history:\n\npython scripts/update-history.py \\\n    --meals-dir ~/.openclaw/workspace/meals \\\n    --date 2026-02-03 \\\n    --name \"Thai Green Curry\" \\\n    --cuisine \"Thai\" \\\n    --region \"Central Thailand\" \\\n    --week-file \"2026-02-02.md\" \\\n    --rating 4 \\\n    --notes \"Great, maybe more chilli next time\"\n\n\nThis updates history.yaml and recalculates statistics automatically.\n\nWhen doing the daily reveal, after the user confirms they've cooked and optionally rated the meal, run this script to keep history current.\n\nHealth & Nutrition\nTrack calories per meal if user has a target\nEnsure weekly variety across food groups\nRespect dietary phases (weight loss = deficit, etc.)\nFlag any nutritional concerns\n\nSee references/nutrition.md.\n\nSeasonal Awareness\n\nCheck seasonality for user's location before suggesting ingredients. Seasonal produce is:\n\nBetter quality\nOften cheaper\nMore environmentally responsible\n\nNot every ingredient needs to be in season, but prefer seasonal when possible.\n\nSee references/seasonality/ for regional guides."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/smadgerano/feast",
    "publisherUrl": "https://clawhub.ai/smadgerano/feast",
    "owner": "smadgerano",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/feast",
    "downloadUrl": "https://openagent3.xyz/downloads/feast",
    "agentUrl": "https://openagent3.xyz/skills/feast/agent",
    "manifestUrl": "https://openagent3.xyz/skills/feast/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/feast/agent.md"
  }
}