Get the FREE Ultimate OpenClaw Setup Guide →
i

Tandoor Recipe

Scanned

@itsnikhil

npx machina-cli add skill @itsnikhil/tandoor-recipes --openclaw
Files (1)
SKILL.md
5.1 KB

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

  1. Search for recipes the user might enjoy:
    node ./scripts/tandoor.js search-recipes "chicken"
    
  2. Note the recipe IDs from the results
  3. Get available meal types (to confirm "Dinner" exists):
    node ./scripts/tandoor.js get-meal-types
    
  4. 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

  1. Get today's meal plans:
    node ./scripts/tandoor.js get-meal-plans "2025-02-08"
    
  2. If user wants recipe details, get the full recipe:
    node ./scripts/tandoor.js get-recipe <recipe_id>
    

Add Recipe Ingredients to Shopping List

  1. Get the recipe details to see all ingredients:
    node ./scripts/tandoor.js get-recipe <recipe_id>
    
  2. Parse the ingredients from the response (look at steps[].ingredients[])
  3. 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

  1. 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
    
  2. Note the recipe ID from the response
  3. 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

  1. View checked items:
    node ./scripts/tandoor.js get-shopping-list "true"
    
  2. 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).

Source

git clone https://clawhub.ai/itsnikhil/tandoor-recipesView on GitHub

Overview

Tandoor Recipe Manager helps you manage recipes, meal plans, and shopping lists for your Tandoor instance. Use it to create new recipes, search for ideas, schedule meals, and keep your shopping list in sync with your plan.

How This Skill Works

Interact with your Tandoor Recipe Manager via a Node CLI (node ./scripts/tandoor.js <command> [args...]). It requires environment variables TANDOOR_URL and TANDOOR_API_TOKEN to authenticate, and exposes commands for searching recipes, retrieving full recipe details, planning meals, and managing shopping items.

When to Use It

  • Create a new recipe with ingredients and step-by-step instructions.
  • Search for recipes by name or keyword to find ideas.
  • Retrieve full recipe details to review ingredients and steps.
  • Plan meals by adding recipes to specific days and reviewing meal types.
  • Manage your shopping list by viewing, adding, checking off, or removing items.

Quick Start

  1. Step 1: Set TANDOOR_URL and TANDOOR_API_TOKEN in your environment.
  2. Step 2: Run a command, for example: node ./scripts/tandoor.js search-recipes "pasta".
  3. Step 3: Use additional commands like get-recipe, add-to-meal-plan, or get-shopping-list to manage your plan.

Best Practices

  • Keep your TANDOOR_URL and API token secure and rotate tokens regularly.
  • Use descriptive ingredient lists and clear step-by-step instructions when creating recipes.
  • Always preview a recipe with get-recipe before adding ingredients to your shopping list.
  • Verify meal type names and date format (YYYY-MM-DD) when adding to the meal plan.
  • Leverage get-keywords, get-foods, and get-units to improve searchability and data consistency.

Example Use Cases

  • Search for pasta recipes: node ./scripts/tandoor.js search-recipes "pasta"
  • Get a full recipe: node ./scripts/tandoor.js get-recipe 42
  • Add a Dinner for a date: node ./scripts/tandoor.js add-to-meal-plan 42 "Dinner" "2025-02-10"
  • View shopping list: node ./scripts/tandoor.js get-shopping-list
  • Create a new recipe: node ./scripts/tandoor.js create-recipe "Grilled Cheese" "bread; cheese" "butter; grill" 2

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers