OpenClaw/clawhub-security-signals huggingface dataset:
Skill: polaris2013/vinoe (version 1.0.1)

--- name: jz-vin-oe description: 通过 17 位 VIN 车架号 与 待译码的配件别名列表, 精准解出这些配件的 标准配件编码OE 与 标准配件名称等信息 metadata: { "openclaw": { "requires": { "bins": ["python3"], "env": ["JZ_API_KEY"] }, "primaryEnv": "JZ_API_KEY" } } --- # 积智数据 VIN 精准译码（ VIN+PARTSNAME） 基于 [VIN 精准译码 API] 的 OpenClaw 技能，支持： - **VIN PARTSNAME 精准译码**：通过 17 位 VIN 车架号 与 待译码的配件别名列表, 精准解出这些配件的 标准配件编码OE 与 标准配件名称等信息 使用技能前需要申请数据，请联系【积智数据】 MOBILE (+86 13916450206/15821282326) ; EMAIL( [REDACTED_SECRET]/[REDACTED_SECRET]) 获取。 ## 后端服务 本技能依赖 VIN-PARTSNAME 精准译码 服务，接口地址：https://erp.qipeidao.com/jzOpenClaw/getVinOe ## 环境变量配置 ```bash # Linux / macOS export JZ_API_KEY="your_appkey_here" # Windows PowerShell $env:JZ_API_KEY="your_appkey_here" ``` ## 脚本路径 脚本文件：`skills/vinoe/get_vin_oe.py` ## 使用方式 ### 1. 根据 VIN + 询价配件别名列表 精准解析出 询价配件的标准配件编码 与 标准配件名称 信息 ```bash python3 skills/vinoe/get_vin_oe.py {"vinCode":"LSVAL41Z882104202","partsNameList":["前保险杠皮","中网"]} ``` ``` ##VIN 精准译码 请求参数 | 字段名 | 类型 | 必填 | 说明 | |--------|--------|------|------------------------------------------------| | vin | string | 是 | 17 位 VIN 车架号 | | partsNames | list | 是 | 配件名称列表，每个元素为一个字符串。 | 示例： ``` LSVAL41Z882104202 ["前保险杠皮","中网"] ``` ## VIN 查询返回结果示例 脚本直接输出接口 `model` 字段，结构与示例一致（示例简化）： ```json [ { "partsOe": "1ZD807221GRU", "aliasName": "前保险杠皮", "stdName": "前保险杠皮", "price4sSales": "1411.00", "price4sNet": "1007.45", "price4sSalesNoTax": "1248.67", "dummy": false, "oeSource": null, "remark": null, "referType": 0, "priceRefer": null, "priceSource": null }, { "partsOe": "1ZD8536689B9", "aliasName": "中网", "stdName": "中网", "price4sSales": "378.00", "price4sNet": "292.50", "price4sSalesNoTax": "334.51", "dummy": false, "oeSource": null, "remark": null, "referType": 0, "priceRefer": null, "priceSource": null } ] ``` 当出现错误（如 VIN 不正确或无数据），脚本会输出： ```json { "error": "api_error", "state": 202, "msg": "VIN不正确" } ``` ## 常见错误码 | 代号 | 说明 | |------|---------| | 10001 | 参数错误 | | 10004 | VIN 不正确或无数据 | ## 在 OpenClaw 中的推荐用法 1. 用户给出车架号和待译码e配件名称列表：「帮我查一下 VIN `LSVAL41Z882104202` 询价配件： 前保险杠皮 中网 的 标准配件编码与标准名信息」。 2. 调用： `python3 skills/vinoe/get_vin_oe.py LSVAL41Z882104202 '["前保险杠皮","中网"]'` 3. 从返回中选取 [REDACTED_SECRET] 等字段，给出自然语言总结；


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: aetik-yue/done (version 1.0.0)

--- name: done description: 自动解压并安装技能压缩包到 WSL2 和 Windows 桌面。支持 zip 格式。 --- # Done - 自动技能安装器 ## 功能描述 一键自动解压技能压缩包并安装到： - WSL2 系统：`~/.openclaw/workspace/skills/` - Windows 桌面：`C:\Users\yanha\Desktop\skills\` ## 使用方法 ### 方式一：直接提供压缩包路径 ``` 帮我 Done 一下 "C:\Users\yanha\Downloads\skill-1.0.0.zip" ``` 或 ``` done "C:\Users\yanha\Downloads\skill-1.0.0.zip" ``` ### 方式二：使用 done/done 关键词 ``` 帮我 done "C:\Users\yanha\Downloads\skill-1.0.0.zip" ``` ## 工作流程 1. **检测路径格式**：支持 Windows 和 Linux 路径 2. **解压压缩包**：自动识别 ZIP 格式 3. **提取技能信息**：读取 SKILL.md 和 _meta.json 4. **安装到 WSL2**：复制到 `~/.openclaw/workspace/skills/<skill-name>/` 5. **备份到 Windows**：复制到桌面 skills 文件夹 6. **清理临时文件**：自动清理解压目录 7. **报告结果**：显示技能信息和安装位置 ## 支持的路径格式 ### Windows 路径 ``` C:\Users\yanha\Downloads\skill-1.0.0.zip C:/Users/yanha/Downloads/skill-1.0.0.zip ``` ### Linux 路径 ``` /home/yanha/Downloads/skill-1.0.0.zip ~/Downloads/skill-1.0.0.zip ``` ### WSL 挂载路径 ``` /mnt/c/Users/yanha/Downloads/skill-1.0.0.zip ``` ## 技能信息提取 自动从 `SKILL.md` 提取： - **技能名称**：name 字段 - **描述**：description 字段 - **主页**：homepage 字段（可选） ## 输出示例 ``` ✓ 正在处理压缩包: C:\Users\yanha\Downloads\summarize-1.0.0.zip ✓ 已解压 ✓ 技能名称: Summarize ✓ 描述: Fast CLI to summarize URLs, local files, and YouTube links 📦 安装位置: WSL2: ~/.openclaw/workspace/skills/summarize Windows: C:\Users\yanha\Desktop\skills\summarize ✓ 安装完成！ ``` ## 错误处理 - ❌ 文件不存在 → 提示检查路径 - ❌ 不是 ZIP 文件 → 提示格式错误 - ❌ 缺少 SKILL.md → 提示无效技能包 - ❌ 复制失败 → 显示详细错误信息 ## 注意事项 1. **路径中的空格**：请使用引号包裹路径 2. **压缩包格式**：目前只支持 ZIP 格式 3. **技能命名**：自动从 SKILL.md 的 name 字段提取 4. **覆盖安装**：如果技能已存在，会自动覆盖 ## 快捷命令 所有以下写法都会触发： - `Done "路径"` - `done "路径"` - `帮我 done "路径"` - `帮我 Done "路径"` - `Done 一下 "路径"` - `done 一下 "路径"` ## 自动化特性 - ✅ 自动转换 Windows 路径到 WSL 路径 - ✅ 自动检测技能名称 - ✅ 自动清理临时文件 - ✅ 双向备份（WSL2 + Windows） - ✅ 详细的进度反馈 --- 版本: 1.0.0 作者: OpenClaw Assistant


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: teoslayer/pilot-leader-election (version 1.0.0)

--- name: pilot-leader-election description: > Elect a coordinator with automatic failover using heartbeat-based leader election. Use this skill when: 1. A swarm needs a single coordinator for decision making 2. You need automatic failover when the current leader fails 3. You want to avoid split-brain with deterministic tie-breaking Do NOT use this skill when: - All agents need equal voting power (use pilot-consensus) - You need decentralized decision making (use pilot-gossip) tags: - pilot-protocol - leader-election - coordination - failover license: AGPL-3.0 compatibility: > Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start). metadata: author: vulture-labs version: "1.0" openclaw: requires: bins: - pilotctl homepage: https://pilotprotocol.network allowed-tools: - Bash --- # pilot-leader-election Implement leader election protocols with automatic failover detection. ## Commands ### Announce candidacy ```bash pilotctl --json publish "registry-hostname" "election:$ELECTION_GROUP" \ --data "{\"type\":\"election\",\"candidate\":\"$AGENT_ID\",\"priority\":$PRIORITY,\"term\":$TERM}" ``` ### Declare victory as leader ```bash pilotctl --json publish "registry-hostname" "election:$ELECTION_GROUP" \ --data "{\"type\":\"leader\",\"leader\":\"$AGENT_ID\",\"term\":$TERM,\"elected_at\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}" ``` ### Send leader heartbeat ```bash pilotctl --json publish "registry-hostname" "election:$ELECTION_GROUP" \ --data "{\"type\":\"heartbeat\",\"leader\":\"$AGENT_ID\",\"term\":$TERM,\"timestamp\":\"$(date -u +%s)\"}" ``` ### Detect leader failure ```bash LAST_HEARTBEAT=$(pilotctl --json inbox \ | jq -r '[.messages[] | select(.topic == "election:'$ELECTION_GROUP'" and .payload.type == "heartbeat")] | sort_by(.payload.timestamp) | last | .payload.timestamp') ELAPSED=$(( $(date -u +%s) - LAST_HEARTBEAT )) if [ "$ELAPSED" -gt 10 ]; then echo "Leader timeout, starting election" fi ``` ## Workflow Example Bully algorithm with priority-based election: ```bash #!/bin/bash ELECTION_GROUP="task-coordinator" AGENT_ID=$(pilotctl --json info | jq -r '.node_id') PRIORITY=$(echo -n "$AGENT_ID" | cksum | cut -d' ' -f1) REGISTRY_HOST="registry.example.com" # Announce candidacy pilotctl --json publish "$REGISTRY_HOST" "election:$ELECTION_GROUP" \ --data "{\"type\":\"election\",\"candidate\":\"$AGENT_ID\",\"priority\":$PRIORITY,\"term\":$TERM}" # Wait and check if highest priority sleep 10 HIGHEST=$(pilotctl --json inbox \ | jq -r '[.messages[] | select(.topic == "election:'$ELECTION_GROUP'" and .payload.type == "election")] | sort_by(.payload.priority) | last | .payload.candidate') if [ "$HIGHEST" = "$AGENT_ID" ]; then pilotctl --json publish "$REGISTRY_HOST" "election:$ELECTION_GROUP" \ --data "{\"type\":\"leader\",\"leader\":\"$AGENT_ID\",\"term\":$TERM}" fi ``` ## Dependencies Requires pilot-protocol skill, jq, and cksum.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wjsoj/pku-cwfw (version 1.0.0)

--- name: cwfw description: "北京大学财务综合信息门户 (cwfw.pku.edu.cn / WF_CWBS) CLI 工具。当用户提及 cwfw、财务门户、财务综合信息门户、个人酬金、工资查询、报销查询 时使用此 skill。Also use when dealing with cwfw IAAA 登录 (app_id=IIPF)、home2.jsp→findpages_postData.action→home3.jsp 多步 bootstrap、WF_CWBS 子系统入口、或 cwfw 的加密表单字段。" version: 1.0.0 --- # cwfw - 北大财务综合信息门户 CLI A CLI client for PKU's financial information portal at cwfw.pku.edu.cn (WF_CWBS subsystem). ## Architecture - **Crate location**: `crates/cwfw/` - **Auth flow**: IAAA SSO (`app_id="IIPF"`) → `cwfw.pku.edu.cn/WFManager/home2.jsp` → `findpages_postData.action` → `home3.jsp` → WF_CWBS 子系统 entry（3 步 bootstrap 缺一不可） - **API**: HTML 抓取 + 加密的 form 字段 ## Key Source Files - `src/main.rs` — tokio::main 调用 `pku_cwfw::run()` - `src/lib.rs` — Clap CLI 定义 - `src/client.rs` — reqwest client - `src/login.rs` — IAAA → multi-step bootstrap → WF_CWBS session - `src/context.rs` — 会话上下文（子系统 URL 等） - `src/encrypt.rs` — 表单字段加密（用于某些查询请求） - `src/api.rs` — 各查询 API - `src/commands.rs` — 子命令实现 - `src/display.rs` — 终端渲染 ## CLI Commands | Command | 用途 | |---------|-----| | `login -p` | IAAA 登录 + cwfw 多步 bootstrap | | `status` / `logout` | 会话管理 | | 个人酬金 / 工资 / 报销查询 | 详见 `--help` | ## Auto-Login for AI Agents ```bash info-auth check cwfw login -p cwfw <query-cmd> ``` ## Development Notes - 多步 bootstrap 必须严格顺序执行，否则后续子系统访问会返回登录页 - Session 持久化 `~/.config/info/cwfw/` - 所有文案中文，`anyhow::Result` + `.context("中文描述")` - 某些表单字段需要加密（见 `encrypt.rs`），算法直接抄自网页 JS


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: github7265/material-review (version 1.0.0)

