meal-tracker
Installation
SKILL.md
Meal Tracker
Log meals from a photo or a text description, track calories and macros against the user's daily budget, and keep a dated markdown food log.
Setup (ask once, then remember)
- Daily calorie target and optional macro targets (protein/fat/carbs in grams).
- Log location — the user's notes app or a folder (for example an Obsidian vault,
~/Food Logs, or their notes directory). Ask once; do not assume a path. - If the user later changes the target, update the stored value and the current log header.
Meal logging workflow
Photo input (user sends image)
- Use
vision_analyzewith the image — ask: "Identify each food item, estimate portion sizes in common units (oz, cups, pieces), and provide calorie + macro breakdown per item." - If the photo is clearly a Nutrition Facts label, skip broad estimation and use the exact visible label values: serving size, calories, protein, fat, carbs, and useful notes (sodium/fiber/sugar). Treat one visible bag/container as one serving unless the user says otherwise.
- If the user combines text + image (e.g. "add 1 coffee and this"), log both in the same timestamped meal/snack section.
- For quick repeated "Add" messages with a label photo, use the visible label values, append a timestamped snack/drink section to today's log, recalculate totals, and verify the file. Do not ask for product names when the label gives enough to log an accurate entry.
- A bare food/label image after an active food-log exchange is an implicit "add this" — log one serving/container from the visible label unless the image suggests multiple servings.
- If today's log is missing but the chat already contains same-day entries, reconstruct the daily log from the conversation before appending.
- Parse the response into structured entries, log to the daily file, and report: items logged, calories used, remaining for the day.