Interactive meal planning wizard. Use when user wants to create a meal plan, optimize their diet, set up nutritional constraints, or find foods that meet their goals. Triggers on requests like "create a meal plan", "optimize my diet", "help me plan meals", "I want to lose weight", "high protein diet".
This skill guides users through creating an optimized meal plan using the llmn CLI tool. It uses quadratic programming to find diverse food combinations that satisfy nutritional constraints.
Choose the right mode based on user needs:
| Mode | Command | Best For |
|---|---|---|
| Template-based (recommended) | --template --pattern X | Realistic meals with proper structure |
| Multi-period | --multiperiod | Exact per-meal nutrient control |
| Single-period | (default) | Daily totals only |
Template-based is recommended for most users because it produces meals that look like what humans actually eat (1 protein + 1 legume + vegetables per meal).
Before gathering goals, check if the user has an existing profile:
uv run llmn user show --json
If profile exists with goal set (e.g., goal: "fat_loss:185:165"):
--use-profile flag in Step 4If profile exists without goal:
If no profile exists:
llmn user createIMPORTANT: Always confirm calorie and protein targets with the user BEFORE running any optimization.
Ask the user about their dietary goals. Use the AskUserQuestion tool to collect:
Diet type (one of):
Diet style (one of):
Goal (one of):
Calorie range: Get min/max daily calories
Protein target: Get minimum daily protein in grams
Search for foods that match the user's diet type:
# Check what staple foods are already tagged
uv run llmn tags list --tag staple --json
If few staples are tagged, suggest running the tagging workflow or offer to tag common foods for their diet type.
Create a YAML profile file at /tmp/llmn_profile.yaml: