Meal grocery planner
Neutral Israeli meal planning and grocery basket helper for consumers, freelancers, and small businesses.From its SKILL.md
npx -y skills add skillim-hub/skills --skill meal-grocery-plannerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.2 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
Meal and Grocery Planner
Plan Israeli grocery baskets, suggest recipes, compare estimated supermarket costs, and produce order-ready search links for Shufersal, Rami Levy, Victory, and Yochananof. Use the skill for family planning, freelancer events, office refreshments, small-business kitchenette stocking, and weekly consumer budgeting.
Primary outcome
Convert a household or business need into a practical plan:
- Capture constraints: budget, city, diet, kashrut, allergies, delivery preference, pantry inventory, and dates.
- Suggest recipes and meal patterns that match Israeli shopping habits.
- Convert recipes into a consolidated basket.
- Compare estimated costs across supported supermarket chains.
- Produce supermarket search links and a structured shopping list.
- Flag risks before checkout: missing products, minimum order gaps, allergen conflicts, budget overruns, and price freshness.
Supported supermarket targets
| Store key | Chain | Recommended use |
|---|---|---|
shufersal | Shufersal | Broad product coverage, delivery planning, predictable online catalog behavior |
rami_levy | Rami Levy | Budget comparison and household staples |
victory | Victory | Alternative basket pricing and regional availability checks |
yochananof | Yochananof | Value comparison and family-size baskets |
The skill does not place purchases automatically. It creates planning output and search links that must be verified inside the selected supermarket cart.
Web-validated guardrails, accessed 04/06/2026
- Treat the standard Israeli VAT rate as 18% for 2026 planning notes, with final accounting based on the receipt or tax invoice.
- Use official retailer price-transparency files when branch-level price imports are available.
- Treat built-in delivery-fee and minimum-order values as sandbox estimates; verify live values in the supermarket cart.
- Verify allergen and kashrut status on the product label or seller page before purchase.
- Use the Ministry of Economy controlled-prices path when a user asks about suspected overcharging on supervised food products.
Quick command examples
pip install -e .
pip install -r requirements-dev.txt
meal-grocery-planner recipes --env sandbox --diet vegetarian --servings 4
meal-grocery-planner meal-plan --env sandbox --profile family --days 7 --diet low_budget
meal-grocery-planner order --env sandbox --profile family --city "חיפה" --save
Chain an order id into the next command:
create_response=$(meal-grocery-planner order --env sandbox --profile family --city "חיפה" --save)
order_id=$(python -c 'import json,sys; print(json.load(sys.stdin)["order_id"])' <<< "$create_response")
meal-grocery-planner show-order "$order_id" --env sandbox
meal-grocery-planner validate "$order_id" --env sandbox
Python quick start
from meal_grocery_planner import MealGroceryPlannerClient
client = MealGroceryPlannerClient(environment="sandbox", default_city="חיפה")
plan = client.build_meal_plan(
profile="family",
days=7,
meals_per_day=1,
diet="low_budget",
servings=4,
pantry=["אורז פרסי", "שמן זית"],
)
basket = client.create_basket(plan, household_size=4, pantry=["אורז פרסי"])
order = client.create_order_plan(basket, city="חיפה", preferred_stores=["rami_levy", "yochananof"])
print(order["order_id"])
print(order["estimated_total_ils"])
print(order["store_links"])
Async quick start
import asyncio
from meal_grocery_planner import MealGroceryPlannerClient
async def main():
client = MealGroceryPlannerClient(environment="sandbox")
products = await client.async_search_products("עגבניה", store="rami_levy")
print(products[0]["price_ils"])
asyncio.run(main())
Data model
Recipe
A recipe contains a title, serving count, duration, diet tags, ingredients, preparation steps, and operational notes.
Basket line
A basket line contains the original ingredient, matched product, estimated package count, estimated cost in ₪, and substitutions.
Order plan
An order plan contains an id, city, environment, selected stores, line items, estimated totals, warnings, and search links.
Decision tree
flowchart TD
A[Start grocery planning] --> B{Known meal plan?}
B -->|Yes| C[Convert recipes to basket]
B -->|No| D[Select profile, days, diet, budget]
D --> E[Suggest recipes]
E --> C
C --> F{Pantry available?}
F -->|Yes| G[Remove pantry items]
F -->|No| H[Keep all ingredients]
G --> I[Match products]
H --> I
I --> J{Allergy or kashrut constraint?}
J -->|Yes| K[Filter products and flag conflicts]
J -->|No| L[Compare stores]
K --> L
L --> M{Estimated total within budget?}
M -->|Yes| N[Create order plan and links]
M -->|No| O[Suggest substitutions, cheaper recipes, fewer stores]
O --> L
N --> P[Verify final cart before payment]
Workflow decision rules
Budget-first household basket
Use this when a consumer needs a weekly basket under a fixed limit.
- Set
diet="low_budget"when recipe flexibility exists. - Add pantry items before basket generation.
- Use
compare_basketacross all supported stores. - Prefer one store when delivery fees would erase item-level savings.
- If the result exceeds the limit, remove snacks and premium brands before reducing staples.
Small-business kitchenette restock
Use this for offices, clinics, studios, salons, or workshops.
- Use a profile name that identifies the business context.
- Set a weekly or monthly budget.
- Keep shelf-stable items separate from event food.
- Add a minimum stock threshold for coffee, milk, bread, spreads, fruit, and cleaning-adjacent consumables.
- Recheck invoices and receipts separately for accounting classification.
Freelancer event food
Use this for workshops, meetings, and client sessions.
- Count participants, then add a 10 percent buffer.
- Select quick recipes and ready-to-serve items.
- Add allergen exclusions.
- Use
export_shopping_list(locale="he-IL")for a Hebrew picking list. - Keep final supermarket confirmation screenshots or invoices for business records.
Edge cases
| Case | Correct handling |
|---|---|
| Product appears in one store but not another | Keep the ingredient in the basket and add a warning for the missing store |
| Delivery minimum not reached | Add a warning and avoid silently adding unrelated items |
| Pantry quantity unknown | Treat pantry item as available only when the user explicitly lists it |
| Same ingredient appears in many recipes | Consolidate quantity before package rounding |
| Package size is larger than required | Round up package count and show the cost impact |
| Store price feed is stale | Mark results as estimates and request cart verification |
| Allergy exclusion removes every match | Return no match and add a warning rather than substituting blindly |
| Budget is too low for required meals | Suggest cheaper recipe mix, fewer fresh proteins, or store-brand alternatives |
| User needs kosher separation | Do not combine meat and dairy recipes in a single event menu unless explicitly requested |
| City has limited delivery coverage | Provide search links and require manual delivery confirmation |
Troubleshooting summary
| Symptom | Likely cause | Action |
|---|---|---|
| No products returned | Query is too specific or uses a brand spelling variation | Search by generic item name |
| Basket total looks low | Package-size conversion or missing product match | Inspect lines with matched_item = null |
| CLI cannot import package | Package was not installed in editable mode | Run pip install -e . from the package root |
| Async tests fail | Missing async test plugin | Install pytest-asyncio from requirements-dev.txt |
| Hebrew output appears escaped | JSON printer did not disable ASCII escaping | Use json.dumps(..., ensure_ascii=False, indent=2) |
Anti-patterns
Avoid these patterns:
- Treating search links as confirmed cart contents.
- Mixing product prices from different dates without displaying freshness.
- Using one supermarket as the only source for a budget-sensitive recommendation.
- Ignoring delivery fees and minimum-order thresholds shown in the live cart.
- Substituting allergy-sensitive products without explicit confirmation.
- Recommending business expense treatment without receipt classification.
- Hardcoding one city when delivery availability depends on address.
- Hiding missing items inside a total estimate.
Production checklist
Before using output operationally:
- Verify every item inside the supermarket cart.
- Confirm delivery fee, minimum order, and delivery window.
- Confirm current product price and package size.
- Validate allergens and kashrut labels against the product page.
- Keep receipts and invoices outside the planning tool.
- Do not store payment credentials in scripts or examples.
- Use environment variables for any private integration tokens.
- Record the planning date in DD/MM/YYYY format for Israeli users.
- Keep a human approval step before checkout.
- Re-run tests after changing catalog import logic.
What ships with it: 27 files
146.1 KB alongside SKILL.md, 12 of them executable
meal_grocery_planner/
- client.pyruns38.2 KB
- cli.pyruns5.1 KB
- __init__.pyruns561 B
- py.typed1 B
references/
- api-reference.md8.3 KB
- hebrew-qa-log.md2.6 KB
- migration-checklist.md1.5 KB
- test-scenarios.md2.4 KB
- troubleshooting.md3.1 KB
- verification-log.md6.7 KB
- workflow-guide.md3.7 KB
scripts/
- examples/01_family_weekly_basket.pyruns1.1 KB
- examples/02_student_budget_week.pyruns1.1 KB
- examples/03_freelancer_workshop_refreshments.pyruns1.3 KB
- examples/04_allergy_safe_family.pyruns1.2 KB
- examples/05_split_order_links.pyruns1.1 KB
- examples/06_parse_price_feed.pyruns1.0 KB
- meal_grocery_planner_client.pyruns38.2 KB
- meal-grocery-planner-cli.pyruns81 B
- test_meal_grocery_planner_client.pyruns11.2 KB
- CHANGELOG.md2.6 KB
- LICENSE1.0 KB
- metadata.json952 B
- pyproject.toml536 B
- README.md3.5 KB
- requirements-dev.txt44 B
- SKILL_HE.md8.7 KB