openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > ClawCoach Food

Food photo analysis and meal logging for ClawCoach. Send a photo of your meal and get instant macro breakdown via Claude Vision.

媒体与内容

作者:Niko Vijayaratnam @authoredniko

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.1

统计:⭐ 0 · 398 · 0 current installs · 0 all-time installs

0

安装量(当前) 0

🛡 VirusTotal :良性 · OpenClaw :良性

Package:authoredniko/clawcoach-food

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :良性

OpenClaw 评估

The skill is internally coherent for a photo-based meal-logging tool (it reasonably needs an Anthropic API key and stores logs locally), but it reads/writes local files and sends images to an external model provider — the skill should explicitly declare those file paths and data flows so you can make an informed choice.

目的

Name and description match the declared requirement (ANTHROPIC_API_KEY) for using Claude Vision; asking for an Anthropic key is appropriate. However, the skill operates on local files (~/.clawcoach/food-log.json and ~/.clawcoach/profile.json) but the registry metadata did not declare any required config paths — the use of those local paths should have been declared.

说明范围

SKILL.md explicitly instructs the agent to analyze images (using vision capabilities), to write confirmed meals to ~/.clawcoach/food-log.json, and to read targets from ~/.clawcoach/profile.json. Those actions are within the stated purpose (meal logging) but they involve reading and writing files in the user's home directory and sending image data to an external model provider; the file I/O and external transmission are material privacy/securit…

安装机制

Instruction-only skill with no install spec and no code files — lowest-risk install footprint. Nothing will be written to disk by an installer beyond the agent using the instructions at runtime.

证书

Only ANTHROPIC_API_KEY is required (appropriate for Claude Vision usage). No unrelated credentials or broad environment access are requested.

持久

always:false (normal). The skill will create/read files under ~/.clawcoach which is expected for a local meal logger; it does not request system-wide changes or other skills' credentials. Note that the skill is allowed to be invoked autonomously by the agent by default (disable-model-invocation:false) — this is platform-normal but increases the importance of understanding data flows.

综合结论

This skill appears to do what it says: it uses Claude Vision (Anthropic) to analyze meal photos, confirms with the user, and stores confirmed meals in ~/.clawcoach/food-log.json while reading targets from ~/.clawcoach/profile.json. Before installing: 1) Confirm you are comfortable with images being sent to Anthropic (the ANTHROPIC_API_KEY implies outbound image/text data will go to that provider). 2) Be aware that the skill will create and mod…

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「ClawCoach Food」。简介:Food photo analysis and meal logging for ClawCoach. Send a photo of your meal a…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/authoredniko/clawcoach-food/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: clawcoach-food
description: Food photo analysis and meal logging for ClawCoach. Send a photo of your meal and get instant macro breakdown via Claude Vision.
emoji: "U0001F4F8"
user-invocable: true
homepage: https://github.com/clawcoach/clawcoach
metadata:
  openclaw: {"requires": {"env": ["ANTHROPIC_API_KEY"]}}
---

# ClawCoach Food — Photo Analysis & Meal Logging

This skill handles food photo analysis via Claude Vision, text-based meal logging, and the confirmation flow.

## When to Activate

- User sends a photo — assume it is food unless context clearly suggests otherwise
- User types a food description ("I had 2 eggs and toast for breakfast")
- User says "log [food]" or "I ate [food]"
- User wants to edit or delete a previous meal

## Data Storage

All meals are stored in `~/.clawcoach/food-log.json` with this structure:

```json
{
  "meals": [
    {
      "id": "2026-02-22-lunch-001",
      "date": "2026-02-22",
      "type": "lunch",
      "status": "confirmed",
      "items": [
        {
          "name": "grilled chicken breast",
          "portion": "6 oz",
          "calories": 280,
          "protein_g": 52,
          "fat_g": 6,
          "carbs_g": 0
        }
      ],
      "total_calories": 520,
      "total_protein_g": 62,
      "total_fat_g": 14,
      "total_carbs_g": 48,
      "source": "photo",
      "timestamp": "2026-02-22T12:35:00Z"
    }
  ]
}
```

## Photo Analysis Flow

When the user sends a photo:

1. **Analyze the image** using your vision capabilities. Identify every distinct food item visible. For each item estimate:
   - Name (be specific: "grilled chicken breast" not just "chicken")
   - Portion in common units (oz, cups, pieces, slices)
   - Calories and macros (protein, fat, carbs in grams)

   Use your nutritional knowledge. For common foods, these are well-established values. Be conservative with portions if uncertain.

