Luna Calorie Tracker

v1.0.0

Track daily caloric intake by sending food photos. Luna analyzes images using vision AI, estimates calories and macros, and stores everything in memory for d...

0· 317·0 current·0 all-time
bySidney Schwartz@sidneyschwartz

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for sidneyschwartz/luna-calorie-tracker.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Luna Calorie Tracker" (sidneyschwartz/luna-calorie-tracker) from ClawHub.
Skill page: https://clawhub.ai/sidneyschwartz/luna-calorie-tracker
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: OPENAI_API_KEY
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install luna-calorie-tracker

ClawHub CLI

Package manager switcher

npx clawhub@latest install luna-calorie-tracker
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (image-based calorie tracking) match the declared requirement (OPENAI_API_KEY) and the SKILL.md instructions (use vision-capable LLM to identify foods, estimate portions/macros, and store results). There are no unrelated environment variables, binaries, or configuration paths requested.
Instruction Scope
The SKILL.md stays within scope: it instructs the agent to analyze images with its vision capability, produce structured summaries, and read/write memory files under memory/YYYY-MM-DD.md and MEMORY.md. It does not ask the agent to read unrelated system files, access other credentials, or call external endpoints besides the configured model provider (implied).
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so nothing is downloaded or written to disk by the skill itself. That minimizes install-time risk.
Credentials
Only OPENAI_API_KEY is required, which is proportionate for a skill that uses a remote vision-capable LLM. The README mentions other providers (Claude, Gemini) but the registry metadata declares OPENAI_API_KEY as primary — a minor inconsistency but not a security red flag. Be aware that the API key will be used to send images and text to the LLM provider.
Persistence & Privilege
always is false (not force-enabled). The skill reads and writes only its own memory files (daily logs and MEMORY.md) in the agent workspace; it does not request system-wide configuration changes or other skills' credentials.
Assessment
This skill appears internally coherent, but before installing consider: (1) it requires an LLM API key (OPENAI_API_KEY) and will send food photos and metadata to the configured model provider—ensure you're comfortable transmitting sensitive images and health data to that provider; (2) meal data and goals are stored persistently in the agent's memory files (memory/YYYY-MM-DD.md and MEMORY.md), so review or delete those files if you want to remove historical data; (3) the README mentions multiple providers but the skill declares OPENAI_API_KEY — confirm how your agent maps provider credentials and whether any additional configuration is needed; (4) because this is instruction-only, the actual behavior depends on your agent implementation of vision, memory storage, and memory_search; review those platform components and permissions if you need stricter privacy controls.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🍽️ Clawdis
EnvOPENAI_API_KEY
Primary envOPENAI_API_KEY
latestvk97678qdpv0vn3je86tdxq302h826z9b
317downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Luna Calorie Tracker Skill

You are Luna's calorie tracking module. When the user sends a food image, analyze it and track their nutrition.

When the user sends a food image

  1. Analyze the image using your vision capabilities:

    • Identify every food item visible in the image
    • Estimate portion sizes (weight in grams or volume in ml)
    • Calculate: Calories, Protein (g), Carbs (g), Fat (g), Fiber (g)
    • Assign a confidence score (0-1) for the estimate
  2. Respond with a structured summary:

    🍽️ Meal Logged!
    
    📸 Items detected:
    - [Food item 1]: [portion] — [calories] kcal (P: [x]g | C: [x]g | F: [x]g)
    - [Food item 2]: [portion] — [calories] kcal (P: [x]g | C: [x]g | F: [x]g)
    
    📊 Meal Total: [total] kcal
    Protein: [x]g | Carbs: [x]g | Fat: [x]g | Fiber: [x]g
    Confidence: [score]
    
    📅 Daily Running Total: [X] kcal ([meals] meals logged today)
    
  3. Store in memory — append to today's daily log file at memory/YYYY-MM-DD.md with this format:

    ## Meal [N] — [HH:MM]
    - **Items**: [comma-separated food items]
    - **Calories**: [total] kcal
    - **Protein**: [x]g | **Carbs**: [x]g | **Fat**: [x]g | **Fiber**: [x]g
    - **Confidence**: [score]
    
  4. Update the running daily summary at the TOP of that day's memory file:

    # Daily Nutrition Log — [YYYY-MM-DD]
    **Total Calories**: [X] kcal | **Meals**: [N]
    **Protein**: [X]g | **Carbs**: [X]g | **Fat**: [X]g | **Fiber**: [X]g
    ---
    

Slash Commands

When the user types these commands, respond accordingly:

/calories today

Read memory/YYYY-MM-DD.md for today and return the daily summary with all meals.

/calories week

Read the last 7 days of memory/YYYY-MM-DD.md files, compute weekly totals, daily averages, and show a mini bar chart of daily calories:

📊 Weekly Summary ([start] to [end])
Total: [X] kcal | Daily Avg: [X] kcal
Avg Protein: [X]g | Avg Carbs: [X]g | Avg Fat: [X]g

Mon: ████████░░ 1,850 kcal
Tue: ██████████ 2,200 kcal
Wed: ███████░░░ 1,600 kcal
...

/calories goal [number]

Save the user's daily calorie goal to MEMORY.md under a ## Calorie Goal section. Use this goal to show progress in daily summaries (e.g., "1,450 / 2,000 kcal — 72% of daily goal").

/calories history [food]

Search memory files for past entries containing [food] and show when the user last ate it, average calories for that food, and frequency.

/calories undo

Remove the last logged meal from today's memory file and update the daily summary.

Vision Analysis Guidelines

  • When estimating portions, consider plate size as reference (standard dinner plate ~10 inches)
  • Account for hidden calories: cooking oils, sauces, dressings, butter
  • For packaged foods, try to read labels if visible in the image
  • If a food item is ambiguous, state your assumption (e.g., "assuming whole milk, not skim")
  • For restaurant meals, estimate on the higher side (restaurants use more oil/butter)
  • If you truly cannot identify a food, ask the user to clarify

Memory Integration

  • Always read today's existing log before appending to get accurate running totals
  • Use memory_search to find past entries when the user asks about history
  • Store the calorie goal in MEMORY.md so it persists across sessions
  • When compaction runs, ensure daily totals are preserved even if individual meal details are summarized

Comments

Loading comments...