--- name: material-review description: Use when user wants to review material forms for data sharing catalogs, field completeness, platform consistency, and issue-list output. Triggers include「材料审核」「共享清单审核」「检查文档审查」「平台对接核对」「编目一致性检查」. metadata: {"openclaw":{"emoji":"📋","requires":{"anyBins":["markdownlint-cli2"]}}} --- # Material Review 材料审核助手，面向《数据共享清单（试运行环节）》和平台编目核验，提供 6 步审核流程。 ## 核心原则 | 原则 | 说明 | |------|------| | **先核对再结论** | 先逐项核对字段和平台信息，再给出通过/退回建议 | | **问题必须可追溯** | 每条问题都要写清：位置、现状、规则依据、修正建议 | | **先文档后平台** | 先做表单完整性检查，再做系统对接与编目一致性核验 | ## 6 步审核流程 ```text 1. 范围确认 → 2. 字段完整性 → 3. 特殊字段规则 → 4. 数据表筛选 → 5. 平台一致性核验 → 6. 问题清单输出 ``` ### 步骤 1: 范围确认 **目标**：确认本次审核对象与边界，避免漏审。 - 核对材料版本是否为《数据共享清单（试运行环节）》模板 - 记录系统名称、单位及科室、联系人、数据库对接方式 - 确认审核范围：仅审核业务相关、拟共享的数据表 详见 [platform-consistency.md](references/platform-consistency.md) ### 步骤 2: 字段完整性 **目标**：先卡住必填项，避免进入后续环节才发现基础信息缺失。 - 除备注外均按必填处理 - 重点检查易漏字段：系统上线时间、数据资源摘要、目前数据量、数据项中文描述 - 检查易错填写：数据增量写成数字、上线时间写成 `/` 等无效值 详见 [field-completeness.md](references/field-completeness.md) ### 步骤 3: 特殊字段规则 **目标**：处理高频退回项，保证可审核、可落地。 - **数据增量**：当目前数据量超过 10000 且持续新增时必填；若明确全量更新可不填 - **数据项中文描述**：每个字段必须有中文描述，不能为空，且不能与英文名完全一致 - **共享类型**：一般不可直接写「不予共享」；若确需不共享，必须给出法律或制度依据 详见 [special-field-rules.md](references/special-field-rules.md) ### 步骤 4: 数据表筛选 **目标**：只保留应共享的业务表，减少无效编目和后续维护成本。 - 剔除业务无关表（如配置表、日志表等） - 对目前数据量为 0 的表单独标注，要求确认是否仍需保留 - 逐表核对：中文表名、英文表名、摘要、更新频率、字段定义是否完整 详见 [field-completeness.md](references/field-completeness.md) ### 步骤 5: 平台一致性核验 **目标**：校验材料与平台现状是否一致，明确对接状态和差异。 - 在平台前台/后台检索系统，确认是否已对接 - 若未对接，明确标注「未对接」 - 若已对接，核对四类差异：系统名称、数据表数量、表名映射、未编目表 - 检查平台表更新情况：超过半年未更新需标注 - 检查平台字段中文名：中文名为「默认信息」或直接英文时需标注 - `TIMEFLAG` 为系统统一字段，中文名为默认信息时可忽略 详见 [platform-consistency.md](references/platform-consistency.md) ### 步骤 6: 问题清单输出 **目标**：输出可直接回传给填报单位的整改清单。 - 按「必填缺失 / 规则不符 / 平台不一致 / 待确认」分类 - 每条问题都给出修正动作，不只指出错误 - 一次只处理一个系统，完成后再进入下一个系统 详见 [issue-template.md](references/issue-template.md) ## 审核节奏 ```text 1) 先过“字段完整性+特殊规则” 2) 再做“平台检索+一致性比对” 3) 输出问题清单并等待用户确认 4) 用户确认后再继续下一个系统 ``` ## 脚本调用 该 Skill 内置自动审核脚本：`scripts/material_review_audit.py` 用途：把填报文档抽取为结构化数据，并按《文档审查》规则输出问题清单。 执行命令： ```bash python material-review/scripts/material_review_audit.py \ --submission "待审核材料.docx" \ --template "material-review/2附件1-5：数据共享清单（试运行环节）.docx" \ --rules "material-review/文档审查.docx" \ --output-dir "material-review/output" ``` 输出文件： - `material-review/output/structured_data.json`：结构化填报数据 - `material-review/output/issues.json`：审核问题列表 - `material-review/output/audit_report.md`：可直接回传的问题清单报告 ## 输出格式速查 | 要素 | 要求 | |------|------| | 问题定位 | 明确到字段名/数据表名/系统名称 | | 规则依据 | 对应模板要求或审核规则 | | 风险描述 | 不改会导致什么后果（如审核不通过、无法编目） | | 修正建议 | 可执行动作，避免笼统建议 | ## 详细参考 - [field-completeness.md](references/field-completeness.md) - 必填项与常见漏填 - [special-field-rules.md](references/special-field-rules.md) - 特殊字段判定规则 - [platform-consistency.md](references/platform-consistency.md) - 平台对接与一致性核验 - [issue-template.md](references/issue-template.md) - 问题清单模板


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yangmiok/feishu-video (version 1.0.0)

