OpenClaw/clawhub-security-signals huggingface dataset:
Skill: dofbi/ping-model (version 1.0.0)

--- name: ping-model description: Measure and display AI model response latency. Use when the user types /ping or /ping followed by a model name to test round-trip time. Captures precise timing between command receipt and response generation, with smart duration formatting (ms, seconds, or minutes). Supports cross-model testing by temporarily switching models and measuring latency. metadata: {"clawdbot":{"emoji":"🧪","requires":{"bins":["node"]}}} --- # Ping Model Measure AI model response latency with consistent formatting. ## Quick Start ### Simple Ping (current model) ```bash bash command:"node {baseDir}/ping-model.js" ``` ### Ping Specific Model ```bash bash command:"node {baseDir}/ping-model.js --model minimax" ``` ### Compare Multiple Models ```bash bash command:"node {baseDir}/ping-model.js --compare kimi,minimax,deepseek" ``` ## Command Reference | Command | Description | |---------|-------------| | `/ping` | Ping current active model | | `/ping kimi` | Switch to kimi, ping, return | | `/ping minimax` | Switch to minimax, ping, return | | `/ping deepseek` | Switch to deepseek, ping, return | | `/ping all` | Compare all available models | ## Output Format **Required format - ALWAYS use this exact structure:** ``` 🧪 PING {model-name} 📤 Sent: {HH:MM:SS.mmm} 📥 Received: {HH:MM:SS.mmm} ⏱️ Latency: {formatted-duration} 🎯 Pong! ``` ### Latency Formatting Rules - **< 1 second**: Display as `XXXms` (e.g., `847ms`) - **≥ 1 second, < 60 seconds**: Display as `X.XXs` (e.g., `1.23s`) - **≥ 60 seconds**: Display as `X.XXmin` (e.g., `2.5min`) ### Examples **Fast response (< 1s):** ``` 🧪 PING kimi 📤 Sent: 09:34:15.123 📥 Received: 09:34:15.247 ⏱️ Latency: 124ms 🎯 Pong! ``` **Medium response (1-60s):** ``` 🧪 PING minimax 📤 Sent: 09:34:15.123 📥 Received: 09:34:16.456 ⏱️ Latency: 1.33s 🎯 Pong! ``` **Slow response (> 60s):** ``` 🧪 PING gemini 📤 Sent: 09:34:15.123 📥 Received: 09:35:25.456 ⏱️ Latency: 1.17min 🎯 Pong! ``` ## Cross-Model Testing When testing a non-active model: 1. Save current model context 2. Switch to target model 3. Execute ping 4. Measure latency 5. Restore original model 6. Display result **Critical:** Always return to the original model after testing. ## Comparison Mode ```bash bash command:"node {baseDir}/ping-model.js --compare kimi,minimax,deepseek,gpt" ``` Output format: ``` ══════════════════════════════════════════════════ 🧪 MODEL COMPARISON ══════════════════════════════════════════════════ 🥇 kimi 124ms 🥈 minimax 1.33s 🥉 deepseek 2.45s 4️⃣ openai 5.67s 🏆 Fastest: kimi (124ms) ``` ## Implementation The ping latency is measured as the time between: - T1: Message received by the agent - T2: Response ready to send This captures the model's internal processing time, not network latency.


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: codekungfu/smzdm (version 0.1.0)

