OpenClaw/clawhub-security-signals huggingface dataset:
Skill: bluesyparty-src/csfloat (version 1.0.0)

--- name: csfloat description: Queries csfloat.com for data on skins homepage: https://docs.csfloat.com/#introduction metadata: {"clawdbot":{"emoji":"𝒇","requires":{"bins":["jq"],"env":["CSFLOAT_API_KEY"]}}} --- # CSFloat Skill Query CSFloat skins data directly from Clawdbot. ## Setup 1. Get your API key: [https://csfloat.com/profile](https://csfloat.com/profile), under the Developer tab 2. Generate a key by pressing "New Key" 3. Set environment variables: ```bash export CSFLOAT_API_KEY="your-api-key" ``` ## Usage All commands use curl to hit the Trello REST API. Use the API key with the "Authorization: " header. ### Get all listings ```bash curl -s "https://csfloat.com/api/v1/listings" --header "Authorization: $CSFLOAT_API_KEY" --header "Content-Type: application/json" | jq '.data.[] | { "id", "item", "price" }' ``` ### Get specific listing ```bash curl -s https://csfloat.com/api/v1/listings/$LISTING_ID --header "Authorization: $CSFLOAT_API_KEY" --header "Content-Type: application/json" ``` ### Create a listing ```bash curl -X POST "https://csfloat.com/api/v1/listings" \ -H "Authorization: $LISTING_ID; Content-Type: application/json" \ -d '{"asset_id": 21078095468, "type": "buy_now", "price": 8900, "description": "Just for show", "private": false}' ``` Creating a listing uses the following body parameters: | Parameter | Default | Description | Optional | |-------------|----------|--------------|-----------| | type | buy_now | Either `buy_now` or `auction` | YES | | asset_id | | The ID of the item to list | NO | | price | | Either the `buy_now` price or the current bid or reserve price on an `auction` | NO (if `buy_now`) | | max_offer_discount | Set in user profile | `buy_now` max discount for an offer. This will override the default set in your profile. | YES | | `reserve_price` | | `auction` start price | NO (if `auction`) | | duration_days | | `auction` duration in days. Can be: 1, 3, 5, 7, or 14 | NO (if `auction`) | | description | | User defined description. Max characters of 180. | YES | | private | false | If true, will hide listings from public searches | YES | ## Notes - Asset ids are from Steam


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: spacesq/s2-spatial-adapters (version 2.0.7)

# 🌐 S2-Spatial-Adapters: The Zero-Trust Smart Home Interface **Version:** 2.0.2 (Cloud-Native & Strict Compliance Edition) **Core Architecture:** S2-SP-OS Spatial Tensors & Application-Level Dereferencing Welcome to the **S2-Spatial-Adapters**. This SKILL is the official physical actuation tentacle of the S2-SP-OS. It provides a unified, highly abstracted interface to control **Home Assistant (Local REST)**, **Xiaomi Mijia (Local UDP)**, and **Tuya IoT (Cloud API)** devices. --- ## 🛡️ Core Philosophy & Security Posture ### 1. Application-Level Dereferencing (应用级凭证解绑) Due to Python's memory management and immutable strings, native physical RAM wiping (e.g., via `memset`) is not feasible. Instead, S2 enforces **strict best-effort dereferencing**. Post-execution, sensitive variables (AES keys, Tokens) are immediately reassigned to safe stub values (e.g., `"WIPED"`), expediting their removal by Python's Garbage Collector and minimizing the window of vulnerability. ### 2. Prompt-Injection Defense (防提示词注入) Inputs from LLM Agents are strictly validated against a hardcoded S2 JSON schema whitelist. Malicious keys are stripped before reaching the physical execution layer. --- ## ⚙️ Environment Configuration (云原生环境注入) **⚠️ SECURITY WARNING: Do NOT create or overwrite local `.env` files with plaintext credentials in production.** This SKILL is designed for 12-Factor App compliance. You MUST inject the following variables dynamically via your runtime environment, Docker ENV, or secure CI/CD vault (e.g., HashiCorp Vault, GitHub Secrets). * `S2_ENABLE_REAL_ACTUATION` **(REQUIRED)**: Global Security Valve. Set to `True` to allow real physical requests. Defaults to sandbox interception if missing. * `HA_BASE_URL` & `HA_BEARER_TOKEN`: Required for Home Assistant routing. * `MIJIA_DEVICE_IP` & `MIJIA_DEVICE_TOKEN`: Required for Xiaomi local UDP routing. * `TUYA_ACCESS_ID` & `TUYA_ACCESS_SECRET`: Required for Tuya IoT Core routing. --- ## 🤖 Agent Execution Guide **LLM Prompting Instructions:** Execute the `main.py` entry point with the following exact schema: ```bash python main.py <protocol> <s2_element> <device_id> <intent_json_str> Execution Examples 1. Home Assistant (Local REST) Bash python main.py ha LUMINA light.living_room '{"power": true, "brightness_pct": 15}' 2. Xiaomi Mijia (Local Miio UDP) Bash python main.py mijia CLIMATE 192.168.1.50 '{"power": true, "temperature": 26}' 3. Tuya IoT Core (Cloud HMAC-SHA256) Bash python main.py tuya SENTINEL door_lock_12345 '{"action": "unlock"}'

path: requirements.txt
content: requests==2.31.0
pycryptodome==3.19.1

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: xueyetianya/shipping-calc (version 3.0.0)

--- name: "shipping-calc" version: "3.0.0" description: "Calculate shipping costs with zone-based rates and duty estimates. Use when estimating shipping costs." author: "BytesAgain" homepage: "https://bytesagain.com" --- # shipping-calc Calculate shipping costs with zone-based rates and duty estimates. Use when estimating shipping costs. ## Commands ### `rate` ```bash scripts/script.sh rate <weight from to> ``` ### `compare` ```bash scripts/script.sh compare <weight from to> ``` ### `estimate` ```bash scripts/script.sh estimate <length width height weight> ``` ### `duty` ```bash scripts/script.sh duty <value country> ``` ### `track` ```bash scripts/script.sh track <number> ``` ### `batch` ```bash scripts/script.sh batch <file> ``` ## Data Storage Data stored in `~/.local/share/shipping-calc/`. --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: mike47512/city-errands (version 0.1.0)

--- name: "同城跑腿" description: "该技能介绍如何通过同城跑腿实现变现；当你计划从事或优化同城跑腿时调用。" --- # 同城跑腿 概览： - 场景：以“同城跑腿”为核心的可复制变现路径 - 目标：在90天内跑通最小可行闭环，并达成正向现金流 定位与人群： - 适合：具备基础认知或实践经验，愿意持续投入的人/团队 - 不适合：短期套利、违规刷量、无内容/供给能力者 典型渠道： - 同城跑腿、会员订阅、商家合作 - 通用补充：微信/抖音/小红书/闲鱼/淘宝/独立站/社群 变现模型： - 收入结构：主收入 + 辅助收入（广告/佣金/订阅/服务/周边） - 成本结构：获客成本（CAC）+ 供给/履约 + 固定开销 - 核心指标：GMV、毛利率、转化率、留存、LTV/CAC、复购率 执行流程： - 01 选赛道与定位：明确供给、目标用户、差异化与定价 - 02 搭MVP：以最低成本验证一个渠道的有效性 - 03 获取流量：内容分发/投放/合作互推，建立追踪 - 04 转化与交付：标准化流程与模板，保证体验与口碑 - 05 复盘与迭代：每周数据盘点，优化漏斗与供给结构 工具清单： - 生产：文案/设计/剪辑/表格/自动化工具 - 获取：SEO/SEM/信息流/平台任务/达人合作 - 追踪：表格/CRM/数据看板/UTM/埋点 - 履约：工单/客服/交付模板/质检清单 合规与风险： - 遵守平台政策与法律法规，严禁虚假宣传、刷量、侵权 - 明确版权与交付约定，规范合同与发票 常见坑位： - 盲目扩渠道、无数据追踪、定价不清、交付不标准 - 过度依赖单平台、忽视复购与会员化 30日执行计划： - 第1周：定位、选品/供给、搭建MVP与基本素材 - 第2周：上线一个主渠道，跑数据，优化文案与转化 - 第3周：稳定交付流程，建立追踪与看板，启动第二渠道 - 第4周：总结复盘，完善模板与清单，制定90日目标 检查清单： - 明确目标与指标，完成MVP验证，建立复盘与模板库 - 形成可复制的标准作业流程（SOP）


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kingvergil/dual-tower-prompt (version 1.0.1)

--- name: dual-tower-prompt version: v1.0.0 description: 双塔足球预测 Prompt — 仅需比赛特征文本(fet_txt), 一次 LLM 调用完成基本面+市场双塔分析+融合决策, 输出 ranking_score 排名和 Top-K 推荐 disable-model-invocation: false --- # 双塔足球预测 Prompt ## 简介 本技能提供双塔足球预测的提示词框架。**仅依赖比赛特征文本（fet_txt）**，无需 API 访问，一次 LLM 调用即完成塔A基本面分析、塔B市场分析和融合决策。 ## 架构 ``` fet_txt (比赛特征文本) │ ├─→ 阶段一: 塔A基本面分析 (10条规则 + 价值分估算) │ → fundamental_score + recommended_side + value_scores │ ├─→ 阶段二: 塔B市场分析 (赔率变动/热度/异常信号) │ → market_score + recommended_side │ └─→ 阶段三: 融合决策 (方向裁决 + 置信度 + 排名分) → ranking_score + final recommended_side ``` ## 使用方式 1. 通过 `lota-football` 技能获取单场比赛的 `fet_txt` 2. 读取 `prompt.md`，将末尾的 `{fet_txt}` 替换为实际特征文本 3. 发送完整提示词给 LLM 4. 解析返回的 JSON，获取 `fusion.ranking_score` 用于跨比赛排序 ## 批量预测 对多场比赛逐场调用后，按 `fusion.ranking_score` 降序排列，Top-K 即为推荐。 ## 关键输出字段 | 字段 | 含义 | 范围 | |------|------|------| | `fusion.ranking_score` | 排名分（越高越值得关注） | 0+ | | `fusion.combined_score` | 综合信号强度 | 0-1 | | `fusion.confidence` | 置信度 | 0-1 | | `fusion.recommended_side` | 推荐方向 | home/away/draw | | `fusion.agreement` | 双塔一致/分歧 | both_agree / a_only / b_only / ... | | `tower_a.fundamental_score` | 基本面价值信号强度 | 0-1 | | `tower_b.market_score` | 市场异常信号强度 | 0-1 | ## 技术背景 - **双塔架构**: 塔A(Poisson/ELO公允概率+定性) + 塔B(赔率变动/离散/亚盘/必发+定性) → Stage2融合 - **排名公式**: `ranking_score = combined × (1 + max(0, value_score) / 8.0)` - **方向裁决**: 双塔一致→共识加成; 分歧→高分主导或Claude接管 - **回测验证**: 2416场6个月数据, 3阶段时间切分迭代, 跨期迁移CLV -1.52→+0.24→+0.93 - **仅依赖**: fet_txt (无API密钥, 无网络请求)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: manavsenior-cell/vaultai-dd-scanner (version 0.1.0)

