Skip to main content

snap

Log meals from food photos or natural language descriptions — infer ingredients, call the nutrition tool immediately, and return full micronutrient detail. Do not estimate nutrition in chat manually.

설치로 이동

소스 정보

저장소
compound-life-ai/Turri
최근 소스 활동
2026년 4월 6일 02:39
감지된 SKILL.md 언어
영어
스타
7
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
snap
description
Log meals from food photos or natural language descriptions — infer ingredients, call the nutrition tool immediately, and return full micronutrient detail. Do not estimate nutrition in chat manually.
user-invocable
true
# Snap Use this skill when: - the user sends a likely food photo - the user describes what they ate or are eating (e.g. "had salmon with rice for lunch", "just grabbed a yogurt and some berries") - the user invokes `/snap` (legacy shortcut) Behavior rules: - Reply in the user's language. - **Always log via the `nutrition` tool.** Never substitute manual text-based nutrition estimation for an actual tool call. The script handles deterministic enrichment (calories, macros, full micronutrients) — your job is to infer ingredients and call the tool, not to play nutritionist in chat. - Infer ingredients and portions, but do not invent detailed nutrient numbers when the script can enrich them deterministically. - After logging, show the **full micronutrient breakdown** in a compact inline format, for example: `Zn 3.2mg · Ca 58mg · VitD 16.4µg · Se 73mcg · Fe 1.8mg · Folate 57µg · Omega-3 1.98g` This level of quantitative detail is a core differentiator — do not abbreviate to just "Notable: Vitamin D". ### When to proceed vs. when to confirm - **Proceed directly (no confirmation needed):** - Photo + any meal context (e.g. "正在吃早餐", "lunch", "having a snack") — the text removes ambiguity. - Natural language description (e.g. "had salmon and rice") — user intent is clear. - Photo where you can confidently identify at least the main dish/food category. - **Ask ONE brief confirmation, then proceed:** - Photo-only (no accompanying text) AND you genuinely cannot identify the food category (e.g. blurry photo, unfamiliar dish, ambiguous container). - The confirmation question should be specific: "這看起來像是優格碗,對嗎?" — not an open-ended ingredient list request. - Any affirmative response ("對", "可以", "是", "幫我判斷", thumbs up) counts as confirmation. After confirmation, **immediately call the tool** with your best estimate. Do not ask again or offer more estimates. - **Never:** Do multiple rounds of estimation-and-confirmation before logging. One round max. If you're wrong, the user can correct after seeing the logged result. Meal-type inference rules: - **Always use the current wall-clock time** (not photo content) as the primary signal for `meal_type`: - 05:00–10:29 → `breakfast` - 10:30–14:29 → `lunch` - 14:30–17:29 → `snack` - 17:30–21:59 → `dinner` - 22:00–04:59 → `snack` - If the user **explicitly states** a meal type (e.g. "this was my breakfast"), use their stated type regardless of the time. - **Never infer meal_type from the visual content of the photo** (e.g. do not classify eggs as "breakfast" if it is dinner time). Logging flow: 1. Infer a meal-level estimate and decompose it into ingredients. 2. For each ingredient, provide: - `name` - either `amount_g` or `portion` - optional `confidence` 3. Only include explicit nutrient fields if the user supplied a trustworthy label, barcode, or exact recipe and you want the script to preserve those values as `provided`. 4. Call the `nutrition` tool with `command: "log"` and `input_json` containing the meal payload: ```json { "command": "log", "input_json": { "timestamp": "2026-03-18T12:30:00-07:00", "meal_type": "lunch", "source": "photo", "photo_ref": "telegram:file-id-or-message-ref", "confidence": 0.82, "notes": "optional free text", "ingredients": [ { "name": "salmon", "amount_g": 150, "confidence": 0.78 } ] } } ``` The logger will: - normalize ingredient names - enrich ingredients from deterministic nutrition data when nutrient fields are omitted - preserve explicitly supplied nutrient values as `provided` - record the nutrient source in storage After logging: - confirm what was logged - show meal calories/macros - show the full micronutrient breakdown (all non-zero micronutrients) in compact inline format - include today's running totals if they are useful - keep the response short unless the user asks for detail Weekly nutrition review: When the user asks about weekly nutrition (e.g. "how's my nutrition looking this week?", "weekly summary"), call the `nutrition` tool: ```json { "command": "weekly_summary", "end_date": "YYYY-MM-DD", "rda_profile": "default" } ``` Present the results as: - daily averages for macros and key micronutrients - percentage of RDA for each nutrient - highlight gaps (below 75% of RDA) and strengths (above 100%) - suggest specific foods to address the biggest gaps
GitHub에서 보기