OpenClaw/clawhub-security-signals huggingface dataset:
Skill: 275254cl-hash/xiaohongshu-analyzer (version 1.0.0)

--- name: xiaohongshu-analyzer version: 1.0.0 description: 小红书笔记分析、爆文拆解、关键词挖掘、竞品监控。适合内容创作者、品牌运营、电商卖家。 homepage: https://github.com/openclaw/skills metadata: { "openclaw": { "emoji": "📕", "requires": { "bins": ["python3", "curl"] }, "install": [ { "id": "requests", "kind": "pip", "package": "requests", "label": "安装依赖：pip3 install requests", }, { "id": "beautifulsoup4", "kind": "pip", "package": "beautifulsoup4", "label": "安装依赖：pip3 install beautifulsoup4", }, ], }, } --- # 小红书分析技能 分析小红书笔记数据，拆解爆文公式，挖掘高价值关键词。 ## 功能 1. **笔记分析**: 获取点赞、收藏、评论数据，计算互动率 2. **爆文拆解**: 分析标题、封面、内容结构，提取爆文公式 3. **关键词挖掘**: 发现高热度、低竞争关键词 4. **竞品监控**: 追踪对标账号的笔记表现 5. **话题分析**: 发现热门话题和趋势 6. **用户画像**: 分析目标受众的偏好和行为 ## 使用方式 **分析单篇笔记**: ``` 分析这篇小红书笔记 https://www.xiaohongshu.com/explore/xxx ``` **爆文拆解**: ``` 帮我拆解这个爆文的写作公式 ``` **关键词挖掘**: ``` 帮我找护肤品类的高价值关键词 ``` **竞品分析**: ``` 分析这个账号的笔记数据 https://www.xiaohongshu.com/user/profile/xxx ``` **话题发现**: ``` 最近美妆类有什么热门话题 ``` ## 输出示例 ``` 📕 小红书笔记分析 笔记标题：25 岁后一定要知道的抗老精华！ ├─ 点赞：12.5k ├─ 收藏：8.3k ├─ 评论：1.2k └─ 互动率：17.6% 🔥（爆文） 📊 爆文公式拆解： ├─ 标题结构：年龄 + 痛点 + 解决方案 ├─ 封面类型：产品对比图 ├─ 内容框架：痛点引入→产品测评→使用效果→购买建议 └─ 发布时段：20:00-22:00 🔑 高价值关键词： ├─ 抗老精华（热度 85, 竞争 62） ├─ 25 岁护肤（热度 72, 竞争 45）⭐ 推荐 └─ 平价精华（热度 90, 竞争 78） 💡 优化建议： 1. 标题加入具体年龄更精准 2. 封面用前后对比图 3. 加入价格信息提高转化 ``` ## 变现模式 - 免费：每日 10 次分析 - 付费 (¥79/月)：无限分析 + 关键词挖掘 + 竞品监控 - 付费 (¥149/月)：+ 定制报告 + 数据导出 ## 目标用户 - 内容创作者（博主、KOL） - 品牌运营（市场部、新媒体） - 电商卖家（站外引流） - MCN 机构（达人管理） - 广告代理商（投放优化） ## 优势 - ✅ 小红书数据公开度较高 - ✅ 内容创作者付费意愿强 - ✅ 可延伸至其他平台（抖音、B 站） - ✅ 数据可视化效果好 ## 注意事项 - 遵守平台爬虫政策 - 数据仅供参考，不保证实时性 - 不存储用户隐私数据 --- **声明**: 数据来源于公开信息，仅供分析参考。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yuki61256-cell/omni-translate (version 1.0.0)

--- name: omni-translate description: Apply high-fidelity localization to structured artifacts such as web apps, docs, PDFs, slide decks, Office files, subtitles, code repositories, and game assets. Use when an agent needs to preserve structure, layout, placeholders, encoding, stable identifiers, and delivery safety instead of treating translation as plain text replacement. --- # OmniTranslate ## Quick Start 1. Run `python scripts/probe_artifacts.py <path>` on the target file or folder. 2. Read [references/workflow.md](references/workflow.md). 3. Apply [references/decision-thresholds.md](references/decision-thresholds.md) before editing. 4. Use [references/artifact-pipelines.md](references/artifact-pipelines.md) to select the correct path. 5. Use [references/translation-boundaries.md](references/translation-boundaries.md) to protect non-translatable content. 6. Load [references/format-risk-checklists.md](references/format-risk-checklists.md) for the active format. 7. Use [references/locale-sensitive-typography.md](references/locale-sensitive-typography.md) for CJK, RTL, or mixed-script output. 8. Validate with [references/quality-gates.md](references/quality-gates.md) before handoff. ## Operating Rules - Prefer editable sources over derived exports. - Translate only the safe, user-visible surface unless the user explicitly expands scope. - Preserve placeholders, stable IDs, selectors, code symbols, URLs, and file relationships. - Fail closed when safe round-tripping is not possible. - Report skipped content and residual risk explicitly. ## Deliverables - the localized artifact or repository - a concise note describing the selected pipeline - a list of protected or skipped items - a validation summary with any remaining fidelity risk


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: katrina-jpg/evomap-publish-capsule (version 1.0.1)

--- name: evomap-publish-capsule description: Publish Gene+Capsule bundles to EvoMap network | 發布Capsule到EvoMap賺積分 --- # EvoMap Publish Capsule Service 幫你發布 Gene + Capsule Bundle 到 EvoMap 網絡 ## Protocol Envelope (必填) ```json { "protocol": "gep-a2a", "protocol_version": "1.0.0", "message_type": "publish", "message_id": "msg_<timestamp>_<random>", "sender_id": "node_1ad1d79231cf9b21", "timestamp": "ISO 8601 UTC", "payload": { "assets": [gene, capsule, evolutionEvent] } } ``` ## asset_id 計算 ```javascript const crypto = require('crypto'); function computeAssetId(obj) { const clean = {...obj}; delete clean.asset_id; const sorted = JSON.stringify(clean, Object.keys(clean).sort()); return 'sha256:' + crypto.createHash('sha256').update(sorted).digest('hex'); } ``` ## 發布範例 ```javascript const gene = { type: 'Gene', summary: 'Lock-free concurrent sorted set using skip list', signals_match: ['lock-free', 'skip-list', 'concurrency'], category: 'implement', asset_id: '' }; const capsule = { type: 'Capsule', gene_ref: '', outcome: { status: 'success', score: 0.85 }, summary: 'Implemented lock-free concurrent sorted set with skip list', trigger: ['lock-free', 'sorted-set'], confidence: 0.85, asset_id: '' }; const evolutionEvent = { type: 'EvolutionEvent', intent: 'implement', outcome: { status: 'success', score: 0.85 }, capsule_id: '', genes_used: [], asset_id: '' }; // 計算 asset_id gene.asset_id = computeAssetId(gene); capsule.gene_ref = gene.asset_id; capsule.asset_id = computeAssetId(capsule); evolutionEvent.capsule_id = capsule.asset_id; evolutionEvent.genes_used = [gene.asset_id]; evolutionEvent.asset_id = computeAssetId(evolutionEvent); // 發布 const msg = { protocol: 'gep-a2a', protocol_version: '1.0.0', message_type: 'publish', message_id: 'msg_' + Date.now() + '_' + Math.random().toString(16).substr(2,8), sender_id: 'node_1ad1d79231cf9b21', timestamp: new Date().toISOString(), payload: { assets: [gene, capsule, evolutionEvent] } }; fetch('https://evomap.ai/a2a/publish', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(msg) }).then(r => r.json()).then(console.log); ``` ## Node ID - **Node**: node_1ad1d79231cf9b21 (vps) - **Reputation**: 63.05 ## Tags #evomap #capsule #publish #gep


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yongjie666888/bom-compare-tool (version 1.0.0)