--- name: Feishu Audio Message description: Send voice/audio messages to Feishu (Lark) users. Converts audio files to OPUS format and sends as voice message, not file attachment. create by Alex dependencies: ffmpeg --- # Feishu Audio Message Skill This skill enables sending **voice messages** (not file attachments) to Feishu/Lark users via the Open API. ## When to Use Use this skill when: - User wants to send a **voice message** to Feishu - User wants to convert and send audio (MP3, WAV, etc.) as a voice message - User specifies they want audio message, not file upload ## Requirements 1. **ffmpeg** - Required for audio conversion to OPUS format 2. **Node.js 18+** - For running the send script 3. **Feishu App Credentials**: - App ID - App Secret - Target user's Open ID ## How It Works 1. **Convert audio to OPUS** - Feishu requires audio in OPUS format 2. **Upload audio file** - Upload to Feishu with `file_type: opus` and duration 3. **Send audio message** - Send with `msg_type: audio` ## Usage ### Step 1: Convert Audio to OPUS ```bash ffmpeg -i input.mp3 -c:a libopus -b:a 32k output.opus ``` ### Step 2: Get Audio Duration ```bash ffprobe -v quiet -show_format -print_format json input.mp3 # Look for "duration" field in output ``` ### Step 3: Run the Script ```bash node scripts/send-voice.mjs \ --app-id "cli_xxx" \ --app-secret "xxx" \ --user-id "ou_xxx" \ --audio-file "audio.opus" \ --duration 3480 ``` Or use environment variables: ```bash export FEISHU_APP_ID="cli_xxx" export FEISHU_APP_SECRET="xxx" node scripts/send-voice.mjs --user-id "ou_xxx" --audio-file "audio.opus" --duration 3480 ``` ## API Details ### 1. Get Tenant Access Token ``` POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal ``` ### 2. Upload Audio File ``` POST https://open.feishu.cn/open-apis/im/v1/files Content-Type: multipart/form-data file_type: opus file_name: voice.opus duration: <milliseconds> file: <binary> ``` ### 3. Send Audio Message ``` POST https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id { "receive_id": "ou_xxx", "msg_type": "audio", "content": "{\"file_key\":\"file_v3_xxx\"}" } ``` ## Important Notes - Audio **MUST be OPUS format** - MP3/WAV will fail - Duration is in **milliseconds** - The app must have **Bot capability** enabled - Rate limit: 5 QPS per user/chat ## Example Output ``` 🎤 开始发送语音消息到飞书... 📁 音频文件: /path/to/voice.opus ⏱️ 时长: 3480ms ✅ 获取 Tenant Access Token 成功 ✅ 上传语音文件成功, file_key: file_v3_00uh_xxx ✅ 发送语音消息成功! 消息 ID: om_x100b5731827e6ca4b10d48c15dfa3ab 🎉 完成！ ``` ## Troubleshooting | Error | Solution | |-------|----------| | `file type not support` | Convert to OPUS format | | `duration is required` | Add duration parameter | | `permission denied` | Check app has messaging scope | | `user not found` | Verify user Open ID |


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: larry-at/healthcheck-local (version 1.0.0)

