diff --git a/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/SKILL.md b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/SKILL.md new file mode 100644 index 00000000..a06559a3 --- /dev/null +++ b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/SKILL.md @@ -0,0 +1,116 @@ +--- +name: healthy-meal-planner +description: A comprehensive meal planning tool for creating customized weekly meal plans based on dietary preferences, budget constraints, cooking time limits, and nutritional requirements. Use when users need personalized meal plans for specific diets (vegan, vegetarian, omnivore), budget targets, cooking time restrictions, or fitness goals (muscle gain, weight loss, maintenance). +--- + +# Healthy Meal Planner + +## Overview + +This skill helps users create customized weekly meal plans tailored to their specific needs, including dietary restrictions, budget limits, cooking time constraints, and fitness goals. The planner generates balanced meal plans with nutritional information, ingredient lists, and simple recipes. + +## Core Capabilities + +### 1. Dietary Preferences Support +- Vegan, vegetarian, omnivore, pescatarian, keto, paleo, gluten-free, dairy-free diets +- Custom ingredient exclusions (e.g., no mushrooms, no nuts) + +### 2. Budget Planning +- Set weekly or daily budget limits +- Generate cost-effective meal plans using affordable ingredients +- Provide detailed cost breakdowns per meal and weekly total + +### 3. Time Constraints +- Quick meals (under 30 minutes) +- Advanced prep options +- Batch cooking recommendations + +### 4. Fitness Goals +- Muscle gain (high protein) +- Weight loss (calorie deficit) +- Maintenance (balanced nutrition) +- Custom macro targets + +## Workflow + +### Step 1: Gather User Requirements +When a user requests a meal plan, ask for: +1. Number of people +2. Dietary preferences and restrictions +3. Weekly budget +4. Maximum cooking time per meal +5. Fitness goals (if any) +6. Ingredient exclusions + +### Step 2: Generate Meal Plan +Use the gathered information to create a 7-day meal plan including: +- Breakfast, lunch, dinner, and optional snacks +- Detailed recipes with cooking instructions +- Ingredient shopping list organized by store section +- Nutritional information per meal and daily totals +- Cost breakdown per meal and weekly total + +### Step 3: Review and Adjust +Present the meal plan to the user and offer adjustments: +- Swap specific meals +- Adjust portion sizes +- Modify recipes based on available ingredients +- Update budget or time constraints + +## Example Usage + +**User Request:** +"Create a 7-day vegan meal plan for 2 people with $350 weekly budget, all meals under 30 minutes, no mushrooms, focused on muscle gain." + +**Response:** +Generate a complete weekly plan with: +- High-protein vegan meals (tofu, tempeh, lentils, chickpeas, seitan) +- 30-minute or less preparation time +- Detailed ingredient list with cost estimates +- Nutritional info highlighting protein content +- Simple cooking instructions + +## Reference Files + +- `vegan_protein_sources.md`: Comprehensive list of high-protein vegan ingredients and their costs +- `quick_meal_recipes.md`: Collection of 30-minute or less recipes for various diets +- `budget_ingredient_guide.md`: Tips for creating cost-effective meal plans + +## Resources + +This skill includes example resource directories that demonstrate how to organize different types of bundled resources: + +### scripts/ +Executable code (Python/Bash/etc.) that can be run directly to perform specific operations. + +**Examples from other skills:** +- PDF skill: `fill_fillable_fields.py`, `extract_form_field_info.py` - utilities for PDF manipulation +- DOCX skill: `document.py`, `utilities.py` - Python modules for document processing + +**Appropriate for:** Python scripts, shell scripts, or any executable code that performs automation, data processing, or specific operations. + +**Note:** Scripts may be executed without loading into context, but can still be read by Claude for patching or environment adjustments. + +### references/ +Documentation and reference material intended to be loaded into context to inform Claude's process and thinking. + +**Examples from other skills:** +- Product management: `communication.md`, `context_building.md` - detailed workflow guides +- BigQuery: API reference documentation and query examples +- Finance: Schema documentation, company policies + +**Appropriate for:** In-depth documentation, API references, database schemas, comprehensive guides, or any detailed information that Claude should reference while working. + +### assets/ +Files not intended to be loaded into context, but rather used within the output Claude produces. + +**Examples from other skills:** +- Brand styling: PowerPoint template files (.pptx), logo files +- Frontend builder: HTML/React boilerplate project directories +- Typography: Font files (.ttf, .woff2) + +**Appropriate for:** Templates, boilerplate code, document templates, images, icons, fonts, or any files meant to be copied or used in the final output. + +--- + +**Any unneeded directories can be deleted.** Not every skill requires all three types of resources. diff --git a/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/budget_guide.md b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/budget_guide.md new file mode 100644 index 00000000..1613c189 --- /dev/null +++ b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/budget_guide.md @@ -0,0 +1,46 @@ +# Budget Meal Planning Guide + +## Cost-Saving Strategies + +1. **Buy in bulk**: Legumes, rice, oats, and frozen vegetables are cheaper in bulk +2. **Use frozen vegetables**: More affordable than fresh and longer shelf life +3. **Seasonal produce**: Buy fruits and vegetables when they're in season +4. **Generic brands**: Often cheaper than name brands with similar quality +5. **Meal prep**: Cook large batches to save time and reduce food waste +6. **Plan around sales**: Check weekly flyers for discounted items + +## Price Estimates for Common Ingredients + +| Ingredient | Price per kg | Serving size | Cost per serving | +|------------------|--------------|--------------|-----------------| +| Lentils | $3.50 | 100g | $0.35 | +| Chickpeas | $4.00 | 100g | $0.40 | +| Tofu | $6.00 | 200g | $1.20 | +| Tempeh | $8.00 | 100g | $0.80 | +| Brown rice | $5.00 | 100g | $0.50 | +| Quinoa | $12.00 | 50g | $0.60 | +| Frozen vegetables| $4.00 | 200g | $0.80 | +| Spinach | $5.00 | 100g | $0.50 | +| Broccoli | $6.00 | 150g | $0.90 | + +## Weekly Budget Breakdown (2 people) + +### $350 Weekly Budget +- **Daily total**: $50.00 +- **Per meal**: $8.33 (3 meals/day) +- **Shopping strategy**: Focus on affordable proteins (lentils, chickpeas, tofu), use frozen vegetables, buy grains in bulk + +### Cost-Saving Meal Combinations +- Lentil curry with rice and frozen vegetables ($3.00/serving) +- Chickpea and quinoa salad ($2.80/serving) +- Tofu stir-fry with brown rice ($4.00/serving) +- Bean and vegetable soup with whole grain bread ($2.50/serving) + +## Tips for Sticking to Budget + +1. **Make a shopping list** and stick to it +2. **Avoid impulse buys** - especially pre-packaged convenience foods +3. **Check pantry first** to use what you already have +4. **Cook at home** instead of eating out +5. **Batch cook** grains and legumes to save time and money +6. **Use leftovers** for lunches or next day's dinner \ No newline at end of file diff --git a/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/quick_meal_recipes.md b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/quick_meal_recipes.md new file mode 100644 index 00000000..3baa3160 --- /dev/null +++ b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/quick_meal_recipes.md @@ -0,0 +1,85 @@ +# Quick Vegan Protein Recipes (Under 30 Minutes) + +## Tofu Stir-Fry +**Prep time:** 25 minutes +**Protein per serving:** 28g +**Cost per serving:** $4.50 + +**Ingredients:** +- 200g firm tofu, pressed and cubed +- 2 cups mixed stir-fry vegetables (bell peppers, broccoli, carrots) +- 30g soy sauce +- 15g sesame oil +- 2 cloves garlic, minced +- 1 tsp ginger, grated +- 50g cooked brown rice + +**Instructions:** +1. Press tofu and cut into cubes +2. Heat sesame oil in a pan, cook tofu until golden +3. Add garlic, ginger, and vegetables, stir-fry 5 minutes +4. Add soy sauce, cook 2 minutes +5. Serve over brown rice + +## Lentil and Chickpea Salad +**Prep time:** 20 minutes +**Protein per serving:** 22g +**Cost per serving:** $3.20 + +**Ingredients:** +- 100g cooked lentils +- 100g chickpeas, rinsed +- 1 cup cherry tomatoes, halved +- 1/2 cucumber, diced +- 30g olive oil +- 20g lemon juice +- 1 tsp cumin +- 50g quinoa, cooked + +**Instructions:** +1. Combine lentils, chickpeas, tomatoes, cucumber +2. Whisk olive oil, lemon juice, and cumin +3. Toss with salad ingredients +4. Serve over quinoa + +## Tempeh Wrap +**Prep time:** 15 minutes +**Protein per serving:** 25g +**Cost per serving:** $3.80 + +**Ingredients:** +- 100g tempeh, sliced +- 2 whole wheat tortillas +- 1/2 avocado, mashed +- 1 cup spinach +- 1/4 cup shredded carrots +- 20g hummus +- 1 tsp paprika + +**Instructions:** +1. Pan-fry tempeh with paprika until crispy +2. Warm tortillas +3. Spread hummus and mashed avocado on tortillas +4. Add tempeh, spinach, and carrots +5. Roll and serve + +## Chickpea Curry +**Prep time:** 25 minutes +**Protein per serving:** 20g +**Cost per serving:** $3.50 + +**Ingredients:** +- 200g chickpeas, rinsed +- 1 cup coconut milk (light) +- 1 tsp curry powder +- 1/2 onion, diced +- 1 clove garlic, minced +- 100g spinach +- 60g basmati rice, cooked + +**Instructions:** +1. Sauté onion and garlic until soft +2. Add curry powder, cook 1 minute +3. Add chickpeas and coconut milk, simmer 10 minutes +4. Stir in spinach until wilted +5. Serve with rice \ No newline at end of file diff --git a/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/vegan_protein_sources.md b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/vegan_protein_sources.md new file mode 100644 index 00000000..a291ec2a --- /dev/null +++ b/python/01-tutorials/04-agentkit-tools/skills_sandbox/skill-samples/healthy-meal-planner/references/vegan_protein_sources.md @@ -0,0 +1,28 @@ +# High-Protein Vegan Ingredients + +## Legumes +- Lentils: 9g protein/100g, $3.50/kg +- Chickpeas: 7.6g protein/100g, $4.00/kg +- Black beans: 8.8g protein/100g, $4.20/kg +- Kidney beans: 8.7g protein/100g, $4.10/kg + +## Soy Products +- Tofu: 8g protein/100g, $6.00/kg +- Tempeh: 19g protein/100g, $8.00/kg +- Edamame: 11g protein/100g, $12.00/kg +- Seitan: 25g protein/100g, $10.00/kg + +## Grains +- Quinoa: 4.4g protein/100g, $12.00/kg +- Brown rice: 2.6g protein/100g, $5.00/kg +- Oats: 17g protein/100g, $4.50/kg + +## Nuts and Seeds +- Chia seeds: 16.5g protein/100g, $20.00/kg +- Hemp seeds: 31.5g protein/100g, $25.00/kg +- Almonds: 21.2g protein/100g, $30.00/kg + +## Vegetables +- Spinach: 2.9g protein/100g, $5.00/kg +- Broccoli: 2.8g protein/100g, $6.00/kg +- Brussels sprouts: 3.3g protein/100g, $8.00/kg \ No newline at end of file diff --git a/python/01-tutorials/06-agentkit-knowledge/viking_knowledge/agent.py b/python/01-tutorials/06-agentkit-knowledge/viking_knowledge/agent.py index 38b63163..0d3fb275 100644 --- a/python/01-tutorials/06-agentkit-knowledge/viking_knowledge/agent.py +++ b/python/01-tutorials/06-agentkit-knowledge/viking_knowledge/agent.py @@ -27,8 +27,12 @@ from veadk.configs.database_configs import NormalTOSConfig provider = os.getenv("CLOUD_PROVIDER") -if provider and provider.lower() == "byteplus": - ROOT_AGENT_INSTRUCTION = ROOT_AGENT_INSTRUCTION_EN + +ROOT_AGENT_INSTRUCTION = ( + ROOT_AGENT_INSTRUCTION_EN + if provider and provider.lower() == "byteplus" + else ROOT_AGENT_INSTRUCTION_CN + ) # prepare multiple knowledge sources with open("/tmp/product_info.txt", "w") as f: @@ -74,13 +78,15 @@ else: raise ValueError("DATABASE_VIKING_COLLECTION environment variable is not set") +tos_bucket_name = os.environ.get("DATABASE_TOS_BUCKET") +if not tos_bucket_name: + raise ValueError("DATABASE_TOS_BUCKET environment variable is not set") + kb.add_from_files( files=["/tmp/product_info.txt", "/tmp/service_policy.txt"], - tos_bucket_name=os.environ.get("DATABASE_TOS_BUCKET"), + tos_bucket_name=tos_bucket_name, ) -ROOT_AGENT_INSTRUCTION = ROOT_AGENT_INSTRUCTION_CN - # create agent root_agent = Agent( name="vikingdb_agent",