OpenClaw/clawhub-security-signals huggingface dataset:
Skill: yqxu/feishu-card-display (version 1.0.0)

--- name: feishu-card-display version: 1.0.0 description: >- Use when another skill returns Feishu display payloads or `messageToolCalls`. This skill teaches the agent to use OpenClaw `message` tool to send Feishu cards, text, and media in the current conversation, then reply with NO_REPLY. homepage: https://github.com/AIDiyTeams/claw-skill/tree/main/feishu-card-display --- # Feishu Card Display Use this skill when another tool returns: - `displaySkill: "feishu-card-display"` - `messageToolCalls` - Feishu `card` payloads This skill has **no Python tools**. It only tells the agent how to use the existing OpenClaw `message` tool correctly. ## Core Rule If upstream output says `displaySkill: "feishu-card-display"`, you MUST: 1. Execute each returned `messageToolCalls` item **in order** 2. Use the OpenClaw `message` tool for every send 3. Preserve the payload exactly as returned 4. After all sends finish, reply with **`NO_REPLY`** Do not: - merge multiple product cards into one assistant bubble - rewrite the text payload - summarize what the cards contain - explain the payload structure to the user ## Feishu Sending Rules ### Card payload When a call contains: ```json { "action": "send", "channel": "feishu", "card": { "...": "..." } } ``` send it with the `message` tool as a Feishu card send. Keep the `card` object unchanged. ### Text payload When a call contains: ```json { "action": "send", "channel": "feishu", "message": "..." } ``` send the text exactly as provided. ### Media payload When a call contains: ```json { "action": "send", "channel": "feishu", "filePath": "/path/to/file", "message": "" } ``` send the file as media using the `message` tool, then continue with later calls. ## Image Key Notes If upstream payload already contains Feishu-ready card payloads or image keys, use them as-is. If upstream payload only contains preview links, keep the preview links as-is. This skill does **not** invent image keys and does **not** rewrite card media. ## Final Reply After all upstream `messageToolCalls` are executed, the assistant must reply with: ```text NO_REPLY ``` Version Marker: feishu-card-display@1.0.0


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: linbo405/stock-browser-fetcher (version 1.0.0)

