OpenClaw/clawhub-security-signals huggingface dataset:
Skill: iqbalpak/whatsapp-auto-reply (version 0.1.0)

WhatsApp Auto Reply Skill Description This skill helps generate appropriate replies for WhatsApp conversations. It is designed for private chat assistants, customer service, and personal AI agents. The skill takes a WhatsApp message as input and outputs a natural, polite, and context-aware reply suggestion. Use Cases Personal WhatsApp auto-reply assistant Customer support message drafting Private traffic / community operations AI agent message response planning Input A single WhatsApp message or a short conversation context. Output A suggested reply in natural language, suitable for direct sending or further AI processing. Notes This skill does NOT access WhatsApp directly. It only generates reply suggestions based on provided text.

path: README.md
content: # WhatsApp Auto Reply Skill

## Skill Name
whatsapp_auto_reply

## Description
This OpenClaw skill automatically sends a WhatsApp reply by connecting to an external messaging API. It demonstrates a multi-step autonomous workflow including API communication, message processing, and structured output generation.

## Functionality
- Receive message input
- Call external API
- Send WhatsApp response
- Return structured output to the OpenClaw agent

## Workflow

1. Agent triggers the skill
2. Skill receives message and target phone number
3. Skill calls external WhatsApp API
4. API sends the message
5. Skill returns structured response to the agent

## Input
- `phone_number` (string) – target phone number
- `message` (string) – message content

## Output

```json
{
  "status": "success",
  "api_response": {
    "id": "message_id",
    "delivered": true
  }
}

path: manifest.json
content: {
    "name": "whatsapp_auto_reply",
    "description": "Automatically sends WhatsApp responses using an external API.",
    "version": "1.0.0",
    "entry_point": "skill.py",
    "inputs": {
      "message": "string",
      "phone_number": "string"
    },
    "outputs": {
      "status": "string",
      "api_response": "object"
    }
  }

path: requirements.txt
content: requests>=2.31.0
python-dotenv>=1.0.0

path: skill.py
content: import os
import requests

[REDACTED_SECRET]"WHATSAPP_API_KEY")

def run(input_data):
    phone = input_data["phone_number"]
    message = input_data["message"]

    response = requests.post(
        "https://api.whatsapp-service/send",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "phone": phone,
            "message": message
        }
    )

    return {
        "status": "success",
        "api_response": response.json()
    }

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: nansen-devops/nansen-fund-tracker (version 0.1.0)

--- name: nansen-fund-tracker description: "What are crypto funds and VCs holding right now? Cross-chain fund portfolios and net accumulation signals." metadata: openclaw: requires: env: - NANSEN_API_KEY bins: - nansen primaryEnv: NANSEN_API_KEY install: - kind: node package: nansen-cli bins: [nansen] allowed-tools: Bash(nansen:*) --- # Fund Watch **Answers:** "What are crypto funds and VCs holding right now?" ```bash nansen research smart-money holdings --chain ethereum --labels "Fund" --limit 20 # → token_symbol, value_usd, holders_count, balance_24h_percent_change, share_of_holdings_percent nansen research smart-money holdings --chain solana --labels "Fund" --limit 20 nansen research smart-money netflow --chain ethereum --labels "Fund" --limit 10 # → token_symbol, net_flow_1h/24h/7d/30d_usd, market_cap_usd, trader_count nansen research smart-money netflow --chain solana --labels "Fund" --limit 10 ``` Cross-reference holdings with netflow to see directional conviction. Positive net_flow_24h = active accumulation.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 1477009639zw-blip/betasurvey (version 1.0.0)

--- name: survey-analysis description: AI-powered survey response analysis. Analyzes open-ended survey responses, clusters themes, detects sentiment, and generates actionable insights. Uses BERTopic + GPT-4o-mini. metadata: openclaw: emoji: "📋" requires: bins: [python3] always: false --- # Survey Response Analysis Tool AI-powered analysis of open-ended survey responses. Clusters themes, detects sentiment, generates actionable insights. ## Usage ```bash python3 analyze.py --input responses.csv --output report.md ``` ## Input CSV Format ```csv respondent_id,response 1,"The product is great but delivery is slow" 2,"Amazing quality, fast shipping" 3,"Good but expensive" ``` ## Output ```markdown # Survey Analysis Report ## Sentiment Distribution - Positive: 60% - Neutral: 25% - Negative: 15% ## Top Themes 1. Delivery Speed (mentioned 45%) 2. Product Quality (mentioned 38%) 3. Price Value (mentioned 22%) ## Action Items - Improve delivery logistics - Maintain quality standards ``` ## Notes Requires: python3, pandas, openai (or Anthropic API key)


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: ftlc-ian/openclaw-zulip-channel (version 2026.4.7)

