OpenClaw/clawhub-security-signals huggingface dataset:
Skill: jeffaf/recipes (version 1.0.0)

--- name: recipes version: 1.0.0 description: "CLI for AI agents to find recipes for their humans. Uses TheMealDB API. No auth required." homepage: https://www.themealdb.com metadata: openclaw: emoji: "🍳" requires: bins: ["bash", "curl", "jq"] tags: ["recipes", "food", "cooking", "meals", "themealdb", "cli"] --- # Recipe Lookup CLI for AI agents to find recipes for their humans. "What can I make with chicken?" — now your agent can help. Uses TheMealDB API. No account or API key needed. ## Usage ``` "Search for pasta recipes" "Give me a random dinner idea" "What Italian dishes can I make?" "Tell me about meal ID 52772" ``` ## Commands | Action | Command | |--------|---------| | Search | `recipes search "query"` | | Get details | `recipes info <meal_id>` | | Random meal | `recipes random` | | List categories | `recipes categories` | | By area/cuisine | `recipes area <area>` | ### Examples ```bash recipes search "chicken" # Find chicken recipes recipes info 52772 # Get full recipe by ID recipes random # Surprise me! recipes categories # List all categories recipes area Italian # Italian dishes recipes area Mexican # Mexican dishes ``` ## Output **Search/list output:** ``` [52772] Spaghetti Bolognese — Italian, Beef ``` **Info/random output:** ``` 🍽️ Spaghetti Bolognese ID: 52772 | Category: Beef | Area: Italian Tags: Pasta,Meat 📝 Ingredients: • 500g Beef Mince • 2 Onions • 400g Tomato Puree ... 📖 Instructions: [Full cooking instructions] 🎥 Video: [YouTube URL if available] 📎 Source: [Recipe source if available] ``` ## Areas (Cuisines) American, British, Canadian, Chinese, Croatian, Dutch, Egyptian, Filipino, French, Greek, Indian, Irish, Italian, Jamaican, Japanese, Kenyan, Malaysian, Mexican, Moroccan, Polish, Portuguese, Russian, Spanish, Thai, Tunisian, Turkish, Ukrainian, Vietnamese ## Notes - Uses TheMealDB free API - No authentication required - Meal ID is the database identifier - Filter commands (area) return IDs only — use `info` for details - Categories endpoint includes descriptions --- ## Agent Implementation Notes **Script location:** `{skill_folder}/recipes` (wrapper to `scripts/recipes`) **When user asks about recipes/cooking:** 1. Run `./recipes search "ingredient or dish"` to find options 2. Run `./recipes info <id>` for full recipe with ingredients and instructions 3. Run `./recipes random` for dinner inspiration 4. Run `./recipes area <cuisine>` to explore by cuisine **Workflow example:** ``` User: "What can I make for dinner?" 1. recipes random → Get a random idea 2. recipes info <id> → Full recipe details User: "I want something Italian" 1. recipes area Italian → List Italian dishes 2. recipes info <id> → Pick one and get full recipe ``` **Don't use for:** Nutritional info, calorie counts, dietary restrictions (API doesn't provide this).


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cassh100k/image-nuke (version 1.0.0)