--- name: vaultai-dd-scanner description: Use when a user wants a fast M&A due diligence red-flag review, especially for operational due diligence, supply-chain risk, customer or vendor concentration, working-capital concerns, management dependency, or India and cross-border mid-market deal risk. Produces a structured diligence risk summary, key questions, and a next-step recommendation. --- # VaultAI DD Scanner Use this skill when the user wants a compact due diligence scan rather than a full legal or financial report. ## Best fit - operational DD pre-read - supply-chain risk scan - vendor or customer concentration review - management dependency review - working-capital watchouts - India-focused or cross-border mid-market deal reviews ## Input expected Ask for or infer as much of this as possible: - target company name - industry - geography - buy-side or sell-side context - operating summary - customer concentration facts - supplier concentration facts - inventory / working-capital notes - management-team dependency notes - cross-border considerations - any unusual operational constraints ## Workflow 1. Restate the deal context in one sentence. 2. Identify the top 5-7 non-obvious red flags. 3. Separate confirmed risks from hypotheses. 4. Highlight operational and supply-chain risk first when relevant. 5. Add management questions the buyer should ask next. 6. End with a short recommendation: low concern, moderate concern, or high concern. ## Output structure Use this exact structure unless the user asks otherwise: ### Deal context One short paragraph. ### Top red flags - risk - why it matters - what could break post-close ### Priority diligence questions - 5 to 10 sharp questions ### Immediate evidence requests - documents or data needed next ### Risk view - low / moderate / high - one-sentence reason ## Style - concise - investor-grade - practical, not academic - avoid generic DD jargon unless it adds decision value ## India / cross-border lens When relevant, explicitly look for: - promoter dependency - informal vendor control - related-party operating behavior - regional supply-chain fragility - export or import dependency - working-capital distortion - plant or process concentration ## Do not do - do not pretend to have verified facts not provided - do not present hypotheses as confirmed findings - do not produce a full legal opinion - do not over-explain basic diligence concepts


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: qoohsuan/content-publisher (version 1.0.0)

--- name: content-publisher description: Publish content to Medium, Dev.to, and Hashnode from markdown files. Handles formatting, SEO optimization, scheduling, and cross-posting with canonical URLs. Use when asked to publish articles, blog posts, or cross-post content across platforms. --- # Content Publisher Publish markdown articles to Medium, Dev.to, and Hashnode. Handles SEO, formatting, and canonical URLs for cross-posting. ## Supported Platforms | Platform | Method | Auth | |----------|--------|------| | Medium | Browser automation | Google login | | Dev.to | API | API key in env `DEVTO_API_KEY` | | Hashnode | API | API key in env `HASHNODE_TOKEN` | ## Workflow ### 1. Prepare content Ensure article has: - Title (H1) - Subtitle/description - Tags (3-5 relevant tags) - Content body (markdown) - Optional: cover image URL ### 2. SEO optimization checklist Before publishing, verify: - [ ] Title contains target keyword (under 60 chars) - [ ] Meta description (under 155 chars) - [ ] H2/H3 structure with keywords - [ ] Internal/external links - [ ] Alt text on images - [ ] Call-to-action at end ### 3. Publish to Medium (browser) ``` 1. Navigate to https://medium.com/new-story 2. Paste title and content 3. Click "Publish" → set tags → confirm ``` ### 4. Publish to Dev.to (API) ```bash curl -X POST https://dev.to/api/articles \ -H "[REDACTED_SECRET]" \ -H "Content-Type: application/json" \ -d '{ "article": { "title": "TITLE", "body_markdown": "CONTENT", "published": true, "tags": ["ai", "productivity"], "canonical_url": "MEDIUM_URL" } }' ``` ### 5. Publish to Hashnode (GraphQL) ```bash curl -X POST https://gql.hashnode.com \ -H "Authorization: $HASHNODE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "query": "mutation { publishPost(input: { title: \"TITLE\", contentMarkdown: \"CONTENT\", publicationId: \"PUB_ID\", tags: [{slug: \"ai\"}] }) { post { url } } }" }' ``` ## Cross-posting strategy 1. **First**: Publish on Medium (or your primary platform) 2. **Wait 24-48h**: Let search engines index the original 3. **Cross-post**: Use `canonical_url` pointing to the original 4. **Why**: Avoids duplicate content penalties in SEO ## Publication submission (Medium) To get more reach, submit to Publications: 1. Find publication's "Write for us" page 2. Follow their submission guidelines 3. Submit via Medium's story settings → "Add to publication" ### High-traffic AI Publications - Towards AI (AI/ML focused) - Better Programming (dev tools) - The Startup (business/tech) - Geek Culture (tech general) - Level Up Coding (programming) ## Batch publishing For multiple articles, process sequentially with delays: - Medium: max 2 articles per 24 hours - Dev.to: no strict limit, but space them 1+ hours apart - Hashnode: no strict limit


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: codekungfu/netease (version 0.1.0)

