Install
openclaw skills install feastComprehensive meal planning system with cultural themes, authentic recipes, intelligent shopping, and surprise reveals. Use when: - Planning weekly meals or menus - Generating shopping lists - Asking for recipe ideas or cooking help - Reviewing past meals or planning ahead - Onboarding a new user to the meal system - Looking for cuisine inspiration or cultural food events - Tracking dietary goals or nutrition - Managing favourites, failures, or meal history
openclaw skills install feastA meal planning skill that transforms weekly cooking into a cultural experience.
User data lives in their workspace:
workspace/meals/
├── profile.yaml # User preferences (created during onboarding)
├── history.yaml # What they've eaten
├── favourites.yaml # Loved recipes
├── failures.yaml # Never again
└── weeks/
└── YYYY-MM-DD.md # Each week's plan (self-contained)
Note: 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.
Default schedule (user-configurable):
| Day | Activity | Trigger |
|---|---|---|
| Thursday | Research & draft | "Let's plan next week" |
| Friday | Confirm plan | "Confirm the meal plan" |
| Saturday | Shopping list | "Generate shopping list" |
| Sunday | Shopping | User shops |
| Week | Daily reveals | "What's for dinner?" |
| End of week | Review | "Review this week's meals" |
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.
Users configure their preferred channel in profile.yaml under schedule.notifications.channel:
| Channel | Delivery Method |
|---|---|
auto | Delivers to the current session or first available channel |
telegram | Sends via Telegram (requires Telegram channel configured in OpenClaw) |
discord | Sends via Discord (requires Discord channel configured in OpenClaw) |
signal | Sends via Signal (requires Signal channel configured in OpenClaw) |
webchat | Outputs to the chat session |
For notifications to mobile devices independent of chat channels, users can enable push notifications:
schedule:
notifications:
push:
enabled: true
method: "pushbullet" # or "ntfy"
Supported methods:
pushbullet-notify skill installed separately with API key configuredPush 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.
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.
Users can adjust their notification preferences anytime:
When updating, remove old cron jobs using stored IDs and create new ones with updated settings.
Read references/onboarding.md for the full flow.
Essential questions:
Save to workspace/meals/profile.yaml.
workspace/meals/weeks/YYYY-MM-DD.md (all content embedded in this single file)All recipes stored in standardised internal units. On output, convert to user's preferred units:
See references/conversions.md.
When researching cuisines:
See references/cuisines/ for per-cuisine guides.
After a meal is revealed and cooked, update history:
python scripts/update-history.py \
--meals-dir ~/.openclaw/workspace/meals \
--date 2026-02-03 \
--name "Thai Green Curry" \
--cuisine "Thai" \
--region "Central Thailand" \
--week-file "2026-02-02.md" \
--rating 4 \
--notes "Great, maybe more chilli next time"
This updates history.yaml and recalculates statistics automatically.
When doing the daily reveal, after the user confirms they've cooked and optionally rated the meal, run this script to keep history current.
Check seasonality for user's location before suggesting ingredients. Seasonal produce is:
Not every ingredient needs to be in season, but prefer seasonal when possible.
See references/seasonality/ for regional guides.