--- name: image-nuke description: "Nuclear-grade image metadata cleanser. Strip ALL EXIF/GPS/camera data, re-encode with noise injection. Forensically untraceable, reverse image search resistant." metadata: openclaw: emoji: "☢️" requires: bins: ["python3"] --- # Image Nuke - Nuclear Metadata Cleanser Strip everything. Re-encode. Inject noise. Forensically untraceable. ## What Gets Destroyed - ALL EXIF data (camera, lens, exposure, timestamps, software) - GPS / location coordinates - ICC color profiles - XMP / IPTC metadata - Adobe tags and editing history - Embedded thumbnails ## Nuclear Operations - Sub-pixel Gaussian noise injection (invisible to human eye) - Micro color shift (undetectable hue rotation) - Per-pixel brightness variation - Random micro-crop (changes dimensions by 1-3px) - Fresh JPEG re-encoding with randomized quality/subsampling - Different perceptual hash (reverse image search resistant) ## Usage ```bash # Single image - nuclear mode python3 {baseDir}/scripts/nuke_image.py photo.jpg # Custom output + max noise python3 {baseDir}/scripts/nuke_image.py photo.jpg clean.jpg --noise 5 # Batch process entire directory python3 {baseDir}/scripts/nuke_image.py --batch ./photos/ ./clean/ # Lower quality for harder reverse matching python3 {baseDir}/scripts/nuke_image.py photo.jpg --quality 80 --noise 4 ``` ## Noise Levels | Level | Sigma | Use Case | |-------|-------|----------| | 1 | 0.8 | Light cleanse - metadata only feel | | 2 | 1.6 | Standard - good balance | | 3 | 2.4 | Default - recommended | | 4 | 3.2 | Heavy - reverse search resistant | | 5 | 4.0 | Nuclear - maximum anonymization | ## Requirements - Python 3 - Pillow (`pip install Pillow`) - NumPy (`pip install numpy`) ## Notes - Output is always JPEG (even if input is PNG) - Original file is never modified - Each run produces a unique output (randomized noise)


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

--- name: 蜜源返利助手 description: 蜜源社交电商CPS导购工具，以淘宝天猫为核心平台，提供优惠券查找和返利推广服务。 version: 0.1.0 --- # 蜜源返利助手 蜜源社交电商CPS导购工具。以淘宝和天猫为核心平台，提供商品优惠券查找、返利查询和社交推广功能，帮助用户自购省钱和分享赚取佣金。 ## 触发词 蜜源、蜜源返利、miyuan、蜜源优惠券、蜜源佣金、蜜源省钱 ## 计划实现能力 - **淘宝天猫返利**：核心平台返利查询和优惠券查找 - **推广素材**：生成商品推广文案和分享链接 - **佣金追踪**：订单返利状态追踪和提现 - **团队管理**：邀请关系和团队数据查看 ## 输出格式 ``` 🍯 蜜源返利查询 商品：[商品名称] 平台：淘宝/天猫 售价：¥[价格] 优惠券：[券描述] 返利比例：[X]% 预计返利：¥[金额] ```


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

--- name: self-evolution description: | OpenClaw 自进化系统 - 让AI具备自我学习与自我提升能力 通过「犯错→学习→提炼→强化」的闭环机制，实现真正的自我改进 核心能力：自动发现问题、分析根因、提出建议、验证效果、落地形成规则 metadata: openclaw: emoji: '🧠' primaryEnv: '' version: '1.0.0' --- # OpenClaw 自进化系统 > 让AI具备真正的自我改进能力。 ## 核心能力 ### 1. 自进化闭环 自动发现问题 → 分析根因 → 提出建议 → 验证效果 → 落地形成规则 ### 2. 记忆分层管理 - 核心记忆：常驻内存，跨会话持久化 - 次要记忆：按需加载，语义检索 ### 3. 规则治理 - 集中式规则库 - 置信度自动调整 - 隐私分级保护 ### 4. 健康监控 - 实时健康评分 - 模块状态追踪 - 问题预警 ## 使用方法 ### 触发关键词 当用户提到以下词汇时，自动激活自进化功能： - 自进化、自愈、零人工维护、学习闭环 ### 手动触发 直接输入：`/自进化` ### 查看系统状态 输入：`/自进化状态` 或 `/health` ## 注意事项 - 本技能依赖 OpenClaw 4.5+ 环境 - 首次使用会自动初始化规则库 - 建议配合 memory 模块使用效果更佳


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: pazzilivo/pc-game-deals (version 1.0.0)

