tandoor-recipes
Manage recipes, meal plans, and shopping lists in Tandoor Recipe Manager.
Setup & Installation
Install command
clawhub install itsnikhil/tandoor-recipesIf the CLI is not installed:
Install command
npx clawhub@latest install itsnikhil/tandoor-recipesOr install with OpenClaw CLI:
Install command
openclaw skills install itsnikhil/tandoor-recipesor paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/itsnikhil/tandoor-recipesWhat This Skill Does
Connects to a self-hosted Tandoor Recipe Manager instance to manage recipes, meal plans, and shopping lists. Supports searching, creating, and scheduling recipes, plus full shopping list management.
Automates multi-step meal planning workflows that would otherwise require manual navigation through the Tandoor web UI.
When to Use It
- 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
View original SKILL.md file
# 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`
```bash
node ./scripts/tandoor.js <command> [args...]
```
---
## What You Can Do
### ๐ Find Recipes
**Search by name:**
```bash
node ./scripts/tandoor.js search-recipes "pasta"
node ./scripts/tandoor.js search-recipes "chicken" 20 # limit to 20 results
```
**Get full recipe details:**
```bash
node ./scripts/tandoor.js get-recipe 42
```
---
### ๐
Meal Planning
**See available meal types (Breakfast, Lunch, Dinner, etc.):**
```bash
node ./scripts/tandoor.js get-meal-types
```
**Add a recipe to the meal plan:**
```bash
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:**
```bash
node ./scripts/tandoor.js get-meal-plans "2025-02-08" "2025-02-14"
```
---
### ๐ Shopping List
**View current shopping list:**
```bash
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:**
```bash
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:**
```bash
node ./scripts/tandoor.js check-shopping-item <item_id>
```
**Remove an item:**
```bash
node ./scripts/tandoor.js remove-shopping-item <item_id>
```
---
### โ Create New Recipes
```bash
node ./scripts/tandoor.js create-recipe "<name>" "<ingredients>" "<instructions>" [servings]
```
Example:
```bash
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
```bash
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:
```bash
node ./scripts/tandoor.js search-recipes "chicken"
```
2. **Note the recipe IDs** from the results
3. **Get available meal types** (to confirm "Dinner" exists):
```bash
node ./scripts/tandoor.js get-meal-types
```
4. **Add each recipe to a day** (repeat for each day):
```bash
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**:
```bash
node ./scripts/tandoor.js get-meal-plans "2025-02-08"
```
2. **If user wants recipe details**, get the full recipe:
```bash
node ./scripts/tandoor.js get-recipe <recipe_id>
```
---
### Add Recipe Ingredients to Shopping List
1. **Get the recipe details** to see all ingredients:
```bash
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:
```bash
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**:
```bash
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**:
```bash
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**:
```bash
node ./scripts/tandoor.js get-shopping-list "true"
```
2. **Remove each checked item** by ID:
```bash
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:
```bash
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).
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Plan dinners for the week using saved recipes
- 1Plan dinners for the week using saved recipes
- 2Add a recipe's ingredients directly to the shopping list
- 3Search your recipe collection by ingredient or name
- 4Create and schedule a new recipe from scratch
- 5Check off shopping list items after grocery runs
Manage recipes, meal plans, and shopping lists in Tandoor Recipe Manager.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.
Similar Skills
VIEW ALLahmed
Terminal Spotify playback/search via spogo (preferred)
attio-crm
Manage Attio CRM records (companies, people, deals, tasks, notes).
stackunderflow
A knowledge-retrieval protocol allowing the agent to access a verified community knowledge base.
moonbanking
Full access to Moon Banking API endpoints for data about every bank on Earth, including stories, votes, scores.