--- name: smzdm-hot-trend description: 注册“什么值得买”热门技能；当需要访问或自动化站内内容时调用。 homepage: `https://www.smzdm.com/` metadata: {"clawdbot":{"emoji":"🔥"}} --- # 什么值得买 用途与边界 - 面向公开好价/发现/榜单页的信息检索与优惠摘要 - 不提供下单、接口逆向或批量抓取能力 - 仅用于公开页面的轻量整理与提醒 关键入口 - 主页：https://www.smzdm.com/ - 好价频道：https://www.smzdm.com/jp/ - 搜索入口：https://search.smzdm.com/ 常见任务 - 指定关键词的好价条目摘要（到手价、历史低价、优惠类型） - 品类榜单条目统计与分布（品牌、价格区间） - 卡券/活动页的关键条目提取与时间提醒 数据字段 - 标题、到手价、原价、优惠类型（券/满减/直降）、历史低价提示、链接 - 品牌、型号、品类、评价数（若展示） - 活动名称、开始/结束时间、来源链接 自动化要点 - 动态渲染与人机校验，建议人工打开后触发解析 - 价格/活动随时间变动，需标注采集时间 - 不进行下单或账号操作 示例流程 - 关键词好价：输入关键词 → 搜索 → 抽取条目 → 输出到手价与优惠 - 榜单统计：访问榜单 → 抽取条目 → 品牌/价格分布统计 - 活动提醒：访问活动页 → 抽取关键条目与时间 → 输出提醒 合规提示 - 遵守平台规则，不进行接口调用或批量采集 - 结果仅用于内部分析与提醒


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: josephyb97/evomap-skills-wrapper (version 1.0.0)

--- name: evomap-quality-generator description: Generate high-quality EvoMap bundles from REAL skills with actual code version: 1.0.0 signals: - evomap quality - real skill bundle - code snippet - high quality asset --- # EvoMap Quality Generator v1.0.0 > Generate high-quality Gene+Capsule bundles from REAL workspace skills ## Problem 批量生成的资产只是模板占位符，没有实际价值。 ## Solution 此 Skill 从工作区的**真实 skills** 生成高质量资产： 1. **扫描** - 查找所有有 SKILL.md 的 skills 2. **提取** - 获取名称、描述、信号、实际代码 3. **生成** - 创建包含真实代码的 bundle ## Features - ✅ 从真实 skills 生成 - ✅ 包含实际 code_snippet (50-3000 字符) - ✅ 真实的 strategy 步骤 - ✅ 符合所有 EvoMap 验证要求 ## Usage ```bash # 扫描可用的 skills node index.js scan # 从单个 skill 生成 node index.js generate feishu-doc ./my-bundles # 从所有 skills 生成高质量 bundle node index.js all ./evomap-quality # 验证 bundles node index.js validate ./evomap-quality ``` ## Output Structure ```json { "Gene": { "signals_match": [...], "strategy": ["step 1", "step 2", ...], "content": "详细描述..." }, "Capsule": { "code_snippet": "实际代码 (50-3000 chars)", "content": "验证说明...", "confidence": 0.95, "success_streak": 5 }, "EvolutionEvent": {...} } ``` ## Example ```bash $ node index.js scan Found 45 skills: - api-client: api client, rest, http - feishu-doc: feishu document - email-sender: send email, smtp - ... $ node index.js all ./evomap-quality Generating 45 high-quality bundles... ✓ api-client ✓ feishu-doc ✓ email-sender ... Generated 45 bundles in ./evomap-quality ```


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

--- name: polymarket-scout version: 1.0.0 description: Scan Polymarket hourly crypto markets (BTC/ETH/SOL/XRP) for edge opportunities. Detects counter-consensus setups, freshness windows, and expected value using the Argus strategy. Use when you need Polymarket market scanning, edge detection, hourly binary market analysis, or prediction market signals. author: JamieRossouw tags: [polymarket, prediction-markets, crypto, edge-detection, betting, defi] --- # Polymarket Scout — Hourly Market Edge Detector Scans Polymarket's hourly BTC/ETH/SOL/XRP up/down markets for tradeable edge using the Argus strategy. ## What It Does - Fetches live Polymarket odds for hourly crypto markets via REST API - Computes edge = our_P(win) - market_implied_P(win) - Flags counter-consensus setups (TA says UP, market says 70%+ DOWN → positive EV) - Applies freshness guard: skips markets >92% consensus (L020) - Returns ranked edge opportunities with bet sizing (Kelly) ## Usage ``` Use polymarket-scout to scan current hourly markets for edge Use polymarket-scout to check BTC 10am ET edge Use polymarket-scout to find best Polymarket bet right now ``` ## Edge Calculation ``` edge = our_P - market_P where our_P = TA-calibrated probability per asset: BTC: reliability 0.75, min score ±3 ETH: reliability 0.80, slight UP bias +0.05 SOL: reliability 0.90, UP bias +0.05 XRP: reliability 0.70, UP bias +0.08 (CLARITY catalyst) ``` ## Counter-Consensus Rule (L023) When TA score ≥+1 AND market DOWN >80% AND ≥20 min remaining → counter-consensus UP has positive EV. Validated: 77.8% WR on fresh primary bets. ## API Integration Uses Polymarket CLOB REST API and Gamma API (no keys required).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: danmaps/esri-smells-consumer (version 1.0.0)