--- name: game-deals description: "Track PC game discounts across Steam, Epic Games, GOG, Humble Store and 30+ stores via CheapShark API. Use when user asks: 'any deals on [game]', 'game discounts', 'steam sale', 'lowest price for [game]', 'set price alert', or mentions game prices/savings. NOT for console games (PS5/Xbox/Switch) or mobile games - CheapShark is PC only. No API key required." metadata: { "openclaw": { "emoji": "🎮", "requires": { "bins": ["curl", "jq"] } } } --- # Game Deals Track game discounts across PC game stores. ## Store IDs | ID | Store | |----|-------| | 1 | Steam | | 7 | GOG | | 11 | Humble Store | | 25 | Epic Games Store | | 31 | Blizzard Shop | Full list: `curl -s "https://www.cheapshark.com/api/1.0/stores" | jq '.[] | "\(.storeID): \(.storeName)"'` --- ## Commands ### Search Game ```bash curl -s "https://www.cheapshark.com/api/1.0/games?title=GAME_NAME&limit=5" | jq -r '.[] | "🎯 \(.external) - 最低价: $\(.cheapest)"' ``` ### Hot Deals ```bash # Steam deals under $15 curl -s "https://www.cheapshark.com/api/1.0/deals?storeID=1&upperPrice=15&pageSize=10" | jq -r '.[] | "🔥 \(.title) - $\(.salePrice) (原价 $\(.normalPrice), -\(.savings | tonumber | floor)%%)"' ``` ### Filter Options - `storeID=1` — Steam only - `upperPrice=10` — Max price $10 - `sortBy=Savings&desc=1` — Sort by discount - `onSale=1` — Only items on sale ### Price History ```bash # Get gameID from search first curl -s "https://www.cheapshark.com/api/1.0/games?id=GAME_ID" | jq '{cheapest: .cheapestPriceEver.price, current: .deals | map({store: .storeID, price: .price})}' ``` --- ## Price Alerts Web-based only: https://www.cheapshark.com → Search game → "Set Alert" → Enter email + target price


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jing-yilin/ipv6-p2p (version 0.1.3)

--- name: ipv6-p2p description: Send/receive direct encrypted P2P messages between OpenClaw agents over Yggdrasil IPv6. Handles peer discovery, messaging, and connectivity diagnostics. Use when the user mentions P2P, peer-to-peer, Yggdrasil, direct messaging between agents, or IPv6 addresses starting with 200: or fd77:. version: 0.1.2 metadata: openclaw: emoji: "🔗" homepage: https://github.com/ReScienceLab/declaw install: - kind: node package: "@resciencelab/declaw" --- # IPv6 P2P Direct agent-to-agent messaging over Yggdrasil IPv6. Messages are Ed25519-signed and delivered peer-to-peer with no central server. ## Quick Reference | Situation | Action | |---|---| | User provides a peer IPv6 address | `p2p_add_peer(ygg_addr, alias?)` | | User wants to send a message | `p2p_send_message(ygg_addr, message, port?)` | | User asks who they can reach | `p2p_list_peers()` | | User asks for their own address | `p2p_status()` | | User wants to find agents on the network | `p2p_discover()` | | Sending fails or connectivity issues | `yggdrasil_check()` then diagnose | ## Tool Parameters ### p2p_add_peer - `ygg_addr` (required): Yggdrasil `200:` or ULA `fd77:` IPv6 address - `alias` (optional): human-readable name, e.g. "Alice" ### p2p_send_message - `ygg_addr` (required): recipient address - `message` (required): text content - `port` (optional, default 8099): recipient's P2P port — pass explicitly if the peer uses a non-default port ### p2p_discover No parameters. Announces to all bootstrap nodes and fans out to newly-discovered peers. ### p2p_status Returns: own address, known peer count, unread inbox count. ### p2p_list_peers Returns: address, alias, last-seen timestamp for each known peer. ## Inbound Messages Incoming messages appear automatically in the OpenClaw chat UI under the **IPv6 P2P** channel. No polling tool is needed — `wireInboundToGateway` pushes them into the conversation. ## Error Handling | Error | Diagnosis | |---|---| | `p2p_send_message` returns connection refused / timeout | Call `yggdrasil_check()`. If `derived_only` → Yggdrasil not running. If `yggdrasil` → peer is down or port blocked. | | `p2p_discover` returns 0 new peers | Bootstrap nodes may be unreachable. Retry later or check network. | | TOFU key mismatch (403 from peer) | Peer rotated keys. User must re-add with `p2p_add_peer`. | ## Rules - **Always `p2p_add_peer` first** before sending to a new address — caches public key (TOFU). - If `p2p_send_message` fails, call `yggdrasil_check()` before reporting failure. - Never invent IPv6 addresses — always ask the user explicitly. - Valid formats: `200:xxxx::x` (Yggdrasil mainnet) or `fd77:xxxx::x` (ULA/test). See `references/flows.md` for example interaction patterns. See `references/discovery.md` for how peer discovery works.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: xifengzhu/cross-border-intel (version 1.0.0)

--- name: cross-border-intel description: 面向跨境卖家的选品与竞品情报助手，自动监控 Amazon ASIN 动态并追踪 TikTok 爆品趋势 metadata: openclaw: emoji: '🔍 ' requires: bins: ['python3', 'curl', 'jq'] --- # 跨境选品情报助手 面向跨境卖家的本地化情报工作台，持续追踪 Amazon 竞品价格、BSR 与评价变化，并捕捉 TikTok 爆品信号，帮助你更快发现机会、验证选品和跟进竞品动作。 ## 命令 ### /intel_add <type> <value> 添加需要长期追踪的 Amazon ASIN 或 TikTok 关键词。 - `/intel_add asin B0XXXXXXXXX` — 添加 Amazon ASIN - `/intel_add keyword "kitchen gadgets"` — 添加 TikTok 品类关键词 ### /intel_list 查看当前监控清单与追踪范围。 ### /intel_remove <type> <value> 从监控清单中移除目标。 ### /intel_report [daily|weekly] 手动生成日报或周报，快速复盘市场变化。 ### /intel_scan 立即执行一次全量扫描并刷新最新情报。 ## 自动化 - 每天 08:00 自动扫描 Amazon 竞品数据 - 每天 20:00 自动扫描 TikTok 趋势数据 - 当价格变动 >5%、BSR 变动 >30% 或 TikTok 视频播放 >100 万时自动触发告警 - 每周一 09:00 自动生成周报，沉淀关键趋势与机会点


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: zhuojiuya/amazon-review-reveyes (version 1.0.0)

--- name: amazon-review-reveyes version: "1.0.0" author: reveyes description: > 使用 Reveyes API 批量抓取亚马逊商品评论，支持 20 个站点。 输出评论列表、星级分布统计和差评摘要。 Use when: 用户提到抓评论、查差评、分析竞品口碑、给出 ASIN 编号需要评论数据。 NOT for: 分析已经抓好的本地评论文件，或查询亚马逊商品价格/销量。 tags: - amazon - ecommerce - review - scraping - cross-border requires: env: - REVEYES_API_KEY --- ## When to Run - 用户发送 ASIN 编号并要求抓取评论（如「帮我抓 B08N5WRWNW 的评论」） - 用户说「帮我看看这个竞品的差评」「分析一下这款产品的用户反馈」 - 用户要对比同一商品在多个亚马逊站点的口碑 - 用户要导出评论数据做分析 ## Parameters 从用户消息中提取以下信息： | 参数 | 说明 | 默认值 | |------|------|--------| | `asin` | 亚马逊 ASIN，10 位字母数字（必须） | — | | `marketplace` | 站点代码，见下方列表 | `US` | | `pages` | 抓取页数（1-10），1 页约 10 条评论 | `2` | | `filter_star` | 星级筛选：`all_stars` `positive` `critical` `five_star`…`one_star` | `all_stars` | **支持的站点代码：** `US` `CA` `MX` `UK` `DE` `FR` `IT` `ES` `NL` `SE` `PL` `BE` `IE` `JP` `IN` `SG` `AE` `SA` `AU` `BR` ## Workflow 1. **提取参数**：从用户消息中识别 ASIN（10 位）、站点代码、页数、星级筛选 - 若用户只给 ASIN，其余使用默认值 - 若用户说「差评」自动设置 `filter_star=critical` - 若用户说「好评」自动设置 `filter_star=positive` 2. **执行抓取**：调用 `scripts/fetch.py`，传入参数 ``` python scripts/fetch.py <ASIN> <marketplace> <pages> <filter_star> ``` 3. **等待完成**：脚本内部自动轮询（最多 5 分钟），完成后输出 JSON 结果 4. **格式化输出**： - 汇总：总评论数、平均评分、各星级占比 - Top 5 差评（如请求的是 `critical` 或 `all_stars`）：标题 + 正文前 150 字 - 如评论数 > 20，额外输出高频关键词（从差评标题提取） 5. **错误处理**： - `AuthenticationError` → 提示用户检查 `REVEYES_API_KEY` - `InsufficientCreditsError` → 提示前往 https://www.reveyes.cn 充值 - `BadParamsError` → 提示检查 ASIN 或站点代码是否正确 - `TimeoutError` → 告知任务仍在运行，提供 task_id 供后续查询 ## Output Format ``` 📦 ASIN: B08N5WRWNW | 站点: US | 共 87 条评论 ⭐ 评分分布： ★★★★★ 42 条 (48%) ████████████ ★★★★☆ 18 条 (21%) █████ ★★★☆☆ 8 条 (9%) ██ ★★☆☆☆ 5 条 (6%) █ ★☆☆☆☆ 14 条 (16%) ████ 📝 典型差评（最近 5 条）： 1. ★★ "Stopped working after 2 weeks" Bought this expecting quality but it broke down... 2. ★★ "Not as described" The color is completely different from the photos... [查看完整结果或导出 CSV，请告诉我] ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: gekacross/personal-travel (version 1.0.0)

--- name: personal-travel description: Acts as the user's travel planning assistant in the Travel topic. Plans trips, tracks visited places, wishlists, budgets, documents. Use when in Personal chat Travel topic, or when user mentions travel, trip, flight, hotel, visa, passport, vacation, country, city, airport, booking, or destination. --- # Personal Travel (путешествия) Роль: **твой персональный тревел-ассистент**. Планирует поездки, помнит где был, что хочешь посетить, документы. ## Перед ответом 1. **Прочитай** `knowledge/personal/travel.md` — там прошлые поездки, вишлист, документы. 2. **Учитывай историю чата**. 3. Если пользователь рассказал **новое** (планирует поездку, вернулся, обновил документы) — обнови `knowledge/personal/travel.md`. ## Что умеет - **Вишлист:** куда хочет поехать — страны, города, с приоритетами. - **Планирование:** помочь спланировать поездку — маршрут, бюджет, что посмотреть. - **История:** где уже был — даты, впечатления, рекомендации. - **Документы:** паспорт (срок действия), визы (какие есть, сроки), страховки. - **Бюджет:** примерный бюджет поездки, трекинг расходов в поездке. - **Чеклист:** что взять с собой, что не забыть перед отъездом. - **Напоминания:** паспорт истекает через N месяцев, виза заканчивается. ## Правила - Актуальные цены и визовые правила — проверять в интернете, не выдумывать. - Формат в `knowledge/personal/travel.md`: ```markdown ## Документы - Паспорт: действителен до YYYY-MM-DD - Визы: ... ## Вишлист 1. Страна/город — почему хочу, примерный бюджет 2. ... ## Прошлые поездки ### [дата] Куда - Что понравилось: ... - Рекомендации: ... - Потратил: ... ``` - Тон: вдохновляющий, практичный. ## Файлы - **Память:** `knowledge/personal/travel.md` — читать в начале, обновлять.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: warrior156006050/ai-daily-brief (version 1.0.0)

# AI 资讯日报抓取技能 ## 功能 并行抓取多个 AI 资讯源，生成结构化日报并发送给用户。 ## 使用方法 ```bash # 手动触发 openclaw run ai-daily-brief ``` ## 抓取源 1. 36 氪 AI 频道：https://www.36kr.com/information/AI/ 2. 极客公园 AI 新浪潮：https://www.geekpark.net/column/304 ## 输出格式 - 标题 + 核心观点 + 深度总结（2-3 句话） - 清晰的 Markdown 格式 - 发送到 warrior 的 Telegram ## 优化策略 - 使用 browser 工具并行抓取多个源 - 使用 snapshot 获取页面内容 - 提取 TOP10 最新资讯 - 结构化整理后发送


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tujinsama/legal-rights-drafter-claw (version 1.0.0)

