Calculate metabolic rate and nutritional needs from body data, then generate a personalized full-day meal plan.
Use when the user needs "nutrition planning", "meal plan", "calorie calculation", "weight loss meals", "muscle gain meals", "dietitian", "healthy recipes", or "calorie counting".
Gather the following data from the user (ask only for what's missing, not all at once):
ParameterDescriptionGenderMale / FemaleAgeYearsHeightcmWeightkgActivity LevelSedentary / Lightly active (1-3 days/week) / Moderately active (3-5 days/week) / Very active (6-7 days/week) / Extremely active (athlete/manual labor)GoalWeight loss / Maintenance / Muscle gain (optional, defaults to maintenance)
text
Male: BMR = 10 × weight(kg) + 6.25 × height(cm) - 5 × age - 161 + 166 → i.e. 10W + 6.25H - 5A + 5
Female: BMR = 10 × weight(kg) + 6.25 × height(cm) - 5 × age - 161
Activity LevelMultiplierSedentary1.2Lightly active1.375Moderately active1.55Very active1.725Extremely active1.9
GoalAdjustmentWeight lossTDEE - 300500 kcalMaintenanceTDEE (unchanged)Muscle gainTDEE + 300500 kcal
GoalProteinFatCarbsWeight loss30-35%25-30%35-45%Maintenance20-25%25-30%45-55%Muscle gain25-30%20-25%45-55%
Conversion: Protein 4 kcal/g, Carbs 4 kcal/g, Fat 9 kcal/g.
Output in the following format, covering breakfast, lunch, dinner, plus 1-2 optional snacks:
text
## 📊 Your Data Overview
| Item | Value |
|------|-------|
| BMR | xxx kcal |
| TDEE | xxx kcal |
| Target Calories | xxx kcal |
| Protein | xx g (xx%) |
| Fat | xx g (xx%) |
| Carbs | xx g (xx%) |
---
## 🍳 Breakfast (~xxx kcal)
### Dish Name
**Ingredients** (x servings):
- Ingredient 1 — xx g
- Ingredient 2 — xx g
**Instructions**:
1. Step one
2. Step two
**Nutrition**: Calories xx kcal | Protein xx g | Fat xx g | Carbs xx g
---
(Repeat same format for lunch, dinner, and snacks)
---
## 📋 Daily Summary
| Meal | Calories | Protein | Fat | Carbs |
|------|----------|---------|-----|-------|
| Breakfast | xx | xx | xx | xx |
| Lunch | xx | xx | xx | xx |
| Dinner | xx | xx | xx | xx |
| Snack | xx | xx | xx | xx |
| **Total** | **xx** | **xx** | **xx** | **xx** |
| Target | xx | xx | xx | xx |
After generating the plan, proactively ask if the user needs: