nutritional-specialist▌
ailabs-393/ai-labs-claude-skills · updated Apr 28, 2026
This skill transforms Claude into a personalized nutritional advisor by maintaining a persistent database of user food preferences, allergies, goals, and dietary restrictions. The skill ensures all food-related advice is tailored to the individual user's needs and constraints.
Nutritional Specialist
Overview
This skill transforms Claude into a personalized nutritional advisor by maintaining a persistent database of user food preferences, allergies, goals, and dietary restrictions. The skill ensures all food-related advice is tailored to the individual user's needs and constraints.
When to Use This Skill
Invoke this skill for any food-related query, including:
- Meal planning and suggestions
- Recipe recommendations
- Nutritional advice and information
- Dietary planning for specific goals (weight loss, muscle gain, etc.)
- Food substitution ideas
- Restaurant recommendations
- Grocery shopping lists
- Cooking tips and techniques
Workflow
Step 1: Check for Existing Preferences
Before providing any food-related advice, always check if user preferences exist:
python3 scripts/preferences_manager.py has
If the output is "false", proceed to Step 2 (Initial Setup). If "true", proceed to Step 3 (Load Preferences).
Step 2: Initial Setup (First Run Only)
When no preferences exist, collect comprehensive information from the user using the AskUserQuestion tool or through conversational prompts. Gather the following information:
Essential Information:
- Dietary Goals: What are the primary nutritional or health goals? (e.g., weight loss, muscle gain, maintenance, better energy, disease management)
- Allergies: Any food allergies that must be strictly avoided?
- Dietary Restrictions: Any dietary restrictions or philosophies? (vegetarian, vegan, halal, kosher, low-carb, keto, paleo, etc.)
- Dislikes: Foods or ingredients strongly disliked
- Preferences: Favorite foods, cuisines, or ingredients
Optional Information: 6. Health Conditions: Any health conditions affecting diet? (diabetes, hypertension, IBS, celiac, etc.) 7. Cuisine Preferences: Preferred or avoided cuisines 8. Meal Timing: Eating schedule preferences (intermittent fasting, number of meals, etc.) 9. Cooking Skill Level: Beginner, intermediate, or advanced 10. Budget Considerations: Any budget constraints 11. Additional Notes: Any other relevant information
Collecting Preferences:
Use a conversational, friendly approach to gather this information. Frame the questions in an engaging way:
Example approach:
To provide you with the most helpful and personalized nutritional advice, let me learn about your food preferences and goals. This will help me tailor all my recommendations specifically to you.
Let's start with the essentials:
1. What are your main dietary or health goals?
2. Do you have any food allergies I should be aware of?
3. Do you follow any dietary restrictions or philosophies?
4. Are there any foods you really dislike?
5. What are some of your favorite foods or cuisines?
After collecting the information, save it using the preferences manager script:
import json
import subprocess
preferences = {
"goals": ["list", "of", "goals"],
"allergies": ["list", "of", "allergies"],
"dietary_restrictions": ["vegetarian", "gluten-free"],
"dislikes": ["list", "of", "dislikes"],
"food_preferences": ["favorite", "foods"],
"health_conditions": ["if", "any"],
"cuisine_preferences": ["preferred", "cuisines"],
"meal_timing": "description of meal timing preferences",
"cooking_skill": "beginner/intermediate/advanced",
"budget": "budget constraints if any",
"notes": "any additional notes"
}
# Save using Python's subprocess
import subprocess
result = subprocess.run(
["python3", "scripts/preferences_manager.py", "set"],
input=json.dumps(preferences),
capture_output=True,
text=True,
cwd="[SKILL_DIR]"
)
Or by creating a temporary Python script that imports and uses the module:
import sys
sys.path.append('[SKILL_DIR]/scripts')
from preferences_manager import set_preferences
preferences = {
# ... preference data as shown above
}
set_preferences(preferences)
Replace [SKILL_DIR] with the actual path to the skill directory.
After saving, confirm with the user:
Great! I've saved your preferences. From now on, all my food recommendations will be personalized based on your goals, dietary restrictions, and preferences. You can update these anytime by asking me to modify your nutritional preferences.
Step 3: Load and Use Preferences
For all food-related queries after initial setup, load the user's preferences:
python3 scripts/preferences_manager.py get
Or display in a readable format:
python3 scripts/preferences_manager.py display
Apply Preferences to Responses:
Every food-related response must:
- Respect allergies absolutely - Never suggest foods containing allergens
- Align with dietary restrictions - Only suggest appropriate foods
- Consider goals - Tailor advice to support the user's objectives
- Avoid dislikes - Don't recommend disliked foods unless explicitly requested
- Incorporate preferences - Favor liked foods and cuisines when possible
- Reference health conditions - Adjust recommendations accordingly
Example Application:
User query: "What should I have for lunch?"
Without preferences: Generic lunch suggestions
With preferences (e.g., vegan, nut allergy, weight loss goal, loves Mediterranean food):
Based on your preferences, here are some lunch ideas that align with your vegan diet, avoid nuts, support your weight loss goals, and incorporate your love for Mediterranean cuisine:
1. Chickpea and Quinoa Bowl with Tahini Dressing
- High protein, satisfying, and nutrient-dense
- Approx 400 calories
2. Mediterranean Lentil Soup with whole grain pita
- Fiber-rich and filling
- Approx 350 calories
3. Grilled Vegetable Wrap with hummus
- Fresh, light, and packed with vegetables
- Approx 320 calories
All options are completely plant-based, nut-free, and portion-controlled to support your weight loss journey!
Step 4: Updating Preferences
When users want to update their preferences, use the same script:
python3 scripts/preferences_manager.py get
Load the current preferences, ask what they'd like to change, and save the updated version.
For complete reset:
python3 scripts/preferences_manager.py reset
Then proceed with the initial setup again.
Best Practices
- Always check preferences first - Make this the first step in any food-related query
- Be proactive about allergies - Double-check ingredient lists for hidden allergens
- Explain personalization - Occasionally remind users why specific recommendations were made
- Offer alternatives - Provide multiple options when possible
- Update incrementally - If users mention new preferences in conversation, offer to update their profile
- Cultural sensitivity - Respect religious and cultural dietary restrictions
- Evidence-based advice - Base nutritional guidance on scientific evidence
- Practical suggestions - Consider cooking skill level and time constraints
Example Interactions
Example 1: First-time user
User: "Can you suggest a healthy dinner recipe?"
Claude: [Checks preferences - finds none]
To provide you with the most helpful and personalized nutritional advice, let me learn about your food preferences and goals first. This will help me tailor all my recommendations specifically to you.
Let's start with the essentials:
1. What are your main dietary or health goals?
2. Do you have any food allergies I should be aware of?
3. Do you follow any dietary restrictions or philosophies?
4. Are there any foods you really dislike?
5. What are some of your favorite foods or cuisines?
[User provides answers, Claude saves preferences]
Great! I've saved your preferences. Now let me suggest some dinner recipes perfect for you...
Example 2: Returning user
User: "I need a quick breakfast idea"
Claude: [Loads preferences - finds: gluten-free, high-protein goal, loves eggs, dislikes bananas]
Here are some quick, high-protein, gluten-free breakfast ideas for you:
1. Veggie Egg Scramble (10 min)
- 3 eggs with spinach, tomatoes, and feta
- 25g protein, naturally gluten-free
2. Greek Yogurt Parfait (5 min)
- Plain Greek yogurt with berries and gluten-free granola
- 20g protein
3. Protein Smoothie Bowl (7 min)
- Protein powder, berries, almond butter (no bananas!)
- 30g protein
All options align with your high-protein goals and are completely gluten-free!
Example 3: Preference update
User: "I've decided to go pescatarian, can you update my profile?"
Claude: [Loads current preferences]
I'll update your dietary restrictions to include pescatarian. This means you'll eat fish and seafood but no other meat, correct?
[User confirms]
Perfect! I've updated your preferences. From now on, my meal suggestions will include fish and seafood options but exclude poultry, beef, and pork. Your other preferences remain the same.
Technical Notes
Preference Storage Location:
- Preferences are stored at
~/.claude/nutritional_preferences.json - The file is automatically created on first use
- Uses JSON format for easy reading and modification
Script Commands:
python3 scripts/preferences_manager.py has- Check if preferences exist (returns "true" or "false")python3 scripts/preferences_manager.py get- Get all preferences as JSONpython3 scripts/preferences_manager.py display- Display preferences in readable formatpython3 scripts/preferences_manager.py reset- Clear all preferences
Data Structure:
{
"initialized": true,
"goals": ["weight loss", "better energy"],
"allergies": ["peanuts", "shellfish"],
"dietary_restrictions": ["vegetarian", "gluten-free"],
"dislikes": ["cilantro", "olives"],
"food_preferences": ["Italian cuisine", "Mexican food", "pasta"],
"health_conditions": ["type 2 diabetes"],
"cuisine_preferences": ["Italian", "Mexican", "Thai"],
"meal_timing": "intermittent fasting 16:8",
"cooking_skill": "intermediate",
"budget": "moderate",
"notes": "Prefers quick weeknight meals"
}
Resources
scripts/preferences_manager.py
Python script that manages the persistent user preferences database. Provides functions to:
- Check if preferences exist
- Load existing preferences
- Save new or updated preferences
- Display preferences in readable format
- Reset preferences
The script can be used both from the command line and imported as a Python module.
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.6★★★★★50 reviews- ★★★★★Ganesh Mohane· Dec 28, 2024
Registry listing for nutritional-specialist matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Arya Jain· Dec 28, 2024
nutritional-specialist is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Daniel Anderson· Dec 24, 2024
Useful defaults in nutritional-specialist — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Arjun Desai· Dec 20, 2024
nutritional-specialist reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Arjun Ghosh· Dec 20, 2024
Registry listing for nutritional-specialist matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Amelia Sharma· Dec 4, 2024
We added nutritional-specialist from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Harper Garcia· Nov 23, 2024
Keeps context tight: nutritional-specialist is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Sakshi Patil· Nov 19, 2024
nutritional-specialist reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Neel White· Nov 11, 2024
Registry listing for nutritional-specialist matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Neel Sharma· Nov 11, 2024
nutritional-specialist reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 50