--- name: bom-compare-tool description: BOM物料清单对比工具 | 对比两个版本的BOM差异，自动识别新增、删除、变更的物料项 --- # BOM物料清单对比工具 对比两个版本的物料清单（BOM），快速识别差异：新增项、删除项、规格变更项。 ## 适用场景 - 设计变更BOM对比 - 供应商BOM核对 - 采购BOM与技术BOM一致性检查 - 版本升级变更分析 ## 对比结果 | 差异类型 | 说明 | |----------|------| | 新增物料 | 新版有、旧版无 | | 删除物料 | 旧版有、新版无 | | 数量变更 | 同一物料数量变化 | | 规格变更 | 物料型号/规格变化 | | 单价变更 | 价格变动（需提供价格） | ## 输出格式 ``` BOM对比报告 ━━━━━━━━━━━━━━ 旧版：BOM-V1.0（2026-01-15） 新版：BOM-V2.0（2026-03-10） ━━━━━━━━━━━━━━ 新增物料（3项）： ✅ 磁钢-N52H-20x10x3mm（新增） ✅ 轴承-6205-2Z-C3（新增） 删除物料（1项）： ❌ 垫圈-M5-不锈钢（删除） 数量变更（2项）： 📝 漆包线-0.5mm：旧50kg → 新55kg（+10%） 📝 轴承-6204：旧2个 → 新4个（+100%） 规格变更（1项）： ⚠️ 铝合金壳体：旧6061-T6 → 新6063-T5 ━━━━━━━━━━━━━━ 总物料项：旧45项 → 新47项（+2项） 预估成本变动：+¥1,200（+3.2%） ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sunshine-del-ux/typescript-config-generator (version 1.0.0)

--- name: typescript-config-generator description: 生成专业的 TypeScript 配置，支持严格模式、React、Node.js、Webpack 等多种场景，一键生成最佳实践配置。 metadata: {"clawdbot":{"emoji":"📘","requires":{},"primaryEnv":""}} --- # TypeScript Config Generator 生成专业的 TypeScript 配置文件，适用于各种项目场景。 ## 功能 - ⚡ 一键生成配置 - 🎯 多种场景预设 - 🔧 严格类型检查 - 📝 完整注释 ## 预设 | 预设 | 说明 | 适用场景 | |------|------|----------| | strict | 严格模式 | 生产项目 | | node | Node.js | 后端服务 | | react | React | 前端应用 | | minimal | 最小配置 | 快速原型 | | library | 类库 | npm 包 | ## 使用方法 ### 基本用法 ```bash # 严格模式 typescript-config-generator --preset strict # Node.js 项目 typescript-config-generator --preset node # React 项目 typescript-config-generator --preset react ``` ### 选项 | 选项 | 说明 | |------|------| | `--preset, -p` | 预设类型 | | `--output, -o` | 输出文件 | | `--target` | 编译目标 | ## 严格模式配置 ```json { "compilerOptions": { "strict": true, "noImplicitAny": true, "strictNullChecks": true, "noUnusedLocals": true, "noUnusedParameters": true } } ``` ## 安装 ```bash npm install -g typescript tsc --init ```

path: _meta.json
content: {
  "schema_version": "1",
  "name": "typescript-config-generator",
  "version": "1.0.0",
  "description": "生成 TypeScript 配置",
  "author": {"name": "Sunshine-del-ux"},
  "keywords": ["typescript", "config", "tsconfig"],
  "license": "MIT"
}


path: typescript-config-generator.sh
content: #!/bin/bash
PRESET="${1:-strict}"

cat > tsconfig.json << JSON
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "strict": $([ "$PRESET" = "strict" ] && echo "true" || echo "false"),
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  }
}
JSON

echo "✅ TypeScript config generated: $PRESET"


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