--- name: openclaw-zulip-channel description: Install and configure the OpenClaw Zulip channel plugin from npm. Use when OpenClaw needs to add Zulip support, switch from a local path install to the published npm package, validate Zulip plugin health, or help a user configure Zulip bot credentials, streams, DM policy, and stream behavior. --- # OpenClaw Zulip Channel Install the published npm plugin, wire the `channels.zulip` config, and verify the gateway comes back clean. ## Install or switch to npm Run: ```bash openclaw plugins install openclaw-channel-zulip ``` If a local dev path is overriding the plugin, remove the path override from `plugins.load.paths`, then restart the gateway so only the installed plugin loads. The plugin id is `zulip`, even though the npm package name is `openclaw-channel-zulip`. ## Minimal config Add or verify: ```json { "channels": { "zulip": { "enabled": true, "url": "https://your-org.zulipchat.com", "email": "[REDACTED_SECRET]", "apiKey": "your-zulip-api-key", "streams": ["general"], "dmPolicy": "allowlist", "allowFrom": ["*"] } } } ``` ## Common knobs Use `streams` to control which streams are monitored. Use `requireMention` when the bot should only answer when mentioned in streams. Use `groupPolicy` and `groupAllowFrom` to control stream access. Use `typingMode`, reactions, and block streaming settings for reply behavior. ## Verification After install or config changes: ```bash openclaw gateway restart openclaw doctor --non-interactive ``` Confirm doctor reports `Zulip: ok` and plugin errors are zero. Then do a smoke test with one DM and one stream message. ## Credentials Get the Zulip bot email and API key from Zulip bot settings. Use the organization base URL like `https://your-org.zulipchat.com`. Store secrets in OpenClaw config or supported env vars, not in chat. ## Publish/update notes Publish the npm package separately from this skill. This ClawHub skill is the install and setup wrapper that points people at the published plugin. When the npm package updates, bump this skill version and update any install or config guidance that changed.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jwl1992/audio-editor (version 1.0.0)

# Audio Editor ## Description 音频处理技能，支持剪辑、音量调整、格式转换、提取视频音频等操作。 ## Dependencies - ffmpeg >= 5.0 ## Commands ### edit_audio - Description: 自然语言执行音频处理 - Parameters: - command: 音频处理需求（必填） - output: 输出路径（可选） - Output: 处理后的音频路径 ### extract_audio - Description: 从视频提取音频 - Parameters: - input: 视频路径（必填） - output: 输出音频路径（可选） - Output: 提取的音频路径

path: scripts/audio_run.sh
content: #!/bin/bash
set -e

DEFAULT_OUTPUT="$HOME/openclaw_audio.mp3"

# 提取视频音频
extract_audio() {
    local input="$1"
    local output="${2:-$DEFAULT_OUTPUT}"
    echo "ffmpeg -y -i $input -vn -acodec mp3 $output"
}

# 调整音量
adjust_volume() {
    local input="$1"
    local volume="$2"
    local output="${3:-$DEFAULT_OUTPUT}"
    local vol=$(echo "scale=2; $volume/100" | bc)
    echo "ffmpeg -y -i $input -filter:a \"volume=$vol\" $output"
}

# 自然语言解析
parse_natural_language() {
    local cmd="$1"
    local output="${2:-$DEFAULT_OUTPUT}"
    
    if echo "$cmd" | grep -E "提取音频|视频转音频"; then
        local input=$(echo "$cmd" | grep -oP "~/[^ ]+\.mp4" | head -1)
        extract_audio "$input" "$output"
    elif echo "$cmd" | grep -E "调整音量|加大音量|减小音量"; then
        local input=$(echo "$cmd" | grep -oP "~/[^ ]+\.(mp3|wav)" | head -1)
        local volume=$(echo "$cmd" | grep -oP "音量\d+" | sed 's/音量//' | head -1 || echo "50")
        adjust_volume "$input" "$volume" "$output"
    else
        echo "$cmd"
    fi
}

# 主逻辑
COMMAND="$1"
OUTPUT="${2:-$DEFAULT_OUTPUT}"