2. **Present the results** in the user's persona voice:
   - List each item with portion and macros
   - Show meal total
   - Show daily running totals (consumed / target / remaining)
   - Ask: "confirm? (yes / edit / redo)"

3. **Handle response:**
   - **"yes" / "confirm"** — Write the meal to `~/.clawcoach/food-log.json` with status "confirmed"
   - **Correction** (e.g., "the rice was brown rice" or "it was more like 8oz") — recalculate and present updated totals
   - **"redo"** — ask for a new photo or text description

4. After confirmation, always show updated daily totals.

## Text-Based Logging

When the user describes food in text:

1. Parse the food items and estimate portions from the description
2. Calculate macros for each item using your nutritional knowledge
3. Follow the same confirmation flow as photo analysis

## Meal Type Auto-Detection

Categorize meals by time:
- Before 10:00 = breakfast
- 10:00 - 14:00 = lunch
- 14:00 - 17:00 = snack
- After 17:00 = dinner

The user can override: "log this as a snack"

## Editing and Deleting

- "Delete my lunch" — find today's lunch entry, remove it from food-log.json
- "I think that was more like 400 calories" — update the specific meal entry
- "What did I eat today?" — list all confirmed meals for today with totals

## Daily Totals

After any meal is confirmed, calculate and show:
1. Read profile from `~/.clawcoach/profile.json` for targets
2. Sum all confirmed meals for today from food-log.json
3. Display:
   - **Consumed**: X cal | Xg protein | Xg fat | Xg carbs
   - **Target**: X cal | Xg protein | Xg fat | Xg carbs
   - **Remaining**: X cal | Xg protein | Xg fat | Xg carbs

## Edge Cases

- **Blurry or unclear photo**: "I can't quite make out the food. Try a better lit photo, or just tell me what you had."
- **Non-food photo**: "That doesn't look like food! Send a photo of your meal, or type what you ate."
- **Unknown food**: Ask the user for clarification rather than guessing wildly.
- **Multiple items unclear**: "I can see chicken and something else — is that rice or pasta?"
- **No portion visible**: Use standard serving sizes and note: "I estimated a standard portion — let me know if it was more or less."

## Nutritional Reference (Common Foods per 100g)

Use these as a baseline. Scale by estimated portion size.

| Food | Cal | Protein | Fat | Carbs |
|------|-----|---------|-----|-------|
| Chicken breast (grilled) | 165 | 31 | 3.6 | 0 |
| Salmon (baked) | 208 | 20 | 13 | 0 |
| White rice (cooked) | 130 | 2.7 | 0.3 | 28 |
| Brown rice (cooked) | 123 | 2.7 | 1.0 | 26 |
| Pasta (cooked) | 131 | 5 | 1.1 | 25 |
| Broccoli (steamed) | 35 | 2.4 | 0.4 | 7 |
| Egg (whole, large ~50g) | 155 | 13 | 11 | 1.1 |
| Avocado | 160 | 2 | 15 | 9 |
| Sweet potato (baked) | 90 | 2 | 0.1 | 21 |
| Greek yogurt (plain) | 59 | 10 | 0.7 | 3.6 |
| Banana (~120g) | 89 | 1.1 | 0.3 | 23 |
| Oats (cooked) | 68 | 2.4 | 1.4 | 12 |
| Bread (white, per slice ~30g) | 265 | 9 | 3.2 | 49 |
| Cheese (cheddar) | 403 | 25 | 33 | 1.3 |
| Almonds | 579 | 21 | 50 | 22 |
| Olive oil (1 tbsp ~14ml) | 884 | 0 | 100 | 0 |
| Pizza (pepperoni, per slice) | 298 | 12 | 14 | 30 |
| Burger (quarter lb w/ bun) | ~550 | 30 | 30 | 40 |
| Steak (sirloin) | 206 | 26 | 11 | 0 |
| Tofu (firm) | 144 | 17 | 9 | 3 |
| Lentils (cooked) | 116 | 9 | 0.4 | 20 |
| Milk (whole, 250ml) | 61 | 3.2 | 3.3 | 4.8 |
| Protein shake (~1 scoop) | ~120 | 25 | 1.5 | 3 |

For foods not on this list, use your general nutritional knowledge. Be transparent when estimating.

## Important

- Always present macros rounded to whole numbers
- Always show daily running totals after confirming a meal
- The persona voice comes from clawcoach-core — match it in all responses
- Never log a meal without user confirmation
- Generate unique meal IDs as: `{date}-{meal_type}-{sequence}`