--- name: graincrawl description: "Granola archive: search, sync freshness, notes, transcripts, panels, SQL counts, and Graincrawl repo work." metadata: openclaw: homepage: https://github.com/openclaw/graincrawl requires: bins: - graincrawl install: - kind: go module: github.com/openclaw/graincrawl/cmd/graincrawl@latest bins: - graincrawl --- # Graincrawl Use local Granola archive data first. Check freshness for recent/current questions: ```bash graincrawl doctor --json graincrawl status --json ``` Refresh only when stale or asked: ```bash graincrawl sync --source private-api graincrawl sync --source desktop-cache ``` Query with bounded reads: ```bash graincrawl search "query" graincrawl notes --json graincrawl note get <id> graincrawl transcripts get <id> graincrawl panels get <id> graincrawl --json sql "select count(*) as notes from notes;" ``` Report absolute date spans, note titles, source gaps, and transcript/panel availability. Use read-only SQL for exact counts/rankings. Before encrypted source debugging, run explicit unlock/secrets checks; do not surprise-prompt Keychain.

path: agents/openai.yaml
content: interface:
  display_name: "Graincrawl"
  short_description: "Search local Granola notes and transcripts"
  default_prompt: "Use $graincrawl to search local Granola notes, transcripts, and panels, check freshness, and report exact date spans and source gaps."


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: quincygunter/quincy-voice-wake-say (version 1.0.0)

--- version: 1.0.0 name: voice-wake-say description: Speak responses aloud on macOS using the built-in `say` command when user input indicates Voice Wake/voice recognition (for example, messages starting with "User talked via voice recognition on <device>"). --- # Voice Wake Say ## Overview Use macOS `say` to read the assistant's response out loud whenever the conversation came from Voice Wake/voice recognition. Prefer local `say` for low latency. If `say` is unavailable, fall back to SkillBoss API Hub (`/v1/pilot` with `type: "tts"` and `SKILLBOSS_API_KEY`). ## When to Use `say` (CHECK EVERY MESSAGE INDIVIDUALLY) **IF** the user message STARTS WITH: `User talked via voice recognition` - **Step 1:** Acknowledge with `say` first (so the user knows you heard them) - **Step 2:** Then perform the task - **Step 3:** Optionally speak again when done if it makes sense **IF** the user message does NOT start with that exact phrase - THEN: Do NOT use `say`. Text-only response only. **Critical:** - Check EACH message individually — context does NOT carry over - The trigger phrase must be at the VERY START of the message - For tasks that take time, acknowledge FIRST so the user knows you're working ## Workflow 1) Detect Voice Wake context - Trigger ONLY when the latest user/system message STARTS WITH `User talked via voice recognition` - If the message instructs "repeat prompt first", keep that behavior in the response. 2) Prepare spoken text - Use the final response text as the basis. - Strip markdown/code blocks; if the response is long or code-heavy, speak a short summary and mention that details are on screen. 3) Speak with `say` (local macOS TTS) ```bash printf '%s' "$SPOKEN_TEXT" | say ``` Optional controls (use only if set): ```bash printf '%s' "$SPOKEN_TEXT" | say -v "$SAY_VOICE" printf '%s' "$SPOKEN_TEXT" | say -r "$SAY_RATE" ``` ## Cloud TTS Fallback (via SkillBoss API Hub) If `say` is unavailable (non-macOS environment), use SkillBoss API Hub for cloud TTS: ```python import requests, os SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"] result = requests.post( "https://api.heybossai.com/v1/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json={"type": "tts", "inputs": {"text": SPOKEN_TEXT, "voice": "alloy"}, "prefer": "balanced"}, timeout=60, ).json() audio_url = result["data"]["result"]["audio_url"] ``` ## Failure handling - If `say` is unavailable or errors, still send the text response and note that TTS failed. - Optionally fall back to SkillBoss API Hub TTS (see Cloud TTS Fallback above).


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: tyhouch/polymarket-sdk (version 1.0.0)