AUDIO_CMD=$(parse_natural_language "$COMMAND" "$OUTPUT")
echo "[OpenClaw] 执行音频命令：$AUDIO_CMD"
eval "$AUDIO_CMD"

echo "[OpenClaw] 音频处理完成：$OUTPUT"
echo "$OUTPUT"


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (HIGH)
Skill: midasheng-audio-text-distance (version 1.0.0)

--- name: midasheng-audio-text-distance description: | Multilingual audio-text retrieval and classification using GLAP (General Language Audio Pretraining). Use when user needs to search/match audio files against text descriptions, classify audio content by text queries, or perform cross-lingual audio understanding tasks. Supports sound events, speech, music across 50+ languages. requirements: - curl --- # midasheng-audio-text-distance Contrastive Language-Audio Pretraining (GLAP) based service for multilingual audio-text retrieval and classification. ## 1. Trigger Use this skill when the user wants to: - Match audio files against text descriptions - Classify audio content using natural language queries - Perform zero-shot audio event detection - Search audio by text in any language (supports 50+ languages) ## 2. API Details **Endpoint:** `POST https://llmplus.ai.xiaomi.com/dasheng/audio/search` (multipart form-data) **Parameters:** - `files`: One or more audio files — can specify multiple times - `text`: Comma-separated text descriptions/labels to match against ## 3. Usage ### Basic: Match audio against text labels ```bash curl -X POST "https://llmplus.ai.xiaomi.com/dasheng/audio/search" \ -F "files=@audio1.mp3" \ -F "text=Noise,Speech,A person is speaking" ``` ### Script usage ```bash python3 scripts/audiosearch.py audio1.mp3 --text "Speech,Music,Noise" python3 scripts/audiosearch.py --queue # Check queue status ``` ## 4. Queue Status（排队情况） ### 查询命令 ```bash python3 scripts/audiosearch.py --queue # 或直接调 API： curl -X POST "https://llmplus.ai.xiaomi.com/metrics?path=/dasheng/audio/search" ``` ### 返回字段 - `active`: 当前活跃请求数 - `avg_latency_ms`: 平均处理耗时（毫秒） - 预估等待时长 = active × avg_latency_ms ### 何时调用 1. **IM 即将超时但 search 服务还未返回结果时**：查排队情况告知用户，请用户稍后来问。 2. **用户稍后询问任务进度但服务仍未返回时**：查最新排队情况返回给用户。 ### 状态分级 - 🟢 active=0 或预估等待 <5s → 服务空闲 - 🟡 预估等待 5-30s → 轻微排队 - 🔴 预估等待 >30s → 排队较长，建议稍后重试 ## 5. Supported Audio Formats Common formats: mp3, wav, flac, ogg, m4a. ## 6. Troubleshooting - **Low scores across all labels**: Try broader descriptions - **API request failed**: Verify network connectivity - **Unsupported format**: Convert to mp3 or wav first


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: fangshan101-coder/coupon-rebate (version 0.1.0)

--- name: 券返双省助手 description: 优惠券+返利叠加省钱工具，自动查找可用优惠券并匹配最高返利渠道，双重叠加实现省钱最大化。 version: 0.1.0 --- # 券返双省助手 优惠券与返利双重叠加的省钱工具。购物前自动查找商品可用的优惠券（店铺券、平台券、隐藏券），同时匹配最高返利渠道，两者叠加使用，让每笔订单的省钱效果最大化。 ## 触发词 优惠券返利、券返叠加、领券返利、双重省钱、优惠券+返利、coupon rebate、券返双省、隐藏优惠券、省钱叠加 ## 计划实现能力 ### 核心功能 - **全网优惠券搜索**：自动搜索商品可用的店铺券、平台券、品类券、隐藏券 - **券返叠加计算**：精确计算优惠券+返利叠加后的真实到手价 - **最优组合推荐**：多张券可用时，推荐最优使用组合（有些券不能叠加） - **券返时效提醒**：优惠券即将过期、返利活动即将结束时及时提醒 ### 省钱叠加逻辑 ``` 商品原价 - 平台优惠券（满减/折扣） - 店铺优惠券 - 跨店满减 = 实付金额 × 返利比例 = 返利金额 真实到手价 = 实付金额 - 返利金额 ``` ### 优惠券类型 | 券类型 | 来源 | 叠加规则 | |--------|------|---------| | 店铺券 | 店铺首页领取 | 可与平台券叠加 | | 平台券 | 平台活动页 | 可与店铺券叠加 | | 品类券 | 品类会场 | 部分可叠加 | | 隐藏券 | 内部优惠链接 | 优先级最高 | | 红包 | 签到/活动 | 通常可叠加 | ### 使用场景 1. **日常购物**：下单前一键查询所有可用券+返利，算出最低到手价 2. **大促囤货**：双11/618 多重券叠加计算，找到最优凑单方案 3. **高客单商品**：家电、数码等高价商品，券返叠加省钱效果显著 4. **定期补货**：日用品定期购买，持续追踪最优券返组合 ## 输出格式 ``` 🎫 券返双省方案 商品：[商品名称] 原价：¥[价格] 可用优惠券： ① 店铺券：满[X]减[Y] ② 平台券：满[X]减[Y] ③ 隐藏券：[描述] 返利渠道：[渠道名] 返利 [X]% 实付金额：¥[金额] 返利金额：¥[金额] 真实到手价：¥[最终价格] 总共节省：¥[节省金额]（省 [X]%） ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ivangdavila/reading (version 1.0.0)

--- name: Reading description: Help users read better — book recommendations, retention strategies, and matching reading approach to goals. metadata: category: learning skills: ["reading", "books", "learning", "retention"] --- ## Before Recommending Books - Ask what they've read and liked — recommendations without context waste time - Ask WHY they want to read this topic — learning vs entertainment vs solving specific problem - Ask available time — 10 min/day vs 2 hours changes what to suggest - One great recommendation beats list of 10 — decision paralysis kills action - Consider format: commuter needs audiobook, parent needs short chapters ## Matching Approach to Goal | Goal | Approach | |------|----------| | Extract specific info | Skim, index, targeted chapters | | Deep learning | Slow read, notes, re-read sections | | Entertainment | Linear, don't interrupt flow | | Deciding if worth reading | First chapter + reviews + summary | | Research a topic | Multiple books, cross-reference | Don't assume they need to read cover-to-cover — ask what they actually need. ## Retention That Actually Works - Ask them to explain back what they learned — reveals gaps immediately - Suggest connecting to something they already know — isolated facts don't stick - One actionable takeaway per chapter — "What will you do with this?" - Revisit after 1 week: "What do you remember?" — spaced recall beats rereading - Writing summary in own words beats highlighting — active processing required ## When to Suggest Quitting - They've given it 50+ pages and aren't engaged — sunk cost isn't reason to continue - They're forcing themselves — reading shouldn't feel like punishment - The book is above/below their current level — suggest alternative at right level - Their goal can be met faster — summary, article, or different book might serve better ## Common Assistance Mistakes - Recommending classics because "should read" — match to their actual interests - Long book lists that overwhelm — curate ruthlessly, one next read - Assuming physical book when audiobook fits their life better - Not asking about past reading failures — "I always start but never finish" needs different approach - Treating all books as equal time investment — 200 pages ≠ 600 pages


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cinience/volcengine-ai-text-ark-chat (version 1.0.0)

--- name: volcengine-ai-text-ark-chat description: Text generation and chat completion on Volcengine ARK. Use when users need long-form writing, summarization, extraction, rewriting, Q&A, or prompt optimization with ARK text models. --- # volcengine-ai-text-ark-chat Execute text/chat tasks on Volcengine ARK with stable parameter defaults and reproducible request templates. ## Execution Checklist 1. Verify `ARK_API_KEY`, endpoint ID, and region. 2. Clarify task type (chat, summarize, rewrite, extract). 3. Set safe defaults (`temperature`, `max_tokens`, `top_p`). 4. Return output plus key parameters used. ## Minimal Request Template ```bash curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \ -H "Authorization: Bearer $ARK_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "ep-xxxx", "messages": [{"role":"user","content":"请总结这段文本"}], "temperature": 0.2 }' ``` ## References - `references/sources.md`

path: agents/openai.yaml
content: interface:
  display_name: "Volcengine ARK Text Chat"
  short_description: "Generate and optimize ARK text outputs"
  default_prompt: "Use $volcengine-ai-text-ark-chat to answer this text task with ARK."


path: references/sources.md
content: # Sources

- Volcengine ARK API docs (Chat Completions)
- Volcengine authentication and endpoint docs


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tato447/longxia-zhipin (version 1.0.0)

