Calorie Lookup
Analysis
This skill appears aligned with nutrition lookup, but it uses third-party API keys, external/sub-agent processing of food text or photos, and a local cache that users should understand.
Findings (4)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
requests>=2.31.0
The skill depends on a standard HTTP library using a lower-bound version rather than an exact pinned version or lockfile. This is common and purpose-aligned, but it is less reproducible than pinned dependencies.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
USDA_API_KEY = os.getenv("USDA_FDC_API_KEY", "").strip()
SPOONACULAR_API_KEY = os.getenv("SPOONACULAR_API_KEY", "")The skill uses third-party API credentials from environment variables. This is expected for Spoonacular/USDA nutrition lookup, and the artifacts do not show hardcoded keys, credential logging, or unrelated account access.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
Main agent sends raw user text to Decomposer Sub-agent ... Main agent sends photo (and optional text) to `calorie-lookup-image-recognizer` Sub-agent
The workflow shares user-provided food text or photos with sub-agents, including a multimodal image-recognition path. This is disclosed and aligned with the skill's purpose, but users should understand that personal meal details/images may enter that processing flow.
"name_raw": f"{name} {qty}{unit}", ... "kcal": _round(spoon_nutrients["kcal"]), ... cache_set(cache_key, item, SPOONACULAR_ITEM_TTL)Lookup results include the user’s food name and amount and are stored in the local cache. This is expected caching behavior, but it means meal-query details can persist locally until expiry or deletion.