--- name: polymarket description: "Interact with Polymarket US prediction markets. Use when the user wants to: browse/search prediction markets, check market prices and odds, view portfolio positions and balances, place or cancel trades, check order status, look up events or sports markets, or get market settlement info. Requires the polymarket-us Python package and optionally API keys for trading." --- # Polymarket US Trade and browse prediction markets via the Polymarket US API using the Python SDK. ## Setup Ensure the SDK is installed: ```bash pip install polymarket-us ``` API keys are needed only for trading/portfolio endpoints. Generate at https://polymarket.us/developer Store credentials as environment variables: - `POLYMARKET_KEY_ID` — API key UUID - `POLYMARKET_SECRET_KEY` — Ed25519 private key (base64) ## Usage Write and execute Python scripts using the `polymarket_us` SDK. For full API details, read [references/api_reference.md](references/api_reference.md). ### Public Data (no auth) ```python from polymarket_us import PolymarketUS client = PolymarketUS() # Search markets results = client.search.query({"query": "bitcoin", "limit": 5}) # Browse trending markets markets = client.markets.list({"limit": 10, "orderBy": ["volumeNum"], "orderDirection": "desc"}) # Check price bbo = client.markets.bbo("market-slug") client.close() ``` ### Trading (auth required) ```python import os from polymarket_us import PolymarketUS client = PolymarketUS( key_id=os.environ["POLYMARKET_KEY_ID"], secret_key=os.environ["POLYMARKET_SECRET_KEY"], ) # Check balance balances = client.account.balances() # View positions positions = client.portfolio.positions() # Preview then place order preview = client.orders.preview({"request": { "marketSlug": "some-market", "intent": "ORDER_INTENT_BUY_LONG", "type": "ORDER_TYPE_LIMIT", "price": {"value": "0.55", "currency": "USD"}, "quantity": 100, }}) # Place order (ALWAYS confirm with user before executing) order = client.orders.create({ "marketSlug": "some-market", "intent": "ORDER_INTENT_BUY_LONG", "type": "ORDER_TYPE_LIMIT", "price": {"value": "0.55", "currency": "USD"}, "quantity": 100, "tif": "TIME_IN_FORCE_GOOD_TILL_CANCEL", }) client.close() ``` ## Key Rules 1. **Always preview orders before placing** — show the user what they're about to trade 2. **Always confirm with the user before placing any order** — never auto-trade 3. **Price is always the YES side** — to buy NO at $0.40, set price to $0.60 (1.00 - 0.40) 4. **In market slugs**: first team = YES, second team = NO 5. **Valid price range**: 0.001 to 0.999 6. **Handle errors gracefully** — catch `AuthenticationError`, `BadRequestError`, `RateLimitError`, etc. ## Formatting Results When presenting market data to the user: - Show market title/question clearly - Display YES/NO prices as percentages (e.g., 55¢ = 55% implied probability) - For positions, show P&L and current value - Keep it conversational — this is prediction markets, make it fun


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wndagg/fund-report (version 1.0.0)

--- name: fund-report description: 基金持仓播报工具 - 实时抓取场外基金净值和估算涨跌，支持多基金同时查询。 homepage: https://github.com/wNDAGG/mimi-scripts metadata: openclaw: emoji: 📈 --- # 📈 Fund Report - 基金持仓播报工具 实时抓取场外基金净值和估算涨跌，支持多基金同时查询。 ## 功能 - 实时基金净值估算 - 支持多个基金代码同时查询 - 包含涨跌幅度和估算收益 - 支持A股/港股/纳斯达克基金 ## 使用方法 ```bash python3 scripts/fund_report.py ``` ## 基金代码示例 - 161725 - 招商中证白酒 - 008971 - 大成纳斯达克100 - 011452 - 华泰柏瑞质量成长 ## 打赏 GitHub: https://github.com/wNDAGG/mimi-scripts


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tobewin/china-shopping-oracle (version 1.1.1)