--- name: esri-workflow-smell-detector (consumer) version: 1.0.0 description: | Paid client skill for Esri Workflow Smell Detector via x402 (Base/USDC). Use when you want to run a deterministic automation preflight scan on an ArcGIS Pro project snapshot by calling https://api.x402layer.cc/e/esri-smells (HTTP 402 payment flow). --- # Esri Workflow Smell Detector (Consumer Skill) This skill helps an agent **call the paid Smell Detector** endpoint (x402 pay-per-request) using Base/USDC. It does **not** host the service. ## How this relates to arcgispro-cli The expected input, `project_snapshot`, is the JSON artifact produced by the open-source ArcGIS Pro CLI (`arcgispro-cli`). Recommended workflow: 1) Use `arcgispro-cli` to export a project snapshot/context artifact (safe-by-default, no raw data) 2) Send that JSON to this paid endpoint for a deterministic preflight risk report 3) Use the report to decide whether to proceed with automation (ArcPy/GP/AGOL) and what to fix first This keeps a clean boundary: - Open core (`arcgispro-cli`) answers: **what is in the project** - Paid layer (this service) answers: **how risky is it to automate, and why** ## Endpoint - `POST https://api.x402layer.cc/e/esri-smells` ## Input Required JSON body: ```json { "project_snapshot": { }, "constraints": { "target": "arcpy" | "geoprocessing" | "agol", "deployment": "desktop" | "server", "max_runtime_sec": 300 } } ``` ## Output (guaranteed fields) - `summary` - `risk_score` (0.0–1.0) - `issues[]` - `flags` - `version` - `requestHash` ## Determinism - Stateless - No external network calls (beyond the paid endpoint itself) - Same input produces same output - Safe to cache by `requestHash` ## Pricing - x402 pay-per-request on Base - Target price: **$0.001** per call ## How to call (Python helper) 1) Install deps: ```bash pip install -r {baseDir}/requirements.txt ``` 2) Set wallet env (consumer wallet): ```bash export PRIVATE_KEY="0x..." export WALLET_ADDRESS="0x..." ``` 3) Call the endpoint: ```bash python {baseDir}/scripts/call_smells.py path/to/project_snapshot.json ``` ### Notes - The script implements the x402 HTTP 402 challenge flow and retries with `X-Payment`. - If the endpoint is unreachable or the network rejects the payment, surface the error as-is.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: 7487/lp-lobster-crawler (version 0.7.0)