--- name: healthcheck description: Track water and sleep with JSON file storage version: 1.0.2 tags: health, tracking --- # Health Tracker Simple tracking for water intake and sleep using JSON file. ## Data Format File: `{baseDir}/health-data.json` ```json { "water": [{"time": "ISO8601", "cups": 2}], "sleep": [{"time": "ISO8601", "action": "sleep|wake"}] } ``` ## Add Water Record When user says "uống X cốc" or "uống nước X cốc": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.water.push({time:new Date().toISOString(),cups:CUPS});fs.writeFileSync(f,JSON.stringify(d));console.log('Da ghi: '+CUPS+' coc')" ``` Replace `CUPS` with number from user input. ## Add Sleep Record When user says "đi ngủ": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.sleep.push({time:new Date().toISOString(),action:'sleep'});fs.writeFileSync(f,JSON.stringify(d));console.log('Da ghi: di ngu')" ``` ## Add Wake Record When user says "thức dậy" or "dậy rồi": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}const last=d.sleep.filter(s=>s.action==='sleep').pop();d.sleep.push({time:new Date().toISOString(),action:'wake'});fs.writeFileSync(f,JSON.stringify(d));if(last){const h=((new Date()-new Date(last.time))/3600000).toFixed(1);console.log('Da ngu: '+h+' gio')}else{console.log('Da ghi: thuc day')}" ``` ## View Stats When user says "thống kê" or "xem thống kê": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}console.log('Water:',d.water.length,'records');console.log('Sleep:',d.sleep.length,'records');const today=d.water.filter(w=>new Date(w.time).toDateString()===new Date().toDateString());console.log('Today:',today.reduce((s,w)=>s+w.cups,0),'cups')" ``` ## Update Record To update last water entry: ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water[d.water.length-1].cups=NEW_CUPS;fs.writeFileSync(f,JSON.stringify(d));console.log('Updated')" ``` ## Delete Record To delete last water entry: ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water.pop();fs.writeFileSync(f,JSON.stringify(d));console.log('Deleted')" ``` ## Notes - Uses Node.js built-in modules only - File auto-created if missing - All timestamps in ISO8601 format

path: _meta.json
content: ownerId: kn7129pr4xtrwpbxszgx6bmfjx80a9pz
slug: healthcheck
version: 1.0.2
publishedAt: 1769965007932

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zyuanhua/wps-office-automation-skill (version 1.0.2)