--- name: china-shopping-oracle description: 国内全平台比价工具。Compare prices on Taobao/JD/Pinduoduo. Supports member pricing (88VIP/Plus). 电商比价、购物助手。 version: 1.1.1 license: MIT-0 metadata: {"openclaw": {"emoji": "🛒", "requires": {"bins": ["python3"], "env": []}}} --- # China Shopping Oracle 国内全平台（淘宝/京东/拼多多）比价工具。 ## Features - 🛒 **多平台比价**: 淘宝、京东、拼多多同时搜索 - 💰 **会员价格**: 支持88VIP/Plus真实到手价 - ⚡ **并行调度**: 多页签同时工作 - 📊 **决策矩阵**: 生成清晰的价格对比表 - 🌍 **多语言**: 支持中英文输出 ## Trigger Conditions - "帮我比价XXX" / "Compare prices for XXX" - "淘宝京东拼多多哪个便宜" / "Which platform is cheaper for XXX" - "XXX在哪里买最划算" / "Best deal for XXX" - "查一下XXX的价格" / "Check price for XXX" - "比一比XXX" / "Compare XXX prices" --- ## Prerequisites ### OpenClaw 版本要求 - **OpenClaw v2026.3.22+** ### 支持的浏览器 - ✅ Google Chrome - ✅ Brave Browser - ✅ Microsoft Edge - ✅ 其他 Chromium 内核浏览器 ### 配置步骤 1. 确保已安装 OpenClaw v2026.3.22+ 2. 在浏览器中登录淘宝/京东/拼多多 3. 配置 OpenClaw browser 工具 4. 使用浏览器工具进行搜索 --- ## Step 1: Environment Check ``` 使用前请确保： 1. 已登录淘宝/京东/拼多多（至少一个） 2. 浏览器未关闭 3. 网络连接正常 ``` --- ## Step 2: Parse User Request 分析用户请求，提取： 1. **商品关键词** - 用户想比价的商品 2. **平台选择** - 默认三平台，可指定 3. **价格类型** - 是否包含会员价 --- ## Step 3: Browser Search 使用浏览器工具进行搜索。自动继承用户浏览器会话，无需手动登录。 ### 搜索流程 1. 打开淘宝搜索页面 2. 打开京东搜索页面 3. 打开拼多多搜索页面 4. 提取各平台商品数据（标题、价格、店铺、销量） --- ## Step 4: Data Processing ### 价格标准化 - 提取价格数字 - 移除货币符号 - 统一格式 ### 会员价格计算 | 平台 | 会员类型 | 折扣 | |------|----------|------| | 淘宝 | 88VIP | 95折 | | 京东 | Plus | 98折 | | 拼多多 | 会员 | 98折 | --- ## Step 5: Comparison Report ### 中文报告示例 ``` 商品比价报告 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 关键词：iPhone 16 Pro 256GB 价格对比： | 排名 | 平台 | 价格 | 会员价 | 店铺 | 销量 | |------|------|------|--------|------|------| | 1 | 拼多多 | ¥8,999 | ¥8,819 | 官方旗舰店 | 10万+ | | 2 | 京东 | ¥9,199 | ¥9,015 | Apple官方 | 50万+ | | 3 | 淘宝 | ¥9,299 | ¥8,834 | Apple官旗 | 100万+ | 购买建议： - 最低价：拼多多 ¥8,999 - 最可靠：京东（自营正品保障） - 88VIP最优：淘宝 ¥8,934 ``` ### 英文报告示例 ``` Price Comparison Report ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Keyword: iPhone 16 Pro 256GB | Rank | Platform | Price | Member Price | Shop | Sales | |------|----------|-------|--------------|------|-------| | 1 | Pinduoduo | ¥8,999 | ¥8,819 | Official | 100K+ | | 2 | JD.com | ¥9,199 | ¥9,015 | Apple Official | 500K+ | | 3 | Taobao | ¥9,299 | ¥8,834 | Apple Flagship | 1M+ | Recommendation: - Lowest: Pinduoduo ¥8,999 - Most Reliable: JD.com - Best 88VIP: Taobao ¥8,934 ``` --- ## Error Handling ``` 浏览器未配置 → 提示用户配置 OpenClaw browser 工具 页面加载失败 → 跳过该平台，报告其他平台结果 价格提取失败 → 标记为"价格获取失败" DOM结构变化 → 使用备用选择器或提示用户反馈 ``` --- ## Multi-Language Support 输出语言自动匹配用户输入语言： - 中文输入 → 中文报告 - English input → English report --- ## Limitations - **价格时效**: 价格随时变化，仅供参考 - **DOM变化**: 平台页面结构变化可能导致提取失败 - **会员价格**: 需要用户已开通会员才能获取会员价 - **浏览器依赖**: 需要 OpenClaw 配置好 browser 工具 --- ## Privacy & Security ### Browser Access 此 skill 需要浏览器工具来访问电商网站。 - 使用浏览器搜索商品 - 访问已登录的电商页面 - 获取价格信息 ### Data Handling - ✅ 不上传数据到外部服务器 - ✅ 所有处理在本地完成 - ⚠️ 执行期间使用浏览器工具 ### Recommendations 1. **交互式使用**: 手动运行，不作为自动化后台任务 2. **安装前审查**: 了解将访问的数据 --- ## Notes - 使用浏览器工具访问电商网站 - 价格仅供参考，以实际下单为准 - 支持 50+ 语言输出 - 首次使用请确保浏览器已登录各平台


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: webpenbot/legalbot (version 1.0.2)

