Track daily food intake with itemized nutrition logs, barcode lookup, and Open Food Facts search. Use when the user mentions food, meals, calories, macros, protein, barcodes, or wants to log what they ate.
Use this skill when the user wants to log food, scan a barcode, track calories/macros, or maintain a daily nutrition file.
Always read these first:
memory/profile.mdskills/nutrition-tracker/templates/nutrition-log.mdmemory/nutrition/YYYY-MM-DD.mdIf nutrition-relevant fields are missing from the shared profile, ask only for the missing fields you need and update the relevant sections in place. Do not rewrite unrelated sections.
Default nutrition logging preference:
memory/nutrition/YYYY-MM-DD.mdmemory/nutrition-archive/Follow the template exactly when creating a new daily file.
Each daily file should include:
Breakfast, Lunch, Dinner, Snacks / Drinks)high, medium, or low)When the user sends food in text:
Breakfast, Lunch, Dinner, or Snacks / Drinks.If the user sends a barcode number:
/data/skills/nutrition-tracker/scripts/lookup-barcode.sh with args: ["{userName}", "{barcode}"]If the user sends a barcode image:
/data/tmp/..../data/skills/nutrition-tracker/scripts/scan-barcode-image.sh with args: ["{userName}", "{imagePath}"]If the user sends a branded product name without a barcode:
/data/skills/nutrition-tracker/scripts/search-food.sh with args: ["{userName}", "{query}"]Every logged item should clearly state both:
database, label/photo, or estimatehigh, medium, or lowIf a barcode is known, include it in the entry as:
digitsEvery logged item should also belong to one meal category:
BreakfastLunchDinnerSnacks / DrinksMeal category is the main ordering system.
Use this rule set:
High confidence
Medium confidence
Low confidence
Never present an estimate as if it were a confirmed database value.
memory/profile.md rather than duplicating them in each daily nutrition log.estimate in the item source.Notes section by default; put important clarifications inside the relevant entry only.memory/profile.md.Use the MCP run_script tool only.
/data/skills/nutrition-tracker/scripts/lookup-barcode.sh["{userName}", "{barcode}"]Returns JSON with either:
status: "ok" and product nutrition datastatus: "not_found"status: "error"/data/skills/nutrition-tracker/scripts/scan-barcode-image.sh["{userName}", "{imagePath}"]Returns JSON with either:
status: "ok" and one barcodestatus: "multiple_matches"status: "not_found"status: "error"/data/skills/nutrition-tracker/scripts/search-food.sh["{userName}", "{query}"]Returns JSON with either:
status: "ok" and candidate matchesstatus: "no_matches"status: "error"/data/skills/nutrition-tracker/scripts/calculate-totals.sh["{userName}", "YYYY-MM-DD"]Returns JSON with totals derived from the daily nutrition log entries.