--- name: longxia-zhipin description: 面向招聘与团队搭建场景的技能编排助手。用户提供公司名称、行业赛道或公司类型时，先检索公司与岗位画像信息，再在 claw.ai / ClawHub 搜索可用技能，产出“可一键安装”的角色技能包建议，并在用户确认后执行安装。适用于初次搭建 AI 团队角色、按行业快速选型技能、以及基于公司背景做技能组合推荐。 --- # 龙虾直聘 ## 核心目标 把用户的一句话输入（公司名或公司类型）转成可执行的技能安装方案： 1) 找到公司/行业事实信息。 2) 在 claw.ai 与 ClawHub 中检索可用 skill。 3) 组装一键安装包建议。 4) 用户确认后执行安装并回报结果。 ## 标准工作流 ### Step 1: 收集最小输入 - 接受任一输入即可开始：`公司名称`、`公司类型`、`行业关键词`。 - 若信息不足，最多补问 1 次，只问最关键缺口： `你的目标偏向销售获客、研发交付、招聘面试，还是运营增长？` ### Step 2: 检索公司与行业信息 - 当用户给出公司名时，先检索：主营业务、规模阶段、目标客户、典型岗位。 - 当用户只给出公司类型时，检索：该类型公司常见部门分工与关键角色。 - 输出 3-6 条与技能选型直接相关的事实，避免冗长背景。 - 必须先按 [行业分类词库](./references/industry-taxonomy.md) 完成一级分类，再进入技能检索。 ### Step 3: 在 claw.ai / ClawHub 搜索技能 - 使用公司画像里的关键词作为检索词，至少覆盖这三类角色： `业务角色`、`交付角色`、`增长角色`。 - 每类角色至少找到 1 个候选 skill，记录： `skill 名称`、`用途`、`适配原因`、`安装入口或标识`。 - 优先选择描述清晰、用途明确、和用户场景直接匹配的技能。 ### Step 4: 产出“一键安装包”建议 - 按“基础包 + 增强包”输出，默认 3-6 个 skill： `基础包`：保证最小可用团队能力。 `增强包`：提升效率或扩展场景。 - 明确每个 skill 对应的角色归属（如招聘官、销售、产品、工程、运营）。 - 标注安装顺序（先基础后增强）。 ### Step 5: 二次确认并安装 - 在执行安装前必须显式确认，使用固定问题： `以上是为你生成的一键安装包，是否现在开始安装？（回复：确认安装 / 调整方案）` - 用户回复“确认安装”后再安装；若用户要求调整，先改方案再确认。 - 安装完成后输出： `已安装`、`安装失败`、`跳过` 三类结果，并给出下一步建议。 ### Step 6: 失败自动回退 - 任一 skill 安装失败时，立即从同角色候选列表中选择 1 个备选 skill。 - 回退后再次提示用户确认： `检测到部分技能安装失败，已为对应角色匹配备选技能，是否继续安装备选方案？（回复：继续回退安装 / 暂停）` - 用户确认“继续回退安装”后执行；若用户选择“暂停”，仅输出当前成功项与待处理项。 ## 响应模板 按以下结构回复，保证可读与可执行： 1. `公司/行业画像摘要` 2. `检索到的候选 Skills（按角色分组）` 3. `龙虾直聘一键安装包` 4. `请确认是否安装` - 用户要求英文输出时，使用 [English Output Templates](./references/output-templates-en.md)。 ## 约束与质量标准 - 不编造不存在的 skill；无法确认时标记为“待人工确认”。 - 推荐理由必须与公司画像事实一一对应。 - 优先少而精，不堆砌技能数量。 - 安装前必须确认，禁止默认自动安装。 - 优先参考 [角色技能包手册](./references/role-pack-playbook.md) 做角色覆盖检查。 - 行业判断优先使用 [行业分类词库](./references/industry-taxonomy.md) 的关键词命中规则。 ## 示例触发语句 - `我们是做跨境电商的，给我配一套团队技能包` - `公司叫XX科技，想快速搭建销售+运营+客服角色` - `我只知道我们是ToB SaaS公司，帮我搜技能并打包安装`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: hades-ye/x402-payment-demo (version 1.0.2)