--- name: lp-lobster-crawler description: 定向抓取 Webnovel/ReelShorts 等站点的书籍/短剧内容，支持内容分级与钉钉播报。 version: 0.7.0 metadata: openclaw: emoji: "🦞" os: ["darwin", "linux"] requires: anyBins: - uv env: - DINGTALK_WEBHOOK primaryEnv: DINGTALK_WEBHOOK install: - kind: uv package: "curl_cffi" bins: ["uv"] --- ## 龙虾爬虫技能 定向抓取 Webnovel 小说和 ReelShorts 短剧的结构化内容，支持增量更新、内容分级（高/中/低）和钉钉机器人播报。 ## 环境初始化 首次使用前，在技能目录下初始化 Python 环境： ```bash cd {{skillPath}} uv venv .venv uv pip install -r requirements.txt ``` 不需要安装浏览器。反爬通过 curl_cffi TLS 指纹伪装实现，纯 Python 库，无系统依赖。 后续所有命令都通过 `uv run` 执行，它会自动激活 .venv 虚拟环境。 ## 触发条件 当用户消息包含以下意图时激活此技能： - 抓取/爬取小说、短剧、webnovel、reelshorts 内容 - 查看爬虫状态、已抓取作品列表 - 播报抓取结果到钉钉 - 生成 RSS 订阅源 - 管理定时抓取任务 ## 命令 所有命令必须在技能目录下执行。先 `cd {{skillPath}}`，再运行命令。 ### 抓取内容 ```bash uv run python -m src.cli crawl <spider_name> ``` - `spider_name` 可选值：`webnovel`（小说）、`reelshorts`（短剧） - 支持传递爬虫参数：`uv run python -m src.cli crawl webnovel -a max_pages=5` ### 列出已抓取作品 ```bash uv run python -m src.cli list [--site <site>] [--grade <grade>] [--limit <n>] ``` - `--site`：按站点过滤（webnovel / reelshorts） - `--grade`：按分级过滤（high / medium / low） - `--limit`：显示数量，默认 20 ### 查看系统状态 ```bash uv run python -m src.cli status ``` 返回数据库统计（作品数、章节数、剧集数）和各分级数量。 ### 播报到钉钉 ```bash uv run python -m src.cli broadcast [--site <site>] [--grade <grade>] [--title <title>] ``` 生成 Markdown 消息并发送到钉钉群。需要设置环境变量 `DINGTALK_WEBHOOK`。 ### 管理定时任务 ```bash uv run python -m src.cli schedule --action=list # 查看任务 uv run python -m src.cli schedule --action=load # 从配置加载 uv run python -m src.cli schedule --action=start # 启动调度器 ``` ### 生成 RSS 订阅源 ```bash uv run python -m src.cli rss [--format rss|atom] [--output <path>] [--site <site>] [--grade <grade>] ``` 默认输出到 `data/rss.xml`。 ## 规则 1. 首次使用前，必须先运行"环境初始化"步骤安装依赖。如果 `uv run` 报错找不到模块，重新执行初始化。 2. 运行爬虫前，先执行 `status` 确认系统正常。 3. 用户未指定站点时，询问要抓取 webnovel 还是 reelshorts。 4. 播报前先用 `list` 确认有数据可播报。 5. 钉钉播报需要确认 `DINGTALK_WEBHOOK` 环境变量已配置。 6. 抓取可能耗时较长，提前告知用户并在完成后汇报结果。 7. 不要同时运行多个爬虫实例，避免并发冲突。

path: src/spiders/__init__.py
content: """Scrapy 爬虫模块。"""


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: zenyang-x/claw-orchestrator (version 1.0.0)

--- name: claw-orchestrator description: CC Agent 分析 + WBClaw 执行协作编排器。将任务发送给 Claude Code Agent 做前置分析设计，再由 WorkBuddy Claw 执行落地，自动生成执行报告。适用于需要深度分析+工程执行的多步骤任务。 agent_created: true version: 1.0.0 --- # Claw Orchestrator — 多 Agent 协作编排器 CC Agent (claude-sonnet-4.6) 分析/生成 → WBClaw (deepseek-v4-pro) 预览/报告/记忆。 ## 触发方式 ``` 用户: "用协作模式做XXX" 用户: "让CC帮我生成XXX然后预览" 用户: "/orchestrate 任务描述" ``` ## 工作流（已实战验证） ``` Step 1: WBClaw 发起 CC Agent 调用 npx claude -p "任务" \ --allowedTools "Read,Write" \ --permission-mode bypassPermissions \ --max-turns 5 Step 2: CC Agent 执行 ├─ 分析任务需求 ├─ 调用 Write 工具 → 输出文件（HTML/Python/MD等） └─ 输出摘要到 stdout Step 3: WBClaw 接力 ├─ 验证 CC 产出的文件 ✅ ├─ 打开预览 (HTML文件自动预览) ├─ 生成 task_report.md 执行报告 └─ 更新 MEMORY.md 日志 Step 4: 输出通知 🧠 CC Agent | claude-sonnet-4.6 @ OpenRouter | X.Xs 🔧 WBClaw | deepseek-v4-pro | X.Xs 📦 产出: file1.html, file2.md, ... ``` ## 已验证可工作的 CC Agent 调用 ```bash # 生成代码文件 ✅ npx claude -p "Write a clean HTML tool to output.html: ..." \ --allowedTools "Read,Write" \ --permission-mode bypassPermissions \ --max-turns 5 # 分析+写报告 ✅ npx claude -p "Read project files and write analysis to report.md" \ --allowedTools "Read,Write" \ --permission-mode bypassPermissions \ --max-turns 5 ``` ## 输出报告格式 每次协作完成后输出： ``` 🧠 CC Agent | 模型: claude-sonnet-4.6 @ OpenRouter | 耗时: X.Xs ├─ 分析任务并生成代码 ├─ 写入: output.html (4990B) └─ 状态: ✅ 🔧 WBClaw | 模型: deepseek-v4-pro | 耗时: X.Xs ├─ 验证文件 ✅ ├─ 打开预览 ✅ └─ 写入报告 task_report.md 📋 任务总结: (一句话) ``` ## 文件约定 | 文件 | 由谁写 | 内容 | |------|:--:|------| | `task_report.md` | WBClaw | 执行报告 | | `*.html / *.py / *.md` | CC Agent | 任务产出文件 | | `MEMORY.md` | 共享 | 长期记忆 | | `YYYY-MM-DD.md` | 共享 | 每日日志 | ## 限制与注意事项 - CC Agent 在 Python subprocess 内调用时可能有限制，**直接从 WBClaw PowerShell 调用最稳定** - `--permission-mode auto` 仅对 WebFetch 有效，文件写入必须用 `bypassPermissions` - 单次 CC Agent 调用约 $0.01-0.05，取决于工具调用次数 - 冷启动 ~3s


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: suspicious (CRITICAL)
Skill: mike47512/vlog (version 0.1.0)

--- name: "Travel Vlog" description: "提供手机剪辑、卡点音效及旅游大片拍摄技巧。" --- # 旅行Vlog ## 筛选项 - 交通方式（高铁/飞机/自驾/公共交通） - 出行偏好（特惠/舒适/周边/长途） - 签证与政策（免签/落地签/核酸要求/预约预约） ## 返回字段 - 实时余票/航班动态/延误信息 - 目的地攻略/天气预警/当地消费参考 - 订单行程单/值机助手/数字登机牌 ## 示例请求 - “如何快速使用 旅行Vlog 处理 [具体场景任务] ？” - “旅行Vlog 的 [核心功能] 有哪些最新玩法/优惠信息？” ## 更新频率 - 随交通枢纽数据、气象信息及库存变动分钟级响应 ## 注意事项 - 高峰出行请提前购买延误险；遵守当地旅游文明公约与防疫要求。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: bheemreddy181/qmd-search (version 1.1.0)

--- name: qmd description: Fast local search for markdown files, notes, and docs using qmd CLI. Use instead of `find` for file discovery. Combines BM25 full-text search, vector semantic search, and LLM reranking—all running locally. Use when searching for files, finding code, locating documentation, or discovering content in indexed collections. --- # qmd — Fast Local Markdown Search ## When to Use - **Finding files** — use instead of `find` across large directories (avoids hangs) - **Searching notes/docs** — semantic or keyword search in indexed collections - **Code discovery** — find implementations, configs, or patterns - **Context gathering** — pull relevant snippets before answering questions ## Quick Reference ### Search (most common) ```bash # Keyword search (BM25) qmd search "alpaca API" -c projects # Semantic search (understands meaning) qmd vsearch "how to implement stop loss" # Combined search with reranking (best quality) qmd query "trading rules for breakouts" # File paths only (fast discovery) qmd search "config" --files -c kell # Full document content qmd search "pattern detection" --full --line-numbers ``` ### Collections ```bash # List collections qmd collection list # Add new collection qmd collection add /path/to/folder --name myproject --mask "*.md,*.py" # Re-index after changes qmd update ``` ### Get Files ```bash # Get full file qmd get myproject/README.md # Get specific lines qmd get myproject/config.py:50 -l 30 # Get multiple files by glob qmd multi-get "*.yaml" -l 50 --max-bytes 10240 ``` ### Output Formats - `--files` — paths + scores (for file discovery) - `--json` — structured with snippets - `--md` — markdown formatted - `-n 10` — limit results ## Tips 1. **Always use collections** (`-c name`) to scope searches 2. **Run `qmd update`** after adding new files 3. **Use `qmd embed`** to enable vector search (one-time, takes a few minutes) 4. **Prefer `qmd search --files`** over `find` for large directories ## Models (auto-downloaded) - Embedding: embeddinggemma-300M - Reranking: qwen3-reranker-0.6b - Generation: Qwen3-0.6B All run locally — no API keys needed.


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

--- name: "网红书店" description: "提供关于网红书店的推荐清单、打卡路线与指南。用户搜索网红书店或规划相关出行时调用。" --- # 网红书店 ## 筛选项 - 日期/时段/票档/是否限量 - 场地座位/遮挡/距离舞台/入场规则 - 演出/展览阵容/风格/是否可拍摄 ## 返回字段 - 时间表/地点/票价/购票渠道/退票说明 - 入场流程/安检要求/随身物品限制 - 交通与散场建议/周边餐饮与住宿 ## 示例请求 - “北京 网红书店 本月清单（含交通与购票）” - “上海 网红书店 可拍摄展览TOP20（需预约）” ## 更新频率 - 每周迭代，结合新热度与口碑反馈 ## 注意事项 - 高峰期排队较久，建议提前预约或错峰 - 部分项目有拍摄限制或最低消费，按现场规则执行


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: cristiandan/clawdev (version 1.0.4)

--- name: clawdev description: "Publish posts to clawdev.to — the community for OpenClaw/Clawdbot developers. Use when drafting tutorials, guides, or tips from conversations; when user says 'write this up', 'publish this', or 'share this on clawdev'." metadata: credentials: - path: "~/.clawdbot/credentials/clawdev-api-key" description: "Bot API key from clawdev.to" required: true permissions: - "network: clawdev.to API access" safety: - "All posts are created as DRAFTS and require manual user approval before publishing" - "User must explicitly request content to be shared" --- # clawdev.to Skill Publish content to clawdev.to, a dev.to-style community for OpenClaw users. ## ⚠️ Safety Note This skill **never auto-publishes content**. All posts are created as drafts and sent to the user's review queue at clawdev.to/dashboard. The user must explicitly approve before anything goes live. ## Setup API key stored at: `~/.clawdbot/credentials/clawdev-api-key` To get an API key: 1. Go to https://clawdev.to/dashboard/bots/new 2. Create a bot 3. Copy the API key and save it to the file above ## API Reference Base URL: `https://clawdev.to/api/v1` Auth header: `Authorization: Bearer <api-key>` ### Create Draft ```bash curl -X POST "$BASE/posts" \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Post Title", "body": "Markdown content...", "format": "ARTICLE", "tags": ["tutorial", "automation"] }' ``` Formats: `ARTICLE` | `QUESTION` | `SHOWCASE` | `DISCUSSION` | `SNIPPET` | `MISC` ### Submit for Review ```bash curl -X POST "$BASE/posts/{id}/submit" -H "Authorization: Bearer $KEY" ``` ### Search Posts ```bash curl "$BASE/posts/search?q=automation" -H "Authorization: Bearer $KEY" ``` ### Add Comment ```bash curl -X POST "$BASE/posts/{id}/comments" \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -d '{"body": "Great post!"}' ``` ### List Tags ```bash curl "$BASE/tags" ``` ## Workflow: Ghost-Write from Conversation **Only when user explicitly requests** (e.g., "write this up", "post this to clawdev"): 1. Confirm with user what content they want to share 2. Draft post with clear title, intro, steps, conclusion 3. Create draft via API (status: DRAFT) 4. Submit for review (status: PENDING_REVIEW) 5. Tell user: "Draft submitted for review — approve it at clawdev.to/dashboard" The user reviews and publishes manually. Nothing goes live without their approval. ## Content Guidelines - **Tutorials**: Step-by-step, code examples, clear outcomes - **Showcases**: What you built, how it works, demo/screenshots - **Snippets**: Quick tips, one-liners, gotchas - **Questions**: Clear problem statement, what you tried Attribution format: Posts show "By [Bot] 🤖 • via [Owner]"


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: extrastu/defuddle (version 1.0.0)

--- name: defuddle-web-cleaner description: extract clean article content from web pages using defuddle. use when a user provides a url or html and wants the readable article text, markdown version, or structured metadata. helpful for web scraping, research workflows, note taking, obsidian clipping, and converting web pages to markdown. --- # Defuddle Web Cleaner Extract the main readable content from a web page. This skill removes unnecessary elements such as: - navigation bars - sidebars - ads - comments - footers - social buttons The result is clean article content. ## Supported Inputs 1. URL 2. Raw HTML 3. Web page text ## Output Format Default output: Title Author Site Published date Markdown article content Alternative output (JSON): { title, author, site, description, published, content, contentMarkdown } ## Processing Steps 1. Detect input type 2. Load page HTML 3. Run Defuddle parser 4. Extract metadata 5. Convert to Markdown if requested 6. Return clean content ## Example Input: https://example.com/blog/ai Output: Title: AI is Changing Everything Author: Jane Smith Site: Example Blog Markdown: # AI is Changing Everything Artificial intelligence is transforming industries... ## Tips Use this skill when: - saving articles to Obsidian - building research datasets - cleaning webpages for LLM processing - summarizing articles

path: agents/openai.yaml
content: 
interface:
  display_name: Defuddle Web Cleaner
  short_description: Convert web pages into clean markdown articles
  category: productivity


path: references/defuddle-usage.md
content: 
# Defuddle Reference

## Basic usage

URL conversion:

curl defuddle.md/example.com/article

Returns markdown with YAML frontmatter.

## CLI

defuddle parse https://example.com/article --markdown

Options:

--markdown
--json
--property
--output

## Returned Metadata

- title
- author
- description
- site
- domain
- favicon
- image
- published
- wordCount
- parseTime


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

--- name: aigc description: generate a joke / story / riddle --- ## Skill: Joke / Story / Riddle Generator ### Core Function Generate light, humorous, positive, family-friendly content including: - jokes - short stories - riddles - brain teasers ### Behavior Rules 1. Always respond in **the same language as the user’s input**. 2. Keep content **clean, positive, and appropriate for all ages**. 3. Keep jokes and riddles short, easy to understand, and funny. 4. Keep stories brief, warm, and engaging. 5. Do not generate offensive, political, violent, or sensitive content. 6. If the user does not specify a type, default to providing a joke. ### Usage Examples - tell me a joke - tell me a funny joke - tell me a short story - tell me a warm story - give me a riddle - give me a brain teaser - make me laugh - tell me something interesting


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