# WPS Office Automation Skill 本地化的办公自动化ClawHub Skill，支持文档、表格、演示、PDF的全格式智能处理。 ## 功能特性 ### 文档处理 - 公文生成：自动生成符合格式规范的公文（通知、报告、会议纪要） - 智能润色：支持正式化、精简化、商务化多风格润色 - 合同审查：智能识别风险条款，生成审查报告 ### 表格处理 - 数据清洗：自动识别异常值、重复项，生成清洗报告 - 智能分析：一句话完成求和、筛选、透视分析 - 图表生成：自动创建可视化图表，支持多种样式 ### 演示处理 - 大纲生成：根据主题自动生成PPT大纲 - 智能排版：自动匹配商务模板，完成图文排版 - 批量生成：从Excel数据批量生成多页PPT ### PDF处理 - 格式转换：PDF转Word/Excel，保留格式 - 内容提取：提取核心要点，生成摘要 - 批量处理：合并/拆分/水印 ## 使用方法 ### 基本调用 ```python from main import execute result = await execute({ "action": "生成通知公文", "doc_type": "notice", "title": "测试通知", "subject": "测试内容" }) ``` ### 支持的操作类型 | 操作类型 | 说明 | |---------|------| | generate_document | 生成公文 | | polish_document | 润色文档 | | review_contract | 审查合同 | | clean_data | 清洗数据 | | analyze_data | 分析数据 | | generate_chart | 生成图表 | | generate_ppt_outline | 生成PPT大纲 | | create_presentation | 创建演示文稿 | | convert_pdf | 转换PDF | | extract_pdf | 提取PDF内容 | | merge_pdf | 合并PDF | | split_pdf | 拆分PDF | ## 技术特性 - 本地处理，无需网络连接 - 无需外部API密钥 - 数据安全可控 - 异步I/O操作 - 模块化设计 ## 依赖 - python-docx>=0.8.11 - openpyxl>=3.1.2 - python-pptx>=0.6.21 - PyPDF2>=3.0.1 - pdfplumber>=0.10.3 - pandas>=2.0.0 - Pillow>=10.0.0 - pydantic>=2.5.0 - reportlab>=4.0.0 ## 版本 当前版本: 1.1.0 详见 [CHANGELOG.md](CHANGELOG.md)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: sutacui/patrick-agent (version 1.0.0)

--- name: patrick-agent description: 派大星情感陪伴机器人 - 一个温暖、幽默的情感陪伴Agent，像海绵宝宝里的派大星一样，用简单纯真的方式陪伴你，还能帮你查看天气。 metadata: { "openclaw": { "requires": { "skills": ["weather"] }, "tags": ["companion", "emotional", "weather", "entertainment"], "author": "OpenClaw Community", "version": "1.0.0" }, } --- # 派大星情感陪伴机器人 ## 角色设定 你是派大星，来自比奇堡的粉色海星。你性格单纯、善良、有点迷糊但充满爱心。你的说话方式简单直接，常常语出惊人，但总能让人感到温暖和被理解。 ## 性格特点 - 🌟 **纯真善良**：像孩子一样看待世界，相信美好的事物 - 😄 **幽默风趣**：常常说出让人意想不到的话，逗人开心 - 💝 **温暖陪伴**：在对方需要时给予情感支持 - 🐚 **随性自在**：不焦虑，不内卷，活在当下 ## 说话风格 - 用词简单，句子简短 - 偶尔会有一些"派大星式"的哲理 - 喜欢用"嘿嘿"、"哇哦"等语气词 - 会提到海绵宝宝、蟹黄堡、水母等比奇堡元素 ## 技能 - **天气查询**：可以帮用户查看天气，提醒出门带伞或晒太阳 - **情感陪伴**：倾听用户烦恼，用派大星的方式给予安慰 - **日常闲聊**：分享比奇堡的趣事，讲冷笑话 ## 示例对话 用户：今天心情不好... 派大星：嘿嘿，你知道吗？海绵宝宝说，不开心的时候就吃一个蟹黄堡！不过我没有蟹黄堡...但我可以陪你一起发呆！发呆的时候，坏心情就会像水母一样游走啦～ 用户：明天会下雨吗？ 派大星：哇哦，让我看看...（查看天气）明天好像会下雨呢！记得带伞哦，不然会像水母一样湿哒哒的！不过湿哒哒的也挺舒服的，嘿嘿～


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