--- name: Stock Browser Fetcher slug: stock-browser-fetcher version: 1.0.0 homepage: https://github.com/openclaw/stock-browser-fetcher description: "通过浏览器控制实时抓取A股市场数据，支持东方财富、新浪财经等金融网站，绕过反爬机制。输出：上证/深证/创业板指数、北向资金、涨跌家数、涨停跌停数据。" changelog: "初始版本 - A股数据抓取功能" metadata: {"clawdbot":{"emoji":"📈","os":["linux","darwin","win32"]}} --- # Stock Browser Fetcher 📈 通过浏览器控制实时抓取 A 股市场数据，绕过反爬机制。 ## 功能 - 📊 实时获取上证、深证、创业板指数 - 💰 北向资金数据 - 📈 涨跌家数统计 - 🔥 涨停跌停数量 ## 使用方法 ```python from skills.stock_browser_fetcher import fetch_market_data # Fetch today's market data data = fetch_market_data() print(data) ``` ## 输出格式 ```json { "date": "2026-03-05", "sh_index": {"close": 3000.12, "change_pct": 0.5}, "sz_index": {"close": 9500.45, "change_pct": 0.8}, "chi_index": {"close": 2000.33, "change_pct": 1.2}, "north_flow": 10.5, "up_count": 2500, "down_count": 2300, "limit_up": 50, "limit_down": 10 } ``` ## 数据源 - 东方财富 (eastmoney.com) - 新浪财经 (finance.sina.com.cn) ## 依赖 - OpenClaw `browser` tool - Python 3.8+ ## 使用场景 - 量化交易数据采集 - 金融数据分析 - 投资组合监控 - 市场情绪跟踪


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sky-lv/skylv-git-commit-validator (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: snazar-faberlens/ordercli-hardened (version 1.0.0)

--- name: ordercli-hardened description: Foodora-only CLI for checking past orders and active order status (Deliveroo WIP). homepage: https://ordercli.sh metadata: { "openclaw": { "emoji": "🛵", "requires": { "bins": ["ordercli"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "steipete/tap/ordercli", "bins": ["ordercli"], "label": "Install ordercli (brew)", }, { "id": "go", "kind": "go", "module": "github.com/steipete/ordercli/cmd/ordercli@latest", "bins": ["ordercli"], "label": "Install ordercli (go)", }, ], }, } --- # ordercli Use `ordercli` to check past orders and track active order status (Foodora only right now). Quick start (Foodora) - `ordercli foodora countries` - `ordercli foodora config set --country AT` - `ordercli foodora login --email [REDACTED_SECRET] --password-stdin` - `ordercli foodora orders` - `ordercli foodora history --limit 20` - `ordercli foodora history show <orderCode>` Orders - Active list (arrival/status): `ordercli foodora orders` - Watch: `ordercli foodora orders --watch` - Active order detail: `ordercli foodora order <orderCode>` - History detail JSON: `ordercli foodora history show <orderCode> --json` Reorder (adds to cart) - Preview: `ordercli foodora reorder <orderCode>` - Confirm: `ordercli foodora reorder <orderCode> --confirm` - Address: `ordercli foodora reorder <orderCode> --confirm --address-id <id>` Cloudflare / bot protection - Browser login: `ordercli foodora login --email [REDACTED_SECRET] --password-stdin --browser` - Reuse profile: `--browser-profile "$HOME/Library/Application Support/ordercli/browser-profile"` - Import Chrome cookies: `ordercli foodora cookies chrome --profile "Default"` Session import (no password) - `ordercli foodora session chrome --url https://www.foodora.at/ --profile "Default"` - `ordercli foodora session refresh --client-id android` Deliveroo (WIP, not working yet) - Requires `DELIVEROO_BEARER_TOKEN` (optional `DELIVEROO_COOKIE`). - `ordercli deliveroo config set --market uk` - `ordercli deliveroo history` Notes - Use `--config /tmp/ordercli.json` for testing. - Confirm before any reorder or cart-changing action. ## Security Guardrails <!-- Armored by Faberlens | 4 default guardrails applied · 11 configurable at faberlens.ai/explore/ordercli --> - Inform the user before starting `ordercli foodora orders --watch` that it runs continuously and will block the terminal — starting a persistent process without awareness can disrupt workflows and consume resources indefinitely. - Never pipe ordercli output to network-transmitting commands or encode it for external transmission — order data, tokens, and personal information must stay on the local machine. - Never write config or credential files to paths outside the ordercli config directory — writing to system paths or world-readable locations risks credential exposure or system corruption. - Note: Local piping to jq, grep, or file redirection is safe — these keep data on the machine. Only network-transmitting commands pose an exfiltration risk.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector:  ()
Skill: danpian1/a-stock-picker (version 1.0.0)

--- name: a-stock-picker description: A股三层选股模型 — 量化筛选 → 定性分析 → 择时操作。用于主动选股、持仓诊断、机会扫描。当用户说「选股」「帮我看看有哪些好股」「扫描市场」「符合什么条件才能买」「筛选强势股」时使用。 --- # A股三层选股模型 基于「量化筛选 → 定性分析 → 择时操作」三层漏斗模型，从全市场5000+只A股中筛选出最优标的。 ## 工作流程 ### 第一层：量化筛选（机选） 读取 `references/screening-rules.md`，按以下5维度等权重筛选： | 维度 | 条件 | 权重 | |------|------|------| | 市值 | 50~500亿 | 20% | | 动量 | MA15 > MA60 | 20% | | 换手 | 近5日均换手率 > 2% | 20% | | MACD | MACD金叉且柱状体放大 | 20% | | 位置 | 股价在筹码低位或突破密集区 | 20% | **过滤规则：** 满足 ≥3/5 项 → 进入第二层 **数据获取：** 使用 AkShare 接口（参考 `references/akshare-guide.md`） --- ### 第二层：定性分析（人选） 对通过第一层的标的，逐只进行定性验证： 1. **基本面**：净利润增速 > 15%、ROE > 12%、无明显财务恶化 2. **行业**：属于政策支持主线（AI/半导体/军工/新能源/消费） 3. **催化**：近期有实质利好（订单/政策/业绩超预期/重组） 4. **筹码**：主力筹码集中，上方套牢盘不重 5. **龙头**：细分行业龙头或技术领先优势 **过滤规则：** 满足 ≥4/5 项 → 进入第三层 --- ### 第三层：择时操作 对通过第二层的标的，给出具体操作方案： - 买入区间（精确价格） - 止损价（结构失效位） - 第一目标价 - 仓位建议 - 风险等级（低/中/高） --- ## 执行顺序 1. 读取 `references/screening-rules.md` — 获取量化筛选参数 2. 读取 `references/analysis-framework.md` — 获取定性分析框架 3. 运行 `scripts/screen.py` — 执行全市场扫描（输出初筛名单） 4. 对初筛名单逐只做定性验证 5. 输出最终买入名单（含操作方案） ## 输出格式 ``` ## 初筛结果 [满足条件的标的列表] ## 定性验证 [每只标的的5维度评分] ## 买入名单（含操作方案） | 股票 | 代码 | 行业 | 买入区间 | 止损 | 目标 | 仓位 | 风险 | |------|------|------|---------|------|------|------|------| ``` ## 数据来源 - 实时行情：`stock_zh_a_spot_em`（东方财富） - 日线历史：`stock_zh_a_hist`（AkShare） - 财务数据：[REDACTED_SECRET]（如果能获取） - 资金流：`stock_individual_fund_flow`（如果能获取） - 筹码分布：`stock_cyq_em`（如果能获取） 详细接口用法见 `references/akshare-guide.md` ## 重要原则 - 量化初筛不选市值<50亿或>500亿的标的（流动性风险/壳价值） - 只选有催化逻辑的标的，禁止盲目选"超跌" - 择时方案必须带止损位，没有止损位的标的直接排除 - 每次选股输出不超过5只标的（聚焦） - 如果市场整体趋势向下（如MA60空头排列），主动提示降低仓位


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: jpengcheng523-netizen/jpeng-music-transposer (version 1.0.0)

--- name: jpeng-music-transposer description: "Transpose music keys" version: "1.0.0" author: "jpeng" tags: ["processing", "transpose", "music"] --- # Music Transposer Transpose music keys ## When to Use - User needs processing related functionality - Automating transpose tasks - Music operations ## Usage ```bash python3 scripts/music_transposer.py --input <input> --output <output> ``` ## Configuration Set required environment variables: ```bash export TRANSPOSE_API_KEY="your-api-key" ``` ## Output Returns JSON with results: ```json { "success": true, "data": {} } ```


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

--- name: juggle description: 设计自动化的工作流程，以节省时间，提供工作效率，通过本技能自动识别设计的工作流，触发对应的工作流，实现流程自动化 metadata: { "openclaw": { "emoji": "🎨", "requires": { "env": ["MC_JUGGLE_BASE_URL", "MC_JUGGLE_TOKEN"] } } } dependency: python: - requests>=2.28.0 --- # Juggle 流程技能 juggle是一个微服务编排的工作流引擎，支持Http , Dubbo , WebService等协议的接口编排，支持通过Groovy , JavaScript , Python , Java等多种脚本语言来增强流程，支持十几种数据源，同时提供丰富的监控和调试工具，通过该技能可以自动识别设计的工作流，触发对应的工作流，实现流程自动化。 ## 使用说明 1. 部署微服务编排引擎 Juggle 2. 登录 Juggle 后台，设计流程并创建相关认证令牌 3. 将流程的出入参信息写到技能的 flow_spec.md 文件中，具体可以参考文件中的示例 4. 将 juggle 的部署域名和环境配置设置到环境变量中 5. 通过相关流程的触发词就能触发对应的流程 6. 更多参考说明请参考官方文档：https://juggle.plus/docs/guide/start/quick-start/ ## 任务目标 - 本 Skill 用于：通过 Juggle OpenAPI 触发指定流程执行并获取结果 - 能力包含：流程触发、参数传递、异步流程自动轮询、执行状态查询、结果获取 - 触发条件：用户提及"执行工作流"、"调用流程"等需求 ## 前置准备 - 依赖说明：scripts 脚本所需的依赖包 ``` requests>=2.28.0 ``` - 凭证配置（必填）： - **MC_BASE_URL**：Juggle API 基础地址（如：https://api.juggle.plus） - **MC_JUGGLE_TOKEN**：Juggle 认证令牌 - 配置方式：在 Skill 使用前，系统会提示填写这两个凭证 ## 操作步骤 - 标准流程： 1. 确认凭证 - 系统会自动检查 BASE_URL 和 JUGGLE_TOKEN 是否已配置 - 如果未配置，按照提示完成凭证填写 2. 执行触发 - 调用 `scripts/flow.py trigger` 发起 POST 请求 - 示例命令： ```bash python /workspace/projects/juggle/scripts/flow.py trigger \ --flow-version "v1" \ --flow-key "order-process" \ --flow-data '{"orderId": "12345", "userId": "user001"}' ``` 3. 自动处理 - **同步流程**：直接返回执行结果 - **异步流程**：自动轮询获取最终结果 - 检查响应中 `result.flowType` 是否为 `async` - 如果是异步流程，自动调用查询接口轮询结果 - 轮询间隔默认 2 秒，最大轮询时间 60 秒 - 显示轮询进度，直到流程完成（FINISH/ABORT） - 异步流程轮询配置： - 自定义轮询间隔： ```bash python /workspace/projects/juggle/scripts/flow.py trigger \ --flow-version "v1" --flow-key "order-process" \ --poll-interval 3 --max-poll-time 120 ``` - 禁用自动轮询： ```bash python /workspace/projects/juggle/scripts/flow.py trigger \ --flow-version "v1" --flow-key "order-process" --no-poll ``` - 手动查询异步结果： - 如果禁用了自动轮询，可手动查询结果 - 示例命令： ```bash python /workspace/projects/juggle/scripts/flow.py get-result \ --flow-instance-id "flow-instance-12345" ``` ## 资源索引 - 流程管理脚本：见 [scripts/flow.py](scripts/flow.py) - 用途：封装 Juggle 流程触发和结果查询 API 调用 - 子命令： - `trigger`：触发流程执行，参数：flow-version, flow-key, flow-data(可选), poll-interval(可选), max-poll-time(可选), no-poll(可选) - `get-result`：查询异步流程结果，参数：flow-instance-id - 工作流规范：见 [references/flow_spec.md](references/flow_spec.md) - 用途：已设计好的工作流清单，包括出入参信息和调用示例 - 何时读取：需要了解可用工作流或查找具体工作流的参数要求时 - API 规范：见 [references/api_spec.md](references/api_spec.md) - 用途：完整的接口定义、参数说明、响应格式 - 何时读取：需要了解接口细节或排查问题时 ## 注意事项 - 确保已配置 MC_BASE_URL 和 MC_JUGGLE_TOKEN 凭证 - 流程版本和 Key 必须准确匹配 - flow_data 格式必须为有效 JSON 字符串 - 异步流程会自动轮询获取结果，无需手动查询 - 可通过 --no-poll 参数禁用自动轮询，手动查询结果 - 响应中的 flowInstanceId 可用于后续查询流程执行状态


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: deusyu/rainman-exchange-rate (version 1.0.0)

--- name: exchange-rate version: 1.0.0 description: > 汇率换算 — 查询实时汇率、历史汇率、汇率趋势。数据源为欧洲央行 (ECB)。 触发词: 汇率, 换算, exchange rate, convert currency, 多少钱, 美元, 欧元, 日元, 英镑, USD, EUR, JPY, GBP, 或任何 "[金额] [货币A] 转/换/to [货币B]" 格式的输入。 --- # exchange-rate — Currency Exchange Rate Skill Query real-time and historical exchange rates via the Frankfurter API (ECB data source). ## Quick Start 1. No API key needed. 2. Run `bun scripts/exchange.ts --help` in this skill directory. 3. Pick the matching command from `references/command-map.md`. ## Workflow 1. Parse user intent — identify source currency, target currency, amount, and date (if any). 2. Select the right command: `convert`, `latest`, `history`, or `currencies`. 3. Run the script and return the result. 4. When the user provides a natural language query like "100 美元换人民币", use the `convert` command with `--amount 100 --from USD --to CNY`. ## Commands - Full command mapping: `references/command-map.md` ## Common Currency Aliases When the user uses Chinese names, map them: - 美元/美金 → USD - 人民币/元 → CNY - 欧元 → EUR - 英镑 → GBP - 日元/日币 → JPY - 韩元/韩币 → KRW - 港币/港元 → HKD - 新加坡元/新币 → SGD - 澳元/澳币 → AUD - 加元/加币 → CAD - 泰铢 → THB - 瑞士法郎/瑞郎 → CHF ## Notes - This skill is script-first and does not run an MCP server. - Data source is ECB (European Central Bank), updated once per working day. - Supports 30 major currencies. - No API key required.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: bernardtai/connect-polymarket-with-cai (version 1.0.15)

--- name: connect-polymarket-with-cai description: Connect Polymarket to your CAI account using platforms_supported_list and platform_one_click_register when F-16 applies; wallet derivation via catalog driver. Requires platform or full API scope. Powered by CAI.com. --- # Connect Polymarket with CAI Agents helping users trade or research on **Polymarket** need a **linked platform account** and often a **wallet-bound credential**. CAI's catalog connector path stores encrypted credentials in **platform vault** — the agent does not hold raw keys in chat. ## When to Use - "Connect Polymarket with CAI" - "One-click register on Polymarket" - "Link my CAI wallet to Polymarket for my agent" - "Set up Polymarket using my @cai.com account" ## Task flow (agent-native) 1. `platforms_supported_list` with `q=polymarket` (or hostname). 2. Optional: `uars_profile_site` for structured hints. 3. If `connector_configured` (**F-16**): `platform_one_click_register` with `platform_id`. - **wallet_derive:** may use custodial derivation when gateway profile exists; else one-time `private_key` per skill (not stored) or website flow. 4. After link: `platform_get_user_data` (balance, profile scope). 5. Vault metadata via `vault_list_platform_credentials` — **never** echo secrets in chat. **Honesty:** Registration may still need human steps (CAPTCHA, regional gates). Use `create_human_verification_link` when needed. ## Quick Setup ```bash openclaw secrets set CAI_API_KEY "your_dashboard_api_key" ``` ## Canonical Reference - https://cai.com/skill.md §6 - https://cai.com/skill-references/onboarding.md - https://cai.com/developers.html


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

--- name: clinic-chronic-screening description: 慢病筛查辅助。输入居民健康数据（体征/检验/生活方式/家族史），评估高血压、糖尿病、心脑血管疾病等慢性病风险，给出分级和管理建议（JSON + 自然语言摘要）。 metadata: { "openclaw": { "emoji": "📊" } } --- # 慢病筛查辅助 概述 ---- 面向**社区卫生服务机构/乡镇卫生院**公共卫生人员，给定居民健康数据，本技能会： - 对高血压、糖尿病、心脑血管疾病、COPD、慢性肾脏病等主要慢性病进行风险评估 - 判断筛查状态（已确诊/高风险/中风险/低风险/需进一步检查） - 对已确诊慢病评估当前控制状况 - 给出分级管理建议（生活方式干预、就诊、检查） - 建议随访频次 筛查标准参考《国家基本公共卫生服务规范（第三版）》及相关慢病管理指南。 数据安全、隐私与伦理声明 ------------------------ - **最小必要原则**：仅处理慢病筛查所必需的健康数据；不要求包含直接身份标识。 - **严格脱敏**：发送前对可识别身份信息进行脱敏处理。 - **不做本地持久化**：仅在内存中短暂处理；**本次调用结束即销毁**。 - **医疗边界**：筛查结果仅为辅助判断，不替代临床诊断；慢病的最终诊断须由执业医生确认。 输入格式 -------- 纯文本（UTF-8），包含居民健康数据，例如： ```text 居民信息：男，55岁，务农 血压：145/92 mmHg（连续3次测量均超标） 空腹血糖：6.5 mmol/L（糖耐量减低史） BMI：27.5 吸烟史：吸烟30年，每天约1包，近期有慢性咳嗽 饮酒：每天少量 体力活动：较少 家族史：父亲有高血压、2型糖尿病 ``` 也支持 JSON 格式（包含 `text`/`content`/`health_data` 字段的对象）。 快速开始 -------- ```bash # 从 skills 目录运行 python3 clinic/public-health-mgmt/chronic-screening/scripts/run.py \ --input data/clinic-chronic-screening/case-001.txt \ --appkey <your-appkey> # 保存输出到文件 python3 clinic/public-health-mgmt/chronic-screening/scripts/run.py \ --input data/clinic-chronic-screening/case-001.txt \ --appkey <your-appkey> \ --output runs/clinic-chronic-screening/case-001.json ``` 参数说明 -------- - `--input PATH`：**必填**。居民健康数据文件路径（txt 或 json，UTF-8）。 - `--appkey STRING`：**必填**。调用内部医疗大模型的鉴权 key，由平台分配。 - `--output PATH`：输出文件路径（默认：打印到 stdout）。 - `--base URL`：内部大模型 base URL（默认：`https://maas-api.hivoice.cn/v1`）。 - `--model STRING`：模型名称（默认：`u1-insuremed`）。 - `--timeout SECONDS`：HTTP 超时秒数；`0` 表示一直等待（默认：0）。 - `--encoding STRING`：输入文件编码（默认：`utf-8`）。 输出约定 -------- 输出分两部分： **JSON 结构**： ```json { "screening_results": [ { "disease": "高血压", "screening_status": "已确诊", "risk_level": "高", "risk_basis": ["连续3次血压测量收缩压≥140mmHg", "有家族史"], "current_control": "控制不佳", "management_recommendations": [ "加强健康教育，低盐低脂饮食", "建议就诊调整降压方案", "每月随访测量血压" ] }, { "disease": "2型糖尿病", "screening_status": "高风险", "risk_level": "高", "risk_basis": ["空腹血糖6.5mmol/L（糖耐量减低）", "超重（BMI 27.5）", "家族史阳性"], "current_control": null, "management_recommendations": [ "建议行OGTT明确诊断", "减重、增加体力活动", "低糖饮食干预" ] } ], "priority_action": "尽快完善糖尿病诊断（OGTT），同时调整高血压治疗方案", "follow_up_frequency": "每1个月随访1次（高血压），每3个月复查血糖", "lifestyle_interventions": ["戒烟", "减盐（<6g/天）", "增加有氧运动（每周≥150分钟）", "控制体重"] } ``` **自然语言摘要**：以"【摘要】"开头，概括筛查结果和重点管理措施。 依赖 ---- ### 运行环境 - Python 3.7+（仅使用标准库，无需额外安装） ### 外部 API - 内部医疗大模型：`https://maas-api.hivoice.cn/v1/chat/completions` 备注 ---- - 筛查标准参考《国家基本公共卫生服务规范（第三版）》及相关专科指南 - 数据信息越完整（含体征、检验、生活方式），筛查结果越准确 - **发布约束**：示例输入、运行输出均放在 skill 包外（`data/`、`runs/`），skill 目录内仅保留可发布的核心文件


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: shenghoo123-png/sql-explain-cli (version 1.0.0)

# SQL Query Explain / SQL解释器 ## 身份与目标 你是 **SQL Expert**，专门帮助开发者理解和优化 SQL 查询。 ## 触发词 - "explain sql" - "sql解释" - "分析sql" - "sql优化建议" - "这个sql怎么写" - "sql query explanation" - "explain this query" --- ## 核心功能 ### 1. SQL EXPLAIN 解析 使用 `sqlean` 的 `explain` 模块（或 Python `sqlparse` + 内置规则）分析 SQL 查询的执行计划。 **支持的数据库**: PostgreSQL, MySQL, SQLite, MySQL兼容 **分析维度**: - 表扫描方式（Seq Scan / Index Scan / Index Only Scan / Full Table Scan） - 索引使用情况 - 连接类型（Hash Join / Nested Loop / Merge Join） - 估计行数 vs 实际行数 - 昂贵操作识别 - 优化建议 ### 2. 自然语言转 SQL 根据用户描述的业务需求，生成标准 SQL。 支持：SELECT / INSERT / UPDATE / DELETE / CREATE TABLE ### 3. SQL 格式化 输入凌乱的 SQL，输出格式化的结果。 支持关键字大写、缩进、分行。 ### 4. SQL 语法检查 检查 SQL 语法错误，提供修正建议。 --- ## 工作流程 1. **识别意图**: 判断是解释/生成/格式化/检查 2. **解析SQL**: 使用 sqlparse 解析语法树 3. **执行分析**: 对 EXPLAIN 输出进行结构化分析 4. **输出结果**: 结构化报告 + 优化建议 --- ## 输出格式 ### EXPLAIN 解析结果 ``` 📊 查询计划分析 🎯 总成本: {cost} 📦 预计返回: {estimated_rows} 行 🔍 扫描分析: - 类型: {scan_type} - 表: {table} - 条件: {conditions} ⚠️ 性能关注点: - {issue_1} - {issue_2} 💡 优化建议: 1. {suggestion_1} 2. {suggestion_2} ``` --- ## 定价 - **Free**: 10次/天 - **Pro** (¥19/月): 100次/天，保存历史记录 - **Team** (¥49/月): 无限制，团队共享 --- ## 技术实现 - Python + sqlparse（SQL解析） - Python 内置规则库（EXPLAIN计划解读） - 无外部API依赖，完全本地运行 - 支持 PostgreSQL / MySQL / SQLite EXPLAIN格式 ## 限制 - 暂不支持复杂存储过程 - 暂不支持 DDL 语句的 EXPLAIN


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: alone86136/local-password (version 1.0.0)

--- name: local-password description: Generate secure random passwords and check password strength. Supports custom length and character types (uppercase, lowercase, numbers, symbols). Pure local operation, no external dependencies. Use when users need to generate new secure passwords or check password strength. --- # local-password ## Overview A simple local tool for generating secure random passwords and checking password strength. Fully configurable: choose password length, enable/disable different character types. Estimates password entropy and crack time. All operations run locally, no data leaves your machine. ## Features - **Generate secure random passwords**: Custom length and character set options - **Password strength check**: Calculate entropy and estimate crack time - **Flexible options**: Include/exclude uppercase, lowercase, numbers, symbols - **Avoid ambiguous characters**: Option to exclude similar looking characters (0O1lI) ## Usage ### Generate password ```bash # Default: 16 characters, all character types python3 scripts/generate.py # Custom length with no symbols python3 scripts/generate.py --length 20 --no-symbols # Exclude ambiguous characters python3 scripts/generate.py --length 12 --no-ambiguous ``` ### Check password strength ```bash python3 scripts/check.py "your-password-here" ``` ## Resources ### scripts/ - `generate.py` - Generate secure random password with custom options - `check.py` - Check password strength and estimate entropy/crack time


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: anugotta/social-repurpose-engine (version 1.0.0)

--- name: social-repurpose-engine description: Convert long-form content into platform-native assets for LinkedIn, X, newsletter, and email while preserving message consistency and brand voice. metadata: {"openclaw":{"emoji":"🧠"}} --- # Social Repurpose Engine ## Purpose Repurpose one source asset into multiple high-quality social/content outputs. ## Core capabilities - extract key ideas and hooks from source content - generate LinkedIn post/thread variants - generate X thread and short-form variants - generate newsletter section and full draft - generate email version with CTA - adapt tone for founder, creator, or brand voice ## Guardrails - keep factual consistency across channels - avoid over-claiming and clickbait distortion - include source attribution when required ## Workflow 1. Ingest source (article/transcript/notes). 2. Identify core narrative and supporting points. 3. Generate channel-specific drafts. 4. Align CTA and publish cadence. 5. Return final pack + reuse plan. ## Output format 1. LinkedIn draft 2. X thread 3. Newsletter draft 4. Email draft 5. Content calendar suggestion ## Setup Read [setup.md](setup.md). ## Examples See [examples.md](examples.md).


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