Calorie Visualizer

v1.0.0

Local calorie logging and visual reporting (auto-refreshes and returns report image after each log)

2· 688·2 current·2 all-time
byVint@vintlin
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (local calorie logging + visual reports) match the code and files: CLI for adding entries, local SQLite DB, local food DB, renderer that produces a PNG. Declared runtime (python3, html2image + Pillow, local Chromium) is proportional to the reported functionality.
Instruction Scope
SKILL.md and the CLI instruct only local operations (write to calorie_data.db, regenerate local report, output REPORT_IMAGE:<path>). The code also reads USER.md (two directories up by default) to compute TDEE — this is documented in the README/SKILL.md, but it means the skill will attempt to read a workspace-level USER.md for profile data. That behavior is consistent with the feature but is a privacy-sensitive read that users should be aware of. The only external network call is an optional USDA API lookup when USDA_API_KEY is set.
Install Mechanism
There is no opaque download/install script. The repo contains Python scripts and a requirements.txt; the install instructions are to pip install the listed dependencies (html2image, Pillow). This is a low-risk, standard install path. html2image uses a system Chromium runtime (documented).
Credentials
No required environment variables are declared. The code optionally reads USDA_API_KEY (for online food lookup) and CALORIE_VIS_USER_MD (an override path for the USER.md file). Both are reasonable for their purposes, but CALORIE_VIS_USER_MD lets a user-supplied path be read — only set it if you trust the skill. No unrelated secrets or credentials are requested.
Persistence & Privilege
The skill does not request always:true and will not auto-enable itself. It writes local files inside the skill directory (calorie_data.db, daily_report.png, and updates data/food_database.json) which is expected for local persistence. It does not modify other skills or global agent settings.
Assessment
This appears to be a local-only calorie logging/reporting skill that stores data in calorie_data.db and writes daily_report.png inside the skill folder. Before installing: 1) Review whether you’re comfortable the tool will read USER.md in your repository (or any path you set via CALORIE_VIS_USER_MD) to compute TDEE, 2) only set USDA_API_KEY if you want online lookup (it is optional), 3) ensure you have a system Chromium/Chrome runtime for html2image and install the Python deps via requirements.txt, and 4) if you have privacy concerns, inspect the scripts (they are included) — there are no hidden network endpoints or obfuscated code. If you want extra assurance, run the scripts in an isolated environment (container or VM) first.

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

Runtime requirements

📊 Clawdis
OSmacOS · Linux
Binspython3
latestvk97essh05rdy3jfrargrdtw1t581as2h
688downloads
2stars
1versions
Updated 1mo ago
v1.0.0
MIT-0
macOS, Linux

Calorie Visualizer

A local skill for meal logging and visual nutrition analysis.

Core Flow

  1. User sends meal text/photo (upstream extracts calorie/protein values or calls food-db lookup).
  2. add (or add-food) writes to calorie_data.db.
  3. After write, visual_renderer.py generates a fresh report image.
  4. CLI prints REPORT_IMAGE:<path> so the chat layer can send the image.

Daily Goal Priority

  1. config.daily_goal (manual override)
  2. TDEE derived from USER.md
  3. If user explicitly refuses profile data: logging only, no repeated prompting
  4. Fallback default in renderer: 2000 kcal

CLI Commands

# Add a meal with explicit nutrition values
python3 scripts/calorie_visualizer.py add "food name" 500 25 [--photo /path/to/image.jpg]

# Add from local food database (local-first, online fallback optional)
python3 scripts/calorie_visualizer.py add-food "Subway chicken sandwich" --multiplier 1.0
python3 scripts/calorie_visualizer.py add-food "rice" --offline

# Daily summary
python3 scripts/calorie_visualizer.py summary

# Regenerate report image
python3 scripts/calorie_visualizer.py report

# Config
python3 scripts/calorie_visualizer.py config daily_goal 2000
python3 scripts/calorie_visualizer.py config user_refused_profile True

Dependencies

cd skills/calorie-visualizer
python3 -m pip install -r requirements.txt
  • Python libs: html2image, Pillow
  • Online fallback: optional USDA API (USDA_API_KEY)
  • Database: SQLite (built into Python)
  • Rendering: requires system Chromium/Chrome (called by html2image)

Storage

  • calorie_data.db (local SQLite)
  • No automatic external sync

Comments

Loading comments...