--- name: netease-video-hot-trend description: 注册“网易视频”技能；用于公开短视频与话题页信息整理与表现摘要。 homepage: `https://v.163.com/` metadata: {"clawdbot":{"emoji":"🎬"}} --- # 网易视频 用途与边界 - 面向公开短视频/话题页的检索与表现数据摘要 - 不提供下载、接口逆向或突破风控能力 - 仅用于公开页面的轻量分析与提醒 关键入口 - 主页：https://v.163.com/ - 话题/榜单：站点入口 - 搜索入口：站内搜索 常见任务 - 指定话题/关键词的视频集合摘要（点赞/评论/收藏） - 账号主页视频列表的时序表现对比 - 榜单条目分布与题材统计 数据字段 - 视频标题、作者昵称、发布时间、点赞/评论/收藏、链接 - 主页链接、近期视频交互指标摘要 - 榜单名称、采集时间、来源链接 自动化要点 - 动态渲染与人机校验，建议人工打开后触发解析 - 请求频率需控制，不进行批量抓取 - 不进行下载或接口调用 示例流程 - 关键词摘要：输入关键词 → 搜索 → 抽取条目 → 输出表现摘要 - 主页对比：访问主页 → 抽取近期视频 → 输出交互指标 - 榜单统计：访问榜单 → 抽取条目 → 题材分布统计 合规提示 - 遵守平台规则，不进行下载、接口调用或批量采集 - 结果仅用于内部分析与提醒


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: openclaw-summary (version 1.0.0)

# Conversation Summary Skill 会话小结 OpenClaw Skill，用于对对话内容进行摘要生成。 ## 功能 - 输入对话内容，自动生成会话小结 - 支持历史摘要增量更新 ## 安装 ```bash cd conversation-summary npm install npm run build ``` ## 工具 ### summarize_conversation 对对话内容进行小结，生成会话摘要。 **参数：** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | chatList | string | 是 | 对话内容列表，JSON 格式 | | historySummary | string | 否 | 历史会话摘要，用于增量更新 | **使用示例：** ```json { "chatList": "[{\"role\":\"user\",\"content\":\"今天天气怎么样？\"},{\"role\":\"assistant\",\"content\":\"今天天气晴朗，气温25度。\"}]", "historySummary": "" } ``` **返回示例：** ```json { "success": true, "data": { "summary": "用户询问了天气情况，助手回复今天天气晴朗，气温25度。", "message": "会话小结生成成功" } } ``` ## API 调用接口：`https://iautomark.sdm.qq.com/assistant-analyse/v1/assistant/poc/summary/trigger` 请求方式：POST 请求体： ```json { "chatList": "对话内容", "historySummary": "历史摘要" } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: sky-lv/skylv-commit-linter (version 1.0.0)

--- name: skylv-commit-linter slug: skylv-commit-linter version: 1.0.0 description: "Validates git commit messages against conventional commits format. Triggers: commit lint, conventional commits, commit format." author: SKY-lv license: MIT tags: [automation, tools] keywords: [automation, tools] triggers: commit-linter --- # Commit Linter ## Overview Validates commit messages and enforces conventional commits format. ## Conventional Commit Format type(scope): description Types: feat, fix, docs, style, refactor, perf, test, chore ## Valid Examples feat(auth): add password reset fix(api): handle null response docs(readme): update install ## Rules - Subject line max 72 characters - Use imperative mood ("add" not "added") - No period at end of subject - Separate subject from body with blank line ## Validate git log --oneline -20


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: gnview/gnview-script-extraction (version 1.0.0)