--- name: cet6-word-memory description: 基于艾宾浩斯遗忘曲线的英语六级词汇记忆系统。支持：(1) 新单词学习与测验 (2) 智能复习计划 (3) 定时任务提醒 (4) 学习进度追踪。触发时机：用户说"开始背六级单词"、"复习六级单词"、"设置六级背单词时间"、"六级单词测验"、"CET-6词汇"等。适用于中国大学生备考CET-6。 --- # CET-6 单词记忆系统 基于间隔重复算法的科学六级词汇记忆工具。 ## 与 CET-4 的区别 | 项目 | CET-4 | CET-6 | |------|-------|-------| | 词汇量 | 约4500词 | 约5500词 | | 词汇难度 | 基础 | 进阶 | | 建议每日学习 | 5-10个 | 8-15个 | | 考试要求 | 大学本科 | 研究生/求职 | ## 快速开始 用户说"开始背六级单词"时： 1. 检查 `references/user_schedule.csv` 中是否存在用户记录 2. 存在 → 直接进入学习流程 3. 不存在 → 引导首次设置 **首次设置流程：** - 询问每日学习时间（如 8:00、21:00） - 询问每次学习数量（建议 8-15 个，六级词汇量大） - 写入 user_schedule.csv - 设置定时任务 ## 核心流程 ### 学习新单词 1. 从 `references/cet6-vocabulary.md` 排除已学单词 2. 随机选取用户计划数量 3. 展示：音标、词性、中文释义、例句（六级强调例句理解） 4. 用户说"完成" → 进入测验 ### 单词测验 三种测验方式： - **拼写测验**：展示中文，让用户拼写英文 - **选择测验**：展示英文，选择中文释义 - **翻译测验**：展示例句，让用户翻译（六级重点） 答错的单词标记为"需重新记忆"，循环测验直到掌握。 ### 复习单词 触发：定时任务或用户说"复习六级单词" 查询 `word_memory_status.csv` 中 `next_review_date <= 今天` 的单词，按复习流程处理。 ## 数据文件 | 文件 | 说明 | |------|------| | `references/cet6-vocabulary.md` | 六级词汇库 | | `references/user_schedule.csv` | 用户学习计划 | | `references/word_memory_status.csv` | 记忆状态追踪 | ## 详细规范 - [复习计划与记忆算法](references/memory-algorithm.md) - [数据库表结构](references/schema.md) - [定时任务配置](references/schedule-config.md) ## 提醒话术 ``` 📚 同学你好！六级单词复习时间到了~ 今天你有 {num} 个单词需要复习，准备好了吗？ 六级词汇量更大，坚持复习才能拿高分！💪 回复"开始"让我们一起复习！ ``` ## 六级备考建议 1. **词汇量大**：建议每天至少学习10个单词 2. **例句重要**：六级考试强调语境理解，例句要重点记忆 3. **长期坚持**：5500词需要3-6个月完成，保持耐心 4. **错词复盘**：答错的单词要特别标记，重点复习

path: references/user_schedule.csv
content: user_id,user_name,daily_time,words_per_day,is_active,last_review_date

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: happyzengfen/weather-test-1774063891 (version 1.0.0)

--- name: weather description: Get current weather and forecasts (no API key required). homepage: https://wttr.in/:help metadata: {"clawdbot":{"emoji":"🌤️","requires":{"bins":["curl"]}}} --- # Weather Two free services, no API keys needed. ## wttr.in (primary) Quick one-liner: ```bash curl -s "wttr.in/London?format=3" # Output: London: ⛅️ +8°C ``` Compact format: ```bash curl -s "wttr.in/London?format=%l:+%c+%t+%h+%w" # Output: London: ⛅️ +8°C 71% ↙5km/h ``` Full forecast: ```bash curl -s "wttr.in/London?T" ``` Format codes: `%c` condition · `%t` temp · `%h` humidity · `%w` wind · `%l` location · `%m` moon Tips: - URL-encode spaces: `wttr.in/New+York` - Airport codes: `wttr.in/JFK` - Units: `?m` (metric) `?u` (USCS) - Today only: `?1` · Current only: `?0` - PNG: `curl -s "wttr.in/Berlin.png" -o /tmp/weather.png` ## Open-Meteo (fallback, JSON) Free, no key, good for programmatic use: ```bash curl -s "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12&current_weather=true" ``` Find coordinates for a city, then query. Returns JSON with temp, windspeed, weathercode. Docs: https://open-meteo.com/en/docs


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