--- name: x402-payment-demo description: "Demo of x402 payment protocol by fetching a protected image. Triggers: 'demo x402-payment'" version: 1.0.2 author: open-aibank metadata: {"clawdbot":{"emoji":"🖼️","triggers":["demo x402-payment", "show me x402 demo"]}} tags: [x402, demo, payment, tron, image] arguments: network: description: "TRON network to use (nile, shasta, mainnet). Default: nile" required: false --- # x402 Payment Demo Skill This skill demonstrates the x402 payment protocol on the TRON network. ## Usage Simply tell the Agent: - "demo x402-payment" ## Workflow 1. **Request Resource**: When triggered, follow the instructions provided by the `x402-payment-tron` skill to fetch the protected resource. **Use Tron Nile by default**: - **Tron Nile (Default)**: `https://x402-tron-demo.aibank.io/protected-nile` - **Tron Shasta**: `https://x402-tron-demo.aibank.io/protected-shasta` - **Tron Mainnet**: `https://x402-tron-demo.aibank.io/protected-mainnet` 2. **Handle Payment**: Perform the payment and resource acquisition automatically as guided by the protocol (handling 402 Payment Required, signing permits, etc.). 3. **Display & Cleanup**: Once the image is retrieved, present it to the user. Immediately delete the local temporary file after the image has been displayed.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: shoumiksaha/travel-manager-pro (version 1.0.2)

--- name: travel-manager-pro description: Comprehensive travel planning, booking, and management skill. Use when needing to plan international trips, manage multi-destination itineraries, handle family travel logistics, optimize travel costs, and coordinate complex travel arrangements. --- # Travel Manager Pro Skill ## Core Capabilities - International trip planning - Multi-destination itinerary creation - Family travel logistics - Cost optimization - Travel document management ## Workflow Steps 1. Destination Analysis 2. Route Optimization 3. Cost Calculation 4. Document Preparation 5. Booking Coordination ## Key Considerations for Family Travel - Child-friendly routes - Stopover comfort - Baggage requirements - Age-specific travel needs ## References - [Family Travel Checklist](references/family-travel-checklist.md) - [International Travel Documents](references/travel-documents.md) - [Airline Comparison Matrix](references/airline-matrix.md) ## Usage Examples - "Plan a family trip to Korea and Japan" - "Find the most cost-effective international travel route" - "Prepare travel documents for a multi-country trip" skiing crimea thursday probably everton dublin incoming indeed aye correct conversely traveled exciting denotes enjoying experiencing whatever weeks places word


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ivangdavila/food (version 1.0.1)

--- name: "Food Tracker" description: "Your intelligent food system. Absorbs, analyzes, and organizes everything you eat." version: "1.0.1" changelog: "Preferences now persist across skill updates" --- ## Intelligent Food Absorption This skill absorbs ANY food input, auto-classifies it, and organizes for insights. **Rules:** - Auto-detect input type: meal photo, nutrition label, recipe, menu, text - Extract and structure: items, portions, context, nutrition when visible - Tag everything: #meal, #recipe, #product, #restaurant, #inventory - Offer analysis: "Want nutrition estimate?" — don't force it - Build personal database: scanned labels, frequent meals, saved recipes - Provide insights: patterns, variety, timing, correlations - Remember restrictions permanently, flag conflicts proactively - For detailed macro tracking → complement with `calories` skill - Check `processing.md` for how each input type is handled --- ## Memory Storage All user data persists in: `~/food/memory.md` **Format:** ```markdown ### Preferences <!-- Their food preferences and restrictions. Format: "item: type" --> <!-- Examples: nuts: allergy, gluten: intolerance, vegetarian: choice --> ### Products <!-- Scanned/saved products for quick-log. Format: "product: cal/serving" --> <!-- Examples: Hacendado yogurt: 120/170g, Oatly oat milk: 45/100ml --> ### Patterns <!-- Detected eating patterns. Format: "pattern" --> <!-- Examples: breakfast ~8am, snacks after 10pm, eats out Fridays --> ### Places <!-- Restaurants and spots. Format: "place: notes" --> <!-- Examples: Noma: loved fermented plum, Local Thai: go-to takeout --> ### Recipes <!-- Saved recipes. Format: "dish: key info" --> <!-- Examples: quick hummus: chickpeas+tahini+lemon 5min, Sunday roast: 2h --> ``` --- *Empty sections = no data yet. Absorb, classify, organize.* **Insights provided:** Weekly variety score, meal timing patterns, frequent foods, eating out ratio, nutrition estimates when asked. Not medical advice.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)