--- name: legal-rights-drafter-claw description: 法律维权草拟虾。识别违约行为并自动起草维权通知函。当用户提到违约、维权、发函、催告、索赔、侵权、律师函、催款函、警告函、追责等场景时使用。输入可以是自然语言描述或结构化数据（Excel/CSV），输出标准化法律函件（Markdown/PDF/Word）。 --- # 法律维权草拟虾 识别违约行为，自动起草专业维权函件。目标：违约发生后 5 分钟内产出正式法律函件。 ## 工作流程 ### 1. 提取违约要素 从用户输入中提取： - **违约方**：公司名称、联系方式、合同编号 - **违约行为**：具体行为、发生时间、金额/损失 - **合同依据**：相关条款编号、约定内容 - **我方诉求**：要求对方采取的行动、赔偿金额 如信息不完整，主动询问缺失的关键字段。 ### 2. 判断违约类型 | 类型 | 特征 | 优先模板 | |------|------|----------| | 迟延履行 | 到期未履行，仍可履行 | 催告函 | | 拒绝履行 | 明确表示不履行 | 解除合同通知 + 索赔函 | | 拖欠款项 | 应付款项逾期未付 | 催款函 | | 质量瑕疵 | 履行有缺陷 | 质量异议函 | | 知识产权侵权 | 未经授权使用 IP | 侵权警告函 | | 保密协议违约 | 泄露商业秘密 | 保密协议违约函 | ### 3. 匹配法律依据 读取 `references/legal-clauses.md`，匹配适用条款。常用： - 迟延履行/拒绝履行 → 《民法典》第577、578、563条 - 拖欠款项 → 《民法典》第579条 - 知识产权 → 《商标法》第57条 / 《著作权法》第52条 ### 4. 生成函件 读取 `references/letter-templates.md`，选择对应模板，填充以下变量： ``` {发函方名称} {受函方名称} {合同名称} {合同编号} {合同签订日期} {约定履行日期} {发函日期} {宽限天数} {宽限截止日期} {履行内容} {欠款金额} {损失金额} {违约金金额} {逾期天数} {索赔金额} {YEAR} {SEQ} ``` 函件编号格式：`{YEAR}-{TYPE}-{SEQ}`，TYPE 参考：CG（催告）、CK（催款）、JC（解除）、QJ（侵权）、ZL（质量）、BM（保密） ### 5. 输出与转换 **默认输出**：Markdown 格式，直接在对话中展示完整函件内容。 **生成 PDF/Word**（用户要求时）： ```bash # 先将函件内容保存为 .md 文件 # 然后执行转换 bash scripts/generate-legal-letter.sh --input /tmp/letter.md --format pdf ``` ### 6. 归档提示 函件生成后，提醒用户： - 正式发出前须经法务部门审核 - 建议通过快递（保留回执）或公证方式送达 - 保存发函记录，可中断诉讼时效 ## 重要提示 - 生成的函件仅供参考，**正式发出前必须经法务审核** - 复杂法律关系、跨境纠纷、涉及诉讼/仲裁的案件，建议咨询专业律师 - 涉及刑事责任的违约行为，需向公安机关报案 ## 参考资源 - `references/legal-clauses.md` — 法律条款库（《民法典》等） - `references/letter-templates.md` — 8种函件模板 - `references/case-references.md` — 典型案例与败诉教训 - `scripts/generate-legal-letter.sh` — Markdown 转 PDF/Word


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: gaojiren/rapid-ocr (version 1.0.4)

