Install
openclaw skills install kitchen-compassBuild and operate a portable Kitchen Compass meal-planning workspace. Use when setting up a Kitchen Compass household data root, converting recipes into the Kitchen Compass markdown contract, building/querying the dinner-and-side catalog, generating weekly dinner plans, or recording meal history without mixing the reusable engine with household-specific data.
openclaw skills install kitchen-compassUse this skill to keep the reusable Kitchen Compass engine separate from household data.
references/recipe-schema.md.references/runtime-contract.md.scripts/contract.py deliberately and then keep the reference docs aligned.references/setup-flow.md.references/recipe-schema.md.references/runtime-contract.md.references/weekly-deal-brief.md.references/user-data-layout.md and references/live-vs-portable-boundary.md.Assume the shell is currently in the installed kitchen-compass skill directory:
cd /path/to/kitchen-compass
Then run scripts from scripts/ against a household data root.
python3 scripts/setup_household.py --data-root /path/to/kitchen-compass-data
This creates the canonical user-data layout and copies the bundled sample recipes under assets/sample-household/ plus _recipe-template.md. The legacy FOOD_BRAIN_DATA_ROOT env var still works but is deprecated — prefer KITCHEN_COMPASS_DATA_ROOT.
python3 scripts/build_recipe_query_index.py --data-root /path/to/kitchen-compass-data
The index builder validates every recipe against the frozen contract before writing the catalog and exits nonzero on any failure. Pass --skip-validation to bypass in a pinch; normal usage should leave it on.
python3 scripts/query_recipes.py --data-root /path/to/kitchen-compass-data --meal-type dinner --wants-side
python3 scripts/manage_inventory.py --data-root /path/to/kitchen-compass-data add --label "Ground beef" --location freezer --kind protein --amount 3 --unit lb
python3 scripts/manage_inventory.py --data-root /path/to/kitchen-compass-data use --item freezer-ground-beef --amount 1 --unit lb --confirmed
python3 scripts/build_weekly_plan.py --data-root /path/to/kitchen-compass-data --preset balanced
python3 scripts/manage_deal_sources.py --data-root /path/to/kitchen-compass-data show
python3 scripts/manage_deal_sources.py --data-root /path/to/kitchen-compass-data add-store --label "Giant - Boot Rd" --retailer giant --source-type circular-url --source-url "https://example.com/circular" --retrieval-step "Resolve saved store before trusting the flyer" --default
python3 scripts/manage_deal_sources.py --data-root /path/to/kitchen-compass-data set-scan-schedule --day-of-week friday --time-local 12:00 --timezone America/New_York
python3 scripts/prepare_weekly_deal_scan.py --data-root /path/to/kitchen-compass-data --week-of 2026-04-21
python3 scripts/render_combined_weekly_deal_sheet.py --data-root /path/to/kitchen-compass-data
python3 scripts/render_weekly_deal_brief.py --data-root /path/to/kitchen-compass-data
python3 scripts/record_meal_history.py --data-root /path/to/kitchen-compass-data --event-type made --recipe burger-bowls
Duplicate events — same (date, recipe, meal_slot, event_type) — are skipped by default with a warning. Pass --allow-duplicate to write anyway, or --replace to substitute the existing event in place.
Every script supports --verbose to print the resolved data root to stderr; alternatively set KITCHEN_COMPASS_VERBOSE=1. Mutation scripts (manage_inventory, manage_deal_sources, record_meal_history, prepare_weekly_deal_scan) support --quiet for a one-line confirmation and --silent for no stdout output.
assets/recipe-template.md is the reusable authored template.assets/sample-household/ is seed content only. It ships with nine sample recipes spanning four protein families, both dinner and side meal types, and a mix of statuses so presets and pairing intel have real data to work with. Replace or expand the set with real household data as needed.