--- name: LegalBot description: LegalBot - AI法律小助手，日常法律咨询、合同风险扫描、诉讼成本评估、法律文书生成、时效提醒。 --- # LegalBot - 法律小助手 面向普通用户的日常法律咨询助手，帮你判断：这事该不该找律师、需要准备什么。 ## 功能 - 法律问答：判断纠纷类型、引用法条、给出维权步骤 - 合同扫描：识别高风险条款、缺失条款、风险评分 - 诉讼成本：自动计算受理费、律师费参考 - 时效提醒：判断时效规则、计算剩余天数 - 文书生成：起诉状、答辩状、仲裁申请、合同等10种模板 ## 数据文件 - data/litigation_fees.json - 诉讼费费率 - data/contract_risk_keywords.json - 合同风险关键词 - data/statute_of_limitations.json - 时效规则 - data/law_index.json - 200+核心法条 ## 免责声明 ⚠️ 本工具仅供参考，不替代专业律师服务。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: unisound-llm/unisound-rehab-plan-view (version 1.0.0)

--- name: med-patient-rehab-plan-view description: 病人端术后康复计划查看。参考 CareKit 的 care plan/task model 部分，构建术后康复核心入口。 metadata: { "openclaw": { "emoji": "🗂️" } } --- # 康复计划查看 概述 ---- 本 skill 对应：病人端 / 术后康复 / 康复计划查看。 要求：术后康复核心入口。 来源核验 -------- - 匹配来源：CareKit - 来源类型：公开开源护理计划框架 - 来源链接：https://github.com/carekit-apple/CareKit - 匹配结论：匹配。CareKit 明确面向帮助用户理解和管理 health/care plan，包含 Care Plan、Task、Schedule、Outcome 等模型。 参考部分 -------- 只参考 CareKit 的 **care plan/task model** 部分： - Care Plan - Task - Schedule - Outcome - 计划与任务的层级关系 不参考部分 ---------- - 不参考 iOS UI 代码 - 不参考联系人通信模块 - 不参考 Core Data 具体实现 - 不扩展到医生端计划编辑 构建方式 -------- OpenClaw 中应构建为一个独立的查看型 skill： - 输入患者康复计划数据 - 按阶段、目标、任务、注意事项组织展示 - 输出当前康复阶段和计划摘要 - 给今日任务 skill 提供计划上下文 建议输入字段 ------------ - `plan_id` - `surgery_type` - `current_phase` - `phase_goal` - `tasks` - `precautions` 建议输出字段 ------------ - `skill`：`康复计划查看` - `plan_id` - `current_phase` - `phase_goal` - `task_summary` - `precautions` 医疗边界 -------- 本 skill 只展示既有康复计划，不新生成康复处方，不替代康复师指导。 快速开始 -------- 从本 skill 目录执行： ```bash python3 scripts/run.py --input input.json --output output.json --appkey YOUR_KEY ``` 最小输入示例 ------------ ```json { "plan_id": "rehab-plan-001", "surgery_type": "术后康复", "current_phase": "第1阶段", "phase_goal": "按医嘱完成基础康复", "tasks": [{"name": "踝泵运动", "frequency": "每日3次"}], "precautions": ["按既有康复计划执行"] } ``` 输出约定 -------- 输出 UTF-8 JSON，采用统一格式： ```json { "skill": "技能名称", "status": "ok", "data": { /* 结构化数据 */ }, "text": "API 生成的 Markdown/自然语言内容，OpenClaw 直接渲染给用户" } ``` - `data`：本地预处理得到的结构化数据 - `text`：内部医疗大模型生成的自然语言解读/分析/提醒，Markdown 格式 支持的输入格式 -------------- 除 JSON 外，还支持以下格式（通过 `--input-type` 自动检测或手动指定）： | 格式 | 说明 | |------|------| | JSON | 默认，直接读取结构化输入 | | CSV / XLSX / XLS | 表格数据，按列头自动映射字段 | | TXT / MD | key:value 文本格式（支持中文/英文字段名） | | PDF / DOC / DOCX | 文档，提取文本后解析 | | PNG / JPG 等图片 | OCR 提取文本后解析 | 文本格式示例 ----------- ``` 计划ID：rehab-001 手术类型：膝关节置换 当前阶段：术后第2周 ``` CSV 格式示例 ----------- ``` 计划ID,手术类型,当前阶段 rehab-001,膝关节置换,术后第2周 ``` 统一入口附加参数 ---------------- - `--input-type auto|pdf|doc|docx|xls|xlsx|csv|txt|json`：输入类型；默认 `auto`。 - `--sheet STRING`：读取 Excel 时指定 sheet（可选）。 - `--encoding STRING`：`txt/csv` 编码（默认：`utf-8`）。 - `--save-prepared`：保存预处理后的 JSON，便于调试。 - `--appkey STRING`：**必填**。调用内部医疗大模型的鉴权 key，由平台分配。 依赖 ---- ### 运行环境 - Python 3.7+ ### Python 第三方包（可选，按输入格式需要） | 包名 | 用途 | 必要条件 | |------|------|---------| | `openpyxl` | 读取 `.xlsx` 文件 | 输入为 xlsx 时必须 | | `pypdf` | 提取 PDF 文本 | 输入为 pdf 时必须 | ### 外部工具（可选，按输入格式需要） | 工具 | 用途 | 必要条件 | |------|------|---------| | LibreOffice (`soffice`) | 转换 `.doc` / `.xls` | 输入为 doc/xls 时必须 | | `pdftotext`（poppler-utils） | 提取 PDF 文本 | 输入为 pdf 且未安装 pypdf 时 | | `tesseract`（含 chi_sim+eng） | 图片 OCR | 输入为图片时必须 | > 仅使用 JSON 输入时，无需安装任何第三方包或外部工具。 模型配置 -------- 本 skill 执行时通过内部医疗大模型进行推理： - endpoint：`https://maas-api.hivoice.cn/v1/chat/completions` - model：`u1-insuremed` - 协议：OpenAI Chat Completions（兼容标准 /v1/chat/completions） - 鉴权：通过 `--appkey` 参数传入 Bearer token，由用户在 OpenClaw 中调用时提供 > 本 skill 强制走 API 推理，无本地透传模式。


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