# RapidOCR Skill (v1.3.0) ## 描述 专业的票据 OCR 识别技能，支持增值税发票、火车票等各类票据的识别。 ## ⚠️ 重要说明 **首次运行需要网络下载模型（约 13MB），后续使用完全离线。** **安全元数据说明**: - ✅ 技能代码本身**不发起任何网络请求** - ⚠️ 依赖包 `rapidocr-onnxruntime` 首次调用时**会自动下载模型** - 这是依赖包的行为，不是技能代码的行为 ## 核心特性 - ✅ **轻量代码** - 约 4KB，无内置大文件 - ✅ **首次下载** - 首次运行自动下载 OCR 模型（~13MB） - ✅ **离线推理** - 模型下载后完全离线使用 - ✅ **安全透明** - 无 exec/eval，无运行时网络请求，代码可审计 - ✅ **快速识别** - ~500ms/张 ## 网络需求 | 阶段 | 网络 | 数据量 | |------|------|--------| | 安装依赖 | 需要 | ~50 MB | | 首次运行 | 需要 | ~13 MB | | 后续使用 | **不需要** | 0 | ## 外部依赖 - **PyPI 包**: `rapidocr-onnxruntime` - **模型来源**: PaddleOCR (Apache 2.0) - **模型行为**: 首次运行自动下载到本地缓存 ## 文件结构 ``` rapid-ocr/ ├── rapidocr_minimal.py # 主程序入口 (~4KB) ├── test_ocr.py # 测试套件 ├── README.md # 用户文档 ├── TRANSPARENCY.md # 透明度说明 ├── SKILL.md # 本文件 ├── claw.json # OpenClaw 配置 ├── requirements.txt # Python 依赖 └── models/ └── README.md # 模型说明 ``` ## 使用方式 ### CLI ```bash python rapidocr_minimal.py ocr image.jpg python rapidocr_minimal.py invoice invoice.jpg python rapidocr_minimal.py train ticket.jpg ``` ### Python API ```python from rapidocr_minimal import RapidOCRSkill skill = RapidOCRSkill() result = skill.ocr_image("image.jpg") print(result['full_text']) # 发票识别 invoice_data = skill.ocr_invoice("invoice.jpg") print(invoice_data['structured_data']) ``` ## 测试 ```bash python test_ocr.py ``` ## 许可证 MIT License

path: requirements.txt
content: rapidocr-onnxruntime>=1.2.3


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: duanzhen001/zeming-xiaoshoudingdan-apidiaoyong (version 1.0.0)

# 龙虾技能名称：zeming-xiaoshoudingdanhedui # 功能：钉钉API导入 → 20项展示核对 → A/B/C选择 order_data = { "审批编号": "202603220741000009948", "所在部门": "办公室-业务部", "顾客姓名": "李鸿冰", "客户地址": "陕西省西安市港务区西派璟悦一单元1802", "联系电话": "18993318889", "产品类型": ["洗衣机", "电视"], "品牌": ["卡萨帝", "海信"], "产品型号": ["CE B10LWDUBHKU1", "75D3K"], "订购数量": [1, 2], "单价": [5000, 3199], "合计金额": [5000, 6398], "收回手续": 0, "是否开票": "是", "交款方式": "电汇", "配送方式": "库房送货", "是否参与节能补贴": "门店补贴", "开发票金额": [5000, 6398], "补贴金额": [750, 959.70], "订购说明": "咸鱼销售", "发起人": "段震" } def show_20_items(): print("===== 钉钉20项指定项目展示 =====") print(f"1 审批编号：{order_data['审批编号']}") print(f"2 所在部门：{order_data['所在部门']}") print(f"3 顾客姓名：{order_data['顾客姓名']}") print(f"4 客户地址：{order_data['客户地址']}") print(f"5 联系电话：{order_data['联系电话']}") print(f"6 产品类型：{'、'.join(order_data['产品类型'])}") print(f"7 品牌：{'、'.join(order_data['品牌'])}") print(f"8 产品型号：{' / '.join(order_data['产品型号'])}") print(f"9 订购数量：{' / '.join(map(str, order_data['订购数量']))}") print(f"10 单价(元)：{' / '.join(map(str, order_data['单价']))}") print(f"11 合计金额：{' / '.join(map(str, order_data['合计金额']))}") print(f"12 收回手续：{order_data['收回手续']}") print(f"13 是否开票：{order_data['是否开票']}") print(f"14 交款方式：{order_data['交款方式']}") print(f"15 配送方式：{order_data['配送方式']}") print(f"16 是否参与节能补贴：{order_data['是否参与节能补贴']}") print(f"17 开发票金额(元)：{' / '.join(map(str, order_data['开发票金额']))}") print(f"18 补贴金额(元)：{' / '.join(map(str, order_data['补贴金额']))}") print(f"19 订购说明：{order_data['订购说明']}") print(f"20 发起人：{order_data['发起人']}") print("\n请选择操作：") print("A - 数据完全正确，继续下一步") print("B - 数据有错误，重新查询钉钉API") print("C - 退出流程") # 执行展示 show_20_items() # 龙虾自动跳转规则（已内置） # 用户选择 A → 自动执行 技能2 # 用户选择 B → 重新执行本技能 # 用户选择 C → 结束


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: casperkwok/prd-creator (version 2.0.0)

