Skills weekly-menu
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/beginnerrudy/weekly-menu" ~/.claude/skills/clawdbot-skills-weekly-menu && rm -rf "$T"
manifest:
skills/beginnerrudy/weekly-menu/SKILL.mdsource content
Weekly Menu Skill
Generate a weekly meal recommendation document with images and Xiaohongshu source links, stored as a Feishu doc in the receipts folder.
Prerequisites
- agent-reach skill installed (Xiaohongshu channel configured)
- Feishu channel configured with permissions:
,docx:document
,docx:document:createdrive:drive - User profile at
(seemeals/profile.yaml
)references/profile-template.yaml
Workflow
1. Load User Profile
Read
meals/profile.yaml for:
— determines seasonal ingredientslocation
— serving sizehousehold.portions
— available appliances (air fryer, pressure cooker, etc.)cooking.equipment
— quick/moderate/slowcooking.timeAvailable
— none/mild/medium-hot/hotcooking.spiceTolerance
— preferred cuisinespreferences.cuisinesFavourite
— conservative/adventurouspreferences.explorationLevel
— how many days per weekschedule.cookingDays
If profile doesn't exist, ask user the basics and create one from
references/profile-template.yaml.
2. Search for Recipe Inspiration
Use agent-reach Xiaohongshu search to find trending recipes:
mcporter call 'xiaohongshu.search_feeds(keyword: "<search_term>")'
Search strategy (3-5 searches):
- Current season + location + "时令菜"
- Equipment-specific: "空气炸锅 家常菜", "高压锅 菜谱"
- Cuisine preference: "川菜 家常", "苏菜 做法"
- General: "一周菜谱 简单好吃"
Pick the top results by likes/collects. Aim for 20 candidate dishes across 6 categories:
- 🌿 春季时令 (seasonal)
- 🔥 空气炸锅 (air fryer)
- 🍲 高压锅硬菜 (pressure cooker)
- 🌶️ 下饭菜 (rice killers)
- 🏠 经典家常 (classic home cooking)
- 🍳 快手 & 主食 (quick meals & staples)
3. Compose the Menu
Organize 20 dishes into 6 themed sections based on equipment, cuisine, and cooking method:
- Balance variety: don't repeat proteins or methods within a section
- Each dish needs: number (①-⑳), name, one-line description, cooking time, equipment used
4. Download Dish Images
Download a representative image for each dish (from Unsplash or similar free sources — Xiaohongshu CDN blocks direct downloads):
curl -sL --connect-timeout 10 --max-time 20 -o ./tmp/dishes/01-name.jpg "<url>"
Store in
workspace/tmp/dishes/. Verify each file is a valid JPEG/PNG (not empty or HTML error).
5. Create Feishu Document
Read
references/feishu-doc-recipe.md for the full Feishu API procedure.
Summary:
- Create doc with title
(Monday's date) in receipts folder🍽️ YYYY-MM-DD 推荐菜单 - Grant user
permissionfull_access - Insert blocks in ≤50-block batches. For each dish, create these blocks in order:
- heading3 (block_type 5) — dish name, enables table of contents navigation
- todo/checkbox (block_type 17,
) — same dish name, for user to check offdone: false - text (block_type 2) — description + cooking time
- empty image (block_type 27) — placeholder, filled later
- text with link — "📌 小红书菜谱" linking to XHS post
- After all text blocks inserted, fill images: upload to drive → patch with
replace_image - Sections separated by divider (block_type 22) + heading2 (block_type 4)
Key constraints:
- Max 50 blocks per insert call — split 20 dishes into 4 batches (~25 blocks each)
- Max 3 edits/second per document — use
between API callstime.sleep(0.4) - Image blocks must be created empty (
) then filled via patch{"block_type": 27, "image": {}} - Insert batches bottom-to-top when adding blocks to avoid index shifting
6. Share Result
Send the document link to the user in chat. Format:
🍽️ 本周菜单已出炉!20 道菜已备好 👉 <document_url> 打开文档,从目录浏览所有菜,勾选你想做的~
7. Update History
Append the week's menu to
meals/history.yaml for future reference and to avoid repeats.
Config
| Key | Location | Description |
|---|---|---|
| User profile | | Taste preferences and constraints |
| Receipts folder | Feishu drive | Token stored in MEMORY.md |
| Meal history | | Past menus to avoid repeats |
File References
— blank user profile templatereferences/profile-template.yaml
— step-by-step Feishu document creation API guidereferences/feishu-doc-recipe.md