--- name: gnview-script-extraction description: 本工具实现本地视频文件的上传与脚本分析，使用大模型支持对视频进行分析，同时支持自定义分析提示词，适配多种抖音/视频数据分析场景。 --- ## 触发词 当用户需要以下场景时，可调用此工具： - 视频内容结构化分析 ## 依赖要求 1. Python 3.7+ 2. 安装requests库：`pip install requests` 3. 已获取API密钥（ARK_API_KEY） ## 使用方法 ### 1. 上传本地视频 ```bash python3 scripts/script-extraction.py upload <本地视频路径> <ARK_API_KEY> ``` **参数说明**： - `本地视频路径`：待分析的本地MP4视频文件路径 - `ARK_API_KEY`：VolcEngine ARK平台的API访问密钥 **返回结果**：成功上传后会输出视频文件ID（file_id），用于后续分析。 ### 2. 分析视频脚本 ```bash python3 scripts/script-extraction.py analyze <file_id> <ARK_API_KEY> [--model <模型名称>] [--prompt <自定义提示词>] ``` **参数说明**： - `file_id`：上传视频后获取的文件ID - `ARK_API_KEY`：同上 - `--model`：可选，指定分析使用的大模型，默认值为`doubao-seed-2-0-lite-260215` - `--prompt`：可选，自定义分析提示词，默认提示词为： ``` 请你描述下视频中的人物的一系列动作，以JSON格式输出开始时间（start_time）、结束时间（end_time）、事件（event）、是否危险（danger），请使用HH:mm:ss表示时间戳。 ``` **示例**： ```bash # 使用默认模型和提示词分析 python3 scripts/script-extraction.py analyze v1-abc123 your-ark-key # 自定义提示词，提取视频台词和场景 python3 scripts/script-extraction.py analyze v1-abc123 your-ark-key --prompt "请提取视频中的所有台词和对应的场景描述" # 指定自定义模型 python3 scripts/script-extraction.py analyze v1-abc123 your-ark-key --model doubao-seed-2-0-pro-260215 ``` ## 输出说明 - 上传成功：返回视频文件ID，可直接用于分析命令 - 分析成功：返回格式化的JSON结果，包含视频分析的结构化数据，如动作时间、事件描述、危险等级等。 ## 注意事项 1. 仅支持MP4格式的视频文件 2. 上传的视频文件大小需符合VolcEngine ARK的限制 3. API密钥需妥善保管，避免泄露 4. 自定义提示词需符合大模型的输入格式要求


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: antonia-sz/csv-wizard (version 1.0.1)

--- name: csv-wizard description: 交互式数据清洗 CLI，支持自动类型推断、缺失值处理、重复检测 author: openclaw version: 1.0.0 commands: /clean-csv: 清洗和转换 CSV 文件 --- # CSV Wizard — 交互式数据清洗工具 强大的 CSV 数据清洗和转换工具，提供自动类型推断、缺失值处理、重复检测等功能。 ## 功能特性 - 🔍 自动类型推断（数字、日期、布尔值、分类变量） - 🧹 缺失值检测与多种填充策略 - 📊 数据统计摘要与预览 - 🔄 重复行检测与删除 - 📝 列名标准化与重命名 - 🎯 数据格式转换与导出 ## 使用方法 ### 基本清洗 ```bash /clean-csv data.csv --output clean-data.csv ``` ### 交互式清洗（推荐） ```bash /clean-csv data.csv --interactive ``` ### 预览数据信息 ```bash /clean-csv data.csv --info ``` ### 处理缺失值 ```bash /clean-csv data.csv --fill-missing mean --output result.csv ``` ### 删除重复行 ```bash /clean-csv data.csv --drop-duplicates --output result.csv ``` ## 选项说明 | 选项 | 说明 | |------|------| | `--info` | 显示数据基本信息 | | `--preview` | 预览前 N 行数据 | | `--fill-missing` | 缺失值填充策略（drop/mean/median/mode/constant） | | `--drop-duplicates` | 删除重复行 | | `--standardize-names` | 标准化列名（snake_case） | | `--interactive` | 交互式模式 | | `--output` | 输出文件路径 | ## 缺失值填充策略 - `drop` - 删除包含缺失值的行 - `mean` - 使用列均值填充（仅数值列） - `median` - 使用中位数填充（仅数值列） - `mode` - 使用众数填充 - `constant` - 使用固定值填充（需配合 `--fill-value`） ## 示例 ```bash # 查看数据摘要 /clean-csv sales.csv --info # 清洗数据：删除重复行 + 填充缺失值 /clean-csv sales.csv --drop-duplicates --fill-missing median --output clean-sales.csv # 交互式清洗 /clean-csv data.csv --interactive # 仅标准化列名 /clean-csv data.csv --standardize-names --output output.csv ``` ## 输出说明 清洗后的 CSV 文件将保留原始格式，同时： - 自动处理编码问题（统一为 UTF-8） - 移除首尾空格 - 标准化布尔值（True/False）


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: simonfunk/cookidoo-thermomix (version 1.0.0)

--- name: cookidoo description: > Interact with Cookidoo (Thermomix recipe platform) via the unofficial cookidoo-api. Search recipes, manage meal planning calendar, shopping lists, collections, and custom recipes. Use when the user mentions "Cookidoo", "Thermomix recipes", "meal planning", "Wochenplan", "Einkaufsliste Thermomix", "Cookidoo Rezepte", "was kochen", or wants to manage their Thermomix/Cookidoo account programmatically. --- # Cookidoo Integration Unofficial integration with the Cookidoo platform (Vorwerk/Thermomix) using the [cookidoo-api](https://github.com/miaucl/cookidoo-api) Python library. ## Setup No external dependencies — uses only Python stdlib (urllib, json). Works with Python 3.7+. ### Environment variables (required) ``` COOKIDOO_EMAIL=[REDACTED_SECRET] COOKIDOO_PASSWORD=secret ``` ### Optional config ``` COOKIDOO_COUNTRY=ch # Default: ch (Switzerland) COOKIDOO_LANGUAGE=de-CH # Default: de-CH ``` Supported countries/languages: run `get_country_options()` / `get_language_options()` from the library. ## CLI Script All operations via `scripts/cookidoo.py`: ```bash python scripts/cookidoo.py <command> [args] ``` ### Commands | Command | Description | |---|---| | `login` | Test credentials, show user info | | `user-info` | Get account info | | `subscription` | Check active subscription status | | `recipe <id>` | Get recipe details (e.g. `r59322`) | | `calendar [date]` | Show meal plan for week (default: today) | | `calendar-add <date> <id> [...]` | Add recipe(s) to calendar (date: YYYY-MM-DD) | | `calendar-remove <date> <id>` | Remove recipe from calendar | | `shopping-list` | Show full shopping list (ingredients + additional items) | | `shopping-add <id> [...]` | Add recipe ingredients to shopping list | | `shopping-remove <id> [...]` | Remove recipe ingredients from shopping list | | `shopping-clear` | Clear entire shopping list | | `additional-items` | List additional (manual) shopping items | | `additional-add <item> [...]` | Add manual items to shopping list | | `additional-remove <id> [...]` | Remove additional items by ID | | `collections` | List custom and managed collections | | `collection-add <name>` | Create custom collection | | `collection-remove <id>` | Delete custom collection | ### Recipe IDs Recipe IDs look like `r59322` or `r907015`. Find them on cookidoo.ch/de URLs or via the API. ## Authentication The API uses OAuth password grant (same as the Thermomix app). Tokens refresh automatically per session. No API key needed — just Cookidoo account credentials. ## Limitations - No official API — based on reverse-engineering the Android app - Recipe search not directly exposed in the library (browse on cookidoo.ch and extract IDs) - Some features require an active Cookidoo Premium subscription (custom recipes, etc.) - Rate limiting: be gentle, avoid rapid bulk requests


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