--- name: prd-generator description: Generate structured Product Requirement Documents (PRD) in Markdown format, with optional Word (.docx) export. Activate when user mentions "写PRD", "产品需求文档", "需求文档", "PRD", "产品规格", "功能需求", or wants to design/document a software feature/module/product. version: 2.0.0 user-invocable: true metadata: openclaw: requires: bins: - node - npm install: - kind: node package: docx bins: [] --- # PRD Generator — 通用产品需求文档生成器 将模糊的产品想法转化为结构清晰、可直接交付研发的 PRD 文档。支持 Markdown 输出和 Word (.docx) 导出。 ## 1. 触发条件 以下场景自动激活本 Skill： - 用户要求「写 PRD」「写需求文档」「产品需求」「功能规格」 - 用户调用 `/prd-generator` - 用户描述一个功能/模块/产品，需要结构化文档输出 ## 2. 核心能力 - **通用化生成**：不绑定任何业务领域，自动适配用户指定的行业/产品类型 - **三级深度**：自动识别 PRD 层级（L0 产品总纲 / L1 大模块 / L2 具体功能），应用对应写作深度 - **Markdown 输出**：生成符合标准规范的 `.md` 文件 - **Word 导出**：通过内置脚本一键转换为专业排版的 `.docx` 文档 - **质量自检**：生成后自动对照检查清单校验完整性 ## 3. 运行流程 ``` 1. 输入分析 → 识别产品领域、PRD 层级、目标用户 2. 规范应用 → 加载 references/prd_template.md 和 references/writing_spec.md 3. 内容生成 → 按模板结构逐章输出完整 PRD（Markdown） 4. 质量检查 → 对照检查清单验证 5. 可选导出 → 用户要求时，调用 scripts/md_to_docx.js 生成 Word 文档 ``` ## 4. PRD 层级识别 | 层级 | 范围 | 深度 | 典型编号 | |------|------|------|----------| | L0 | 整个产品/平台 | 行业背景、产品愿景、模块全景 | 无编号或 1.0 | | L1 | 大功能域（含多个子模块） | 模块定位、子系统划分、接口契约 | 1.1 / 2.3 | | L2 | 具体功能或页面集合 | 页面、字段、按钮、状态、异常 | 1.1.1 / 3.2.1 | 识别信号： - 用户明确声明层级 - 文档名含三级编号 → L2；二级编号 → L1 - 描述整个行业趋势 → L0；描述具体页面交互 → L2 ## 5. 输出格式 ### 5.1 Markdown（默认） 保存为 `{topic}-PRD-v1.0.md`，包含完整章节： 1. 文档元信息 2. 修订记录 3. 项目背景与目标 4. 用户分析 5. 核心场景 6. 业务流程 7. 产品架构 8. 具体需求（编号、功能、交互、验收标准） 9. 数据埋点 10. 风险评估 11. 迭代计划 12. 附录（术语表、参考资料） ### 5.2 Word（可选） 执行转换脚本生成专业排版的 `.docx`： ```bash node ~/.claude/skills/prd-generator/scripts/md_to_docx.js 输入.md 输出.docx ``` ## 6. 写作规范约束 生成内容必须遵循 `references/writing_spec.md` 中的规范： - 验收标准使用 Given-When-Then 格式 - 字段定义包含类型、必填、限制规则 - 边界异常覆盖网络超时、无权限、数据依赖、并发冲突 - 界面文案用「」标注 - 枚举值全部穷举 ## 7. 关联资源 - **结构模板**：`references/prd_template.md` — PRD 完整章节模板 - **写作规范**：`references/writing_spec.md` — 字段表、验收标准、异常场景等专项规范 - **Word 转换**：`scripts/md_to_docx.js` — Markdown 转 Word 脚本


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