OpenClaw ยท Skill
Tandoor Recipes
Interact with the user's Tandoor Recipe Manager to manage recipes, meal plans, and shopping lists.
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install itsnikhil/tandoor-recipesClawHub installer
npx clawhub@latest install itsnikhil/tandoor-recipesOpenClaw CLI
openclaw skills install itsnikhil/tandoor-recipesDirect OpenClaw install
openclaw install itsnikhil/tandoor-recipesWhat this skill does
Interact with the user's Tandoor Recipe Manager to manage recipes, meal plans, and shopping lists.
Why it matters
Automates multi-step meal planning workflows that would otherwise require manual navigation through the Tandoor web UI.
Typical use cases
- Plan dinners for the week using saved recipes
- Add a recipe's ingredients directly to the shopping list
- Search your recipe collection by ingredient or name
- Create and schedule a new recipe from scratch
- Check off shopping list items after grocery runs
Source instructions
Tandoor Recipe Manager
Interact with the user's Tandoor Recipe Manager to manage recipes, meal plans, and shopping lists.
How to Use
Required env vars: TANDOOR_URL (Tandoor instance URL) and TANDOOR_API_TOKEN
node ./scripts/tandoor.js <command> [args...]
What You Can Do
๐ Find Recipes
Search by name:
node ./scripts/tandoor.js search-recipes "pasta"
node ./scripts/tandoor.js search-recipes "chicken" 20 # limit to 20 results
Get full recipe details:
node ./scripts/tandoor.js get-recipe 42
๐ Meal Planning
See available meal types (Breakfast, Lunch, Dinner, etc.):
node ./scripts/tandoor.js get-meal-types
Add a recipe to the meal plan:
node ./scripts/tandoor.js add-to-meal-plan <recipe_id> "<meal_type>" "<YYYY-MM-DD>"
# Example: Add recipe 42 as Dinner on Feb 10th
node ./scripts/tandoor.js add-to-meal-plan 42 "Dinner" "2025-02-10"
View meal plans for a date range:
node ./scripts/tandoor.js get-meal-plans "2025-02-08" "2025-02-14"
๐ Shopping List
View current shopping list:
node ./scripts/tandoor.js get-shopping-list
node ./scripts/tandoor.js get-shopping-list "true" # show checked items
node ./scripts/tandoor.js get-shopping-list "both" # show all
Add an item to the shopping list:
node ./scripts/tandoor.js add-shopping-item "<food>" "<amount>" "<unit>" "[note]"
# Example:
node ./scripts/tandoor.js add-shopping-item "Chicken Breast" "500" "g" "For stir fry"
Check off an item:
node ./scripts/tandoor.js check-shopping-item <item_id>
Remove an item:
node ./scripts/tandoor.js remove-shopping-item <item_id>
โ Create New Recipes
node ./scripts/tandoor.js create-recipe "<name>" "<ingredients>" "<instructions>" [servings]
Example:
node ./scripts/tandoor.js create-recipe "Grilled Cheese" \
"2 slices bread
2 slices cheese
1 tbsp butter" \
"1. Butter the bread
2. Add cheese between slices
3. Grill until golden brown" \
2
๐ Browse Reference Data
node ./scripts/tandoor.js get-keywords # all keywords
node ./scripts/tandoor.js get-keywords "italian" # search keywords
node ./scripts/tandoor.js get-foods "chicken" # search foods
node ./scripts/tandoor.js get-units # all units
Workflows
Plan Dinner for the Week
- Search for recipes the user might enjoy:
node ./scripts/tandoor.js search-recipes "chicken" - Note the recipe IDs from the results
- Get available meal types (to confirm "Dinner" exists):
node ./scripts/tandoor.js get-meal-types - Add each recipe to a day (repeat for each day):
node ./scripts/tandoor.js add-to-meal-plan 42 "Dinner" "2025-02-10" node ./scripts/tandoor.js add-to-meal-plan 15 "Dinner" "2025-02-11" # ... continue for each day
Check Today's Meal Plan
- Get today's meal plans:
node ./scripts/tandoor.js get-meal-plans "2025-02-08" - If user wants recipe details, get the full recipe:
node ./scripts/tandoor.js get-recipe <recipe_id>
Add Recipe Ingredients to Shopping List
- Get the recipe details to see all ingredients:
node ./scripts/tandoor.js get-recipe <recipe_id> - Parse the ingredients from the response (look at
steps[].ingredients[]) - Add each ingredient to the shopping list:
node ./scripts/tandoor.js add-shopping-item "Chicken Breast" "500" "g" node ./scripts/tandoor.js add-shopping-item "Onion" "2" "piece" # ... continue for each ingredient
Create and Schedule a New Recipe
- Create the recipe:
node ./scripts/tandoor.js create-recipe "Pasta Carbonara" \ "200g spaghetti 100g pancetta 2 eggs 50g parmesan" \ "1. Cook pasta 2. Fry pancetta 3. Mix eggs with parmesan 4. Combine all and serve" \ 2 - Note the recipe ID from the response
- Add to meal plan:
node ./scripts/tandoor.js add-to-meal-plan <new_recipe_id> "Dinner" "2025-02-12"
Clear Checked Items from Shopping List
- View checked items:
node ./scripts/tandoor.js get-shopping-list "true" - Remove each checked item by ID:
node ./scripts/tandoor.js remove-shopping-item <item_id>
Troubleshooting
"Food not found" or "Unit not found"
Search for the correct name in Tandoor first:
node ./scripts/tandoor.js get-foods "chicken"
node ./scripts/tandoor.js get-units "gram"
"Meal type not found"
Run get-meal-types to see exact names (case-insensitive match).