Recipe Suggester
Suggest recipes based on dietary preferences, available ingredients, cuisine preferences, and difficulty levels.
Features
- Dietary Filters: Filter by vegetarian, vegan, gluten-free, keto, paleo, dairy-free, nut-free, low-carb
- Ingredient Matching: Find recipes using ingredients you have on hand
- Cuisine Preferences: Italian, Mexican, Asian, Mediterranean, American, Indian, French, Thai, Japanese, Mediterranean
- Difficulty Levels: Easy (beginner), Medium (some experience), Hard (advanced techniques)
- Meal Type: Breakfast, lunch, dinner, snack, dessert, appetizer
- Cooking Time: Quick (<30 min), medium (30-60 min), long (>60 min)
- Recipe Database: 100+ curated recipes with full details
Usage
CLI
# Search recipes with filters
npm run cli -- suggest --dietary vegetarian --cuisine italian --difficulty easy
# Search by ingredients you have
npm run cli -- by-ingredients "chicken,rice,onion"
# List all available filters
npm run cli -- diets
npm run cli -- cuisines
# View recipe details
npm run cli -- get <recipe-id>
# Quick random suggestion
npm run cli -- random
# View statistics
npm run cli -- stats
Library
import { RecipeSuggesterSkill } from '@openclaw/recipe-suggester';
const skill = new RecipeSuggesterSkill();
// Suggest recipes with filters
const suggestions = await skill.suggestRecipes({
dietary: ['vegetarian', 'gluten-free'],
cuisine: 'italian',
difficulty: 'easy',
maxTime: 30,
mealType: 'dinner',
count: 5
});
// Find recipes by ingredients
const byIngredients = await skill.findByIngredients(
['chicken', 'rice', 'onion'],
{ matchThreshold: 0.7 }
);
// Get random suggestion
const random = await skill.getRandomRecipe({ dietary: ['vegan'] });
await skill.close();
Storage
- SQLite database in
~/.openclaw/skills/recipe-suggester/
- Tracks recipe history and favorites
- Stores user preferences for better suggestions
1---2name: recipe-suggester3description: Suggest recipes based on dietary preferences, available ingredients, and cuisine preferences4---56# Recipe Suggester78Suggest recipes based on dietary preferences, available ingredients, cuisine preferences, and difficulty levels.910## Features1112- **Dietary Filters**: Filter by vegetarian, vegan, gluten-free, keto, paleo, dairy-free, nut-free, low-carb13- **Ingredient Matching**: Find recipes using ingredients you have on hand14- **Cuisine Preferences**: Italian, Mexican, Asian, Mediterranean, American, Indian, French, Thai, Japanese, Mediterranean15- **Difficulty Levels**: Easy (beginner), Medium (some experience), Hard (advanced techniques)16- **Meal Type**: Breakfast, lunch, dinner, snack, dessert, appetizer17- **Cooking Time**: Quick (<30 min), medium (30-60 min), long (>60 min)18- **Recipe Database**: 100+ curated recipes with full details1920## Usage2122### CLI2324```bash25# Search recipes with filters26npm run cli -- suggest --dietary vegetarian --cuisine italian --difficulty easy2728# Search by ingredients you have29npm run cli -- by-ingredients "chicken,rice,onion"3031# List all available filters32npm run cli -- diets33npm run cli -- cuisines3435# View recipe details36npm run cli -- get <recipe-id>3738# Quick random suggestion39npm run cli -- random4041# View statistics42npm run cli -- stats43```4445### Library4647```typescript48import { RecipeSuggesterSkill } from '@openclaw/recipe-suggester';4950const skill = new RecipeSuggesterSkill();5152// Suggest recipes with filters53const suggestions = await skill.suggestRecipes({54 dietary: ['vegetarian', 'gluten-free'],55 cuisine: 'italian',56 difficulty: 'easy',57 maxTime: 30,58 mealType: 'dinner',59 count: 560});6162// Find recipes by ingredients63const byIngredients = await skill.findByIngredients(64 ['chicken', 'rice', 'onion'],65 { matchThreshold: 0.7 }66);6768// Get random suggestion69const random = await skill.getRandomRecipe({ dietary: ['vegan'] });7071await skill.close();72```7374## Storage7576- SQLite database in `~/.openclaw/skills/recipe-suggester/`77- Tracks recipe history and favorites78- Stores user preferences for better suggestions