OpenClaw/clawhub-security-signals huggingface dataset:
Skill: sosshuai/period-tracker (version 1.2.0)

--- name: 经期管理 / Period Tracker description: "经期管理 / Period Tracker - 女性健康周期追踪工具。全自然语言交互，无需记命令。功能：(1) 经期记录 - 说'月经来了'即可记录；(2) 症状记录 - 说'痛经2级'或'心情烦躁'；(3) 周期预测 - 说'下次月经什么时候'；(4) 排卵期管理 - 受孕概率日历；(5) 定时提醒 - 说'帮我设置经期提醒'；(6) 健康统计；(7) 数据导出。触发词：记录经期、月经来了、大姨妈、排卵期、安全期、易孕期、受孕概率、备孕、经期统计、月经周期、经期日历、经期提醒。" --- # 经期管理 / Period Tracker **全自然语言交互** - 无需记命令，直接对AI助手说话即可。 ## 快速开始 告诉你的AI助手： - **"月经来了"** → 自动记录经期 - **"痛经2级"** 或 **"心情烦躁"** → 记录症状 - **"下次月经什么时候"** → 查看预测 - **"帮我设置经期提醒"** → 设置定时提醒 ## 核心功能 | 功能 | 自然语言指令 | 说明 | |------|-------------|------| | 记录经期 | "月经来了" / "大姨妈来了" | 自动记录开始日期 | | 记录症状 | "痛经3级" / "心情烦躁" / "经血量多" | 记录痛经、情绪、经血量 | | 查看状态 | "今天什么情况" | 显示经期状态、排卵信息、受孕概率 | | 周期预测 | "下次月经什么时候" | 预测下次经期、排卵日 | | 定时提醒 | "帮我设置经期提醒" / "每天早上9点发报告" | 自动提醒经期和排卵 | | 检查更新 | "检查更新" / "更新skill" | 自动检查并更新到最新版本 | | 健康统计 | "查看统计" | 平均周期、规律性分析 | | 数据导出 | "导出数据" | 导出JSON/CSV格式 | ## 技术信息 - 核心脚本：`scripts/period_tracker.py` - 数据文件：`~/.openclaw/workspace/period_tracker/data.json` - 依赖：Python 3（标准库，无需安装额外包） - 数据存储：本地JSON文件，不上传云端 ## 示例交互 **用户：** 月经来了 **AI：** ✅ 已记录经期：2026-03-18。可以说"痛经2级"记录症状。 **用户：** 痛经2级 **AI：** ✅ 已记录：痛经2级。 **用户：** 今天什么情况 **AI：** 📍 今日状态：经期第1天，还有5天结束。排卵日：4月1日... **用户：** 帮我设置经期提醒 **AI：** ✅ 已设置！预测经期前3天自动提醒。 **用户：** 检查更新 **AI：** 🆕 发现新版本：1.2.0，是否更新？(y/n) ## 隐私说明 - 所有数据存储在本地电脑 - 不上传任何服务器 - 无需注册账号 - 数据文件可随时导出或删除 # 添加经期记录 python3 $SCRIPT add 2025-03-01 --end 2025-03-06 \ --pain 3 --flow 中 --mood 烦躁 --tags 头痛,腰痛 # 预测下次经期 + 排卵期 + 安全期 + 今日受孕概率 python3 $SCRIPT predict # 排卵期管理（7天受孕概率日历 + 备孕建议） python3 $SCRIPT ovulation # 健康统计报告 python3 $SCRIPT stats # 年度日历（含排卵日/易孕期标注） python3 $SCRIPT calendar --year 2025 # 历史记录列表 python3 $SCRIPT list --limit 10 # 导出数据 python3 $SCRIPT export --format csv # 或 json # 编辑/删除记录 python3 $SCRIPT edit 2025-03-01 --end 2025-03-06 python3 $SCRIPT delete 2025-03-01 ``` --- ## 用户请求处理指南 ### 记录经期 | 用户说 | 操作 | |--------|------| | "月经来了" / "大姨妈来了" | 询问开始日期 → `add <start>` | | "月经结束了" | 询问结束日期 → `edit <start> --end <end>` | | "从3月1号到6号，痛经比较严重" | `add 2025-03-01 --end 2025-03-06 --pain 4` | ### 症状参数 | 参数 | 取值 | 说明 | |------|------|------| | `--pain` | 1-5 | 1=轻微，5=剧烈 | | `--flow` | 少/中/多 | 经血量 | | `--mood` | 开心/平静/烦躁/低落/焦虑 | 情绪 | | `--tags` | 逗号分隔 | 头痛、腰痛、痘痘、浮肿等 | ### 排卵期 & 受孕概率 用户说"排卵期" / "易孕期" / "受孕概率" / "备孕" → 调用 `ovulation` 受孕概率分级： - 🔴 排卵日：最高（25-30%） - 🟠 排卵前1-2天：高（20-25%） - 🟡 排卵前3-5天：中（10-15%） - 🔵 排卵后1-2天：低（5-10%） - 🟢 其他时间：极低（< 3%） ### 今日状态 用户说"今天是什么时期" / "今天安全吗" → 调用 `today`，输出：经期中/排卵日/易孕期/安全期 + 受孕概率 --- ## 数据格式 详见 `references/data-schema.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: josephtandle/claude-code-switchboard (version 1.2.0)

--- name: claude-code-switchboard slug: remote-control version: 1.2.0 description: "Manage how OpenClaw routes Telegram messages to different Claude model backends. Switch between CLI and API providers with simple config changes." command: /telegram-routing --- # /telegram-routing — Telegram Message Routing Manager Manage how Telegram messages are routed between different Claude model backends in OpenClaw. ## Usage ``` /telegram-routing status # Show current routing config /telegram-routing model <ref> # Switch primary model (e.g. opus, sonnet, haiku) /telegram-routing logs # Show recent message processing logs /telegram-routing fallback # Switch to lightweight API mode /telegram-routing restore # Restore default CLI-based routing ``` ## Config Location All settings live in `~/.openclaw/openclaw.json` under `agents.defaults`. ### Key fields: - `model.primary` — The primary model/provider reference - `model.fallbacks` — Ordered fallback chain when primary is unavailable ## Commands ### status Read the OpenClaw config and display current routing settings including: - Active primary model - Configured fallback models - Whether CLI backend is active ### model <ref> Switch the primary model. Valid shorthand references: | Shorthand | Resolves to | |-----------|-------------| | `opus` | `claude-cli/opus` | | `sonnet` | `claude-cli/sonnet` | | `haiku` | `anthropic/claude-haiku-4-5` | Steps: 1. Read `~/.openclaw/openclaw.json` 2. Update `agents.defaults.model.primary` to the resolved model reference 3. Write the updated config 4. Restart the gateway service 5. Verify via gateway logs ### logs Show recent Telegram message processing activity from the gateway log. ### fallback Quick switch to API-only mode for faster, lightweight responses. ### restore Restore the default CLI-based routing configuration. ## Architecture Messages flow through the OpenClaw Gateway, which reads the configured model provider and dispatches to the appropriate backend. CLI-based providers use the local Claude Code installation, while API providers make direct API calls. ## Troubleshooting | Issue | Fix | |-------|-----| | Config errors on restart | Run `openclaw doctor` to validate config | | Slow responses | Try switching to `sonnet` for faster responses | | Gateway issues | Check `~/.openclaw/logs/gateway.log` for details | | Falling back to secondary model | Primary backend may be unavailable — check logs |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mtbf999/trilium (version 1.0.3)

--- name: trilium description: Work with Trilium Notes (notebook app) and automate via Trilium Notes ETAPI. This skill allows you to read, search, and create notes in your Trilium database. Use to manage notebook content or search for information within Trilium. To get started: (1) In Trilium, go to Options -> ETAPI and create a new ETAPI token. (2) Set TRILIUM_ETAPI_TOKEN and TRILIUM_SERVER_URL in your environment or .env file. --- # Trilium Notes Work with Trilium Notes via the [ETAPI](https://github.com/zadam/trilium/wiki/Etapi). ## Configuration This skill requires a Trilium ETAPI token and the server URL. These should be stored in the environment or passed by the user. - `TRILIUM_ETAPI_TOKEN`: Your ETAPI token (generated in Trilium -> Options -> ETAPI). - `TRILIUM_SERVER_URL`: The URL of your Trilium server (e.g., `http://localhost:8080`). ## Core Concepts - **Note ID**: A unique identifier for a note (e.g., `root`, `_day_2026-02-11`). - **Attributes**: Metadata attached to notes (labels, relations). - **ETAPI**: The External Trilium API, a REST API for interacting with the database. ## Example Prompts ### Search for information - "Search my Trilium notes for 'Home Lab'" - "Find any notes in Trilium about 'Docker configuration'" - "What did I write in Trilium about 'Project X'?" ### Create new content - "Create a new note in Trilium called 'Meeting Notes' under the root folder" - "Add a note to Trilium with title 'Ideas' and content 'Buy more coffee'" - "Create a text note in Trilium under my 'Projects' folder" ### Read and retrieve - "Show me the content of my Trilium note called 'Todo List'" - "Get the details for the Trilium note with ID 'U5cC2X3KKPdC'" ## Reference Documentation For detailed API information, see [references/api.md](references/api.md).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: romainsantoli-web/firm-browser-audit-pack (version 1.0.0)

--- name: firm-browser-audit-pack version: 1.0.0 description: > Browser automation security audit pack. Validates Playwright/Puppeteer headless configuration for dangerous arguments. 1 audit tool. author: romainsantoli-web license: MIT metadata: openclaw: registry: ClawHub requires: - mcp-openclaw-extensions >= 3.0.0 tags: - browser - security - playwright - puppeteer - audit --- # firm-browser-audit-pack > ⚠️ Contenu généré par IA — validation humaine requise avant utilisation. ## Purpose Audits browser automation configurations for security risks. Detects 13 dangerous Chrome/Chromium arguments (--no-sandbox, --disable-web-security, etc.) in Playwright and Puppeteer configs with severity-based classification. ## Tools (1) | Tool | Description | Severity | |------|-------------|----------| | `openclaw_browser_context_check` | Headless browser config security audit | CRITICAL (--no-sandbox), HIGH (others) | ## Usage ```yaml skills: - firm-browser-audit-pack # Audit browser configuration: openclaw_browser_context_check config_path=/path/to/config.json ``` ## Requirements - `mcp-openclaw-extensions >= 3.0.0`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: bristy/echo-chamber (version 1.0.1)

--- name: echo-chamber description: Echoes back whatever the user says. Use when the user asks to echo or repeat something. version: 1.0.1 user-invocable: true --- # Echo Chamber When this skill is invoked, simply repeat back the user's input text. That's it. If arguments were provided, echo them back exactly. If no arguments were provided, reply with "echo... echo... echo..."


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: brucegutman/pipeworx-art (version 1.0.0)

--- name: pipeworx-art description: Search and explore 500,000+ artworks in the Metropolitan Museum of Art's open-access collection version: 1.0.0 metadata: openclaw: requires: bins: - curl emoji: "🖼️" homepage: https://pipeworx.io/packs/art --- # Metropolitan Museum of Art The Met's collection spans 5,000 years of art from every corner of the world. This pack connects to their open-access API, giving you structured data on paintings, sculptures, textiles, photographs, and more — complete with high-resolution image URLs, provenance, and exhibition history. ## Available tools - **`search_artworks`** — Full-text search across the collection. Returns the first 5 matching objects with details like artist, date, medium, and image URL. - **`get_artwork`** — Deep dive into a single object by its Met Museum ID. Returns everything: dimensions, credit line, gallery location, provenance, classification, and more. - **`get_departments`** — Lists all curatorial departments (e.g., Egyptian Art, European Paintings, Asian Art). ## Scenarios where this fits 1. A user asks "show me Impressionist paintings at the Met" — use `search_artworks` with query `"impressionism"` 2. Generating educational content about ancient Egyptian artifacts 3. Building an art recommendation feature and need structured metadata 4. Comparing works across departments or time periods ## Example: finding Van Gogh works ```bash curl -s -X POST https://gateway.pipeworx.io/art/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_artworks","arguments":{"query":"van gogh sunflowers"}}}' ``` You'll get back objects including titles, dates, artist nationality, medium, and direct links to high-res images on the Met's CDN. ## Output shape Each artwork includes: - `title`, `artist`, `date`, `medium` - `department`, `culture`, `period` - `image_url` (public domain where available) - `object_url` (link to the Met's website) ## Setup ```json { "mcpServers": { "pipeworx-art": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/art/mcp"] } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: alexbrc20/news-sentiment (version 1.0.2)

--- name: news-sentiment version: 1.0.0 description: | Analyze crypto news sentiment (bullish/bearish). Scan Twitter, news sites, and social media. Get sentiment scores and trading signals. metadata: openclaw: emoji: 📰 requires: env: - DASHSCOPE_API_KEY bins: - python3 - curl pricing: type: freemium free: description: "每日 10 次查询，基础情绪分析" limits: dailyQueries: 10 pro: price: 1.99 currency: USD period: monthly description: "无限查询，实时推送，API 访问" features: - "无限查询" - "实时推送告警" - "多币种对比" - "历史情绪图表" - "API 访问权限" - "定制阈值告警" --- # 📰 News Sentiment Analyzer - 新闻情绪分析 Analyze crypto news and social media sentiment for trading signals. ## Features - 📊 Sentiment scoring (bullish/bearish/neutral) - 🔍 Multi-source analysis (Twitter, news, Reddit) - 📈 Trading signal generation - 🎯 Coin-specific sentiment - ⚡ Real-time updates ## Usage ```bash # Analyze sentiment for a coin /news-sentiment analyze BTC # Get market sentiment /news-sentiment market # Set alerts /news-sentiment alert --threshold 0.7 ``` ## Sentiment Scale - **0.7 - 1.0**: Very Bullish 🚀 - **0.3 - 0.7**: Neutral ➡️ - **0.0 - 0.3**: Very Bearish 📉 ## API Sources - Twitter API (6551.io) - News APIs - LLM analysis (Dashscope)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: macterra/archon-cashu (version 0.1.0)

--- name: archon-cashu description: Cashu ecash operations integrated with Archon DID for P2PK-locked tokens. Send and receive sats using DID-derived pubkeys, backup wallets to vault. Use for Cashu token operations, DID-locked payments, or ecash wallet management. metadata: openclaw: requires: env: - ARCHON_WALLET_PATH - ARCHON_PASSPHRASE - ARCHON_CASHU_CONFIG bins: - node - npx - cashu anyBins: - curl - jq primaryEnv: ARCHON_CASHU_CONFIG emoji: "🥜" --- # Archon Cashu - DID-Integrated Ecash Cashu ecash operations using your Archon DID for P2PK-locked tokens. Send sats that only the recipient's DID can unlock. ## Prerequisites - Archon identity configured (`~/.archon.env`) - Cashu CLI installed (`pip install cashu` or similar) - Config file at `~/.config/archon/cashu.env` (or `ARCHON_CASHU_CONFIG`) ## Configuration ```bash ./scripts/cashu/config.sh ``` Sets up Cashu wallet and optional LNBITS integration. ## Operations ### Check Balance ```bash ./scripts/cashu/balance.sh ``` ### Send Tokens (Unlocked) ```bash ./scripts/cashu/send-unlocked.sh <amount> ``` Returns a Cashu token anyone can redeem. ### Send Tokens (DID-Locked) ```bash ./scripts/cashu/send.sh <amount> <recipient-did> ``` Locks tokens to recipient's DID-derived pubkey (P2PK). Only they can unlock. ### Receive Tokens ```bash ./scripts/cashu/receive.sh <token> ``` ### Mint Tokens (Lightning) ```bash ./scripts/cashu/mint.sh <amount> ``` Creates Lightning invoice to mint new tokens. ### Lock/Unlock Tokens ```bash ./scripts/cashu/lock.sh <amount> <did> ``` ### Backup Wallet to Vault ```bash ./scripts/cashu/backup.sh [vault-did] ``` ### npub.cash Setup ```bash ./scripts/cashu/npub-cash-setup.sh ``` Configure npub.cash integration for Nostr zaps. ## Security Notes 1. **Wallet location**: `~/.cashu` by default (configurable via `CASHU_WALLET_DIR`) 2. **P2PK locking**: DID-locked tokens use your DID's secp256k1 key for cryptographic locking 3. **LNBITS integration**: Optional — for auto-paying invoices during mint operations


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: pe-evolver/pdf2image (version 1.0.0)

--- name: pdf-to-long-image description: | Convert multi-page PDFs into a single vertical long image by concatenating all pages. Use when the user asks to convert PDF to long image, combine PDF pages into one image, or create a scrolling screenshot from a PDF document. --- # PDF to Long Image Convert multi-page PDFs into a single vertical long image, useful for sharing documents as scrolling images or creating visual summaries. ## Quick Start ```bash # Basic usage uv run python ~/.openclaw/skills/pdf-to-long-image/scripts/pdf_to_long_image.py input.pdf # Specify output path uv run python ~/.openclaw/skills/pdf-to-long-image/scripts/pdf_to_long_image.py input.pdf output.png # Higher resolution uv run python ~/.openclaw/skills/pdf-to-long-image/scripts/pdf_to_long_image.py input.pdf output.png --scale 3 ``` ## How It Works 1. Opens the PDF using pymupdf (fitz) 2. Renders each page at the specified scale (default 2x for clarity) 3. Vertically concatenates all pages into a single image 4. Saves as optimized PNG ## Options | Option | Default | Description | |--------|---------|-------------| | `input` | (required) | Path to the PDF file | | `output` | `input_long.png` | Output image path | | `--scale` | 2.0 | Render scale factor (higher = more detail) | ## Dependencies The script requires these packages (install with uv): ```bash uv pip install pymupdf pillow ``` ## Example Output ``` Converting 32 pages from document.pdf... Page 1/32: 1684x1190 Page 2/32: 1684x1190 ... Done! Saved to: document_long.png Dimensions: 1684x38112 pixels File size: 11.23 MB ``` ## Script Location ``` ~/.openclaw/skills/pdf-to-long-image/scripts/pdf_to_long_image.py ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: freedompixels/cn-auto-publisher (version 1.0.1)

--- name: cn-auto-publisher version: 1.0.0 description: | 多平台内容自动发布。支持知乎回答/文章、小红书图文笔记一键发布。 metadata: openclaw: emoji: "🚀" category: "content" tags: ["publish", "zhihu", "xiaohongshu", "automation", "content"] --- # 多平台内容自动发布 ## 功能概述 一键将内容发布到知乎或小红书，告别重复操作。 **支持平台**： - 知乎（回答 + 文章） - 小红书（图文笔记） > ⚠️ 微信公众号暂不支持：微信官方明确禁止自动化发布，有封号风险 ## 使用方法 ### 发布知乎回答 ``` 帮我把以下内容发布到知乎问题 https://www.zhihu.com/question/xxx： [你的内容] ``` ### 发布知乎文章 ``` 帮我在知乎发布一篇文章，标题是"xxx"，内容如下： [你的内容] ``` ### 发布小红书笔记 ``` 帮我在小红书发布一篇笔记，标题是"xxx"，内容如下： [你的内容] ``` ## 执行流程 ### 知乎回答发布 1. 用户提供：问题URL + 回答内容 2. 使用浏览器自动化打开问题页面 3. 点击"写回答"按钮 4. 通过剪贴板粘贴写入内容（Draft.js编辑器兼容） 5. 点击"发布回答" 6. 返回发布结果和链接 ### 知乎文章发布 1. 用户提供：文章标题 + 文章内容 2. 使用浏览器自动化打开写作页面 3. 填写标题和正文 4. 点击"发布" 5. 返回发布结果和链接 ### 小红书笔记发布 1. 用户提供：笔记标题 + 正文 + 图片路径（可选） 2. 使用浏览器自动化打开小红书创作者页面 3. 上传图片（如有） 4. 填写标题和正文 5. 点击"发布" 6. 返回发布结果 ## 前置条件 - 需要用户已在浏览器中登录知乎/小红书账号 - Cookie持久化存储在 `~/.qclaw/zhihu_cookies.json` 或 `~/.qclaw/xiaohongshu_cookies.json` - 首次使用会检测登录状态，如未登录会提示用户手动登录 ## 注意事项 - 发布频率建议：知乎每天不超过2篇，小红书每天不超过3篇 - 内容必须符合平台规则，避免违规 - 首次发布前请确认已登录对应平台 ## 技术实现 - 浏览器自动化：Playwright + Chrome - 内容写入：剪贴板粘贴（兼容Draft.js/TipTap等虚拟编辑器） - 反检测：禁用WebDriver标识、自定义User-Agent - Cookie持久化：JSON文件存储


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: shangter666/auto-commit (version 1.0.2)

--- name: auto-commit description: Triggers on any task that modifies code. Provides instructions to surgically stage and commit only the modified code files to save progress. --- # Auto Commit Skill ## Core Instruction When you complete a user request that involves modifying files or code, you MUST automatically create a git commit to save the changes. This ensures that every successful AI intervention is snapshotted. ## Procedure After finishing the code modifications for the user's request: 1. **Surgical Staging**: Do NOT use `git add .`. Instead, stage ONLY the files you have explicitly modified: - `git add <file_path1> <file_path2> ...` 2. **Filter by Type**: If multiple files were changed, ensure you are only staging source code files (e.g., `.py`, `.go`, `.sol`, `.js`, `.ts`, `.md`). Avoid staging environment files (`.env`), binaries, or large assets. 3. **Verify**: If unsure, run `git status` to confirm only the intended changes are staged. 4. **Commit**: Run `git commit -m "<message>"` with a concise, descriptive summary of your changes. Do not ask for permission; execute the commit automatically. If the user explicitly asks *not* to commit, respect their request. Skip if not a git repository or no changes were made.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: weiqihan/wsl-path-converter (version 1.0.0)

--- name: wsl-path-converter description: Convert Windows paths to WSL paths for file operations in WSL environment author: OpenClaw Assistant version: 1.0.0 --- # WSL path conversion skills This skill is used to convert Windows paths to WSL paths, enabling correct access to Windows files in the WSL environment. ## Function Description In the WSL environment, the disk partitions of Windows are mounted under the `/mnt/` directory, for example: - `C:\` → `/mnt/c/` - `E:\` → `/mnt/e/` This skill can automatically recognize the Windows path format and convert it into a path accessible by WSL. ## Usage The skill will automatically handle path conversion. When you provide a path in Windows format, it will be automatically converted to WSL format. ## Example When you mentioned a similar path: - `E:\projects\chess_game.png` → automatically converted to `/mnt/e/projects/chess_game.png` - `C:\Users\Documents\file.txt` → automatically converted to `/mnt/c/Users/Documents/file.txt` - `D:\data\images\photo.jpg` → automatically converted to `/mnt/d/data/images/photo.jpg` ## Conversion Rules 1. Recognize Windows paths in the format of `X:\` 2. Convert it to the `/mnt/x/` format 3. Convert the Windows path separator `\` to the Unix path separator `/` 4. Keep the rest of the path unchanged ## Application Scenario - Read files from Windows disks - Access project files in Windows - Manipulate images or other resources in Windows - Handle Windows paths in the WSL environment


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: autogame-17/feishu-sticker (version 1.0.8)

--- name: feishu-sticker description: Send images as native Feishu stickers. Features auto-upload, caching, and GIF-to-WebP conversion. tags: [feishu, lark, sticker, image, fun] --- # Feishu Sticker Skill Sends a sticker (image) to a Feishu user or group. Automatically uploads the image to Feishu (caching the `image_key` via MD5), converts GIFs to WebP for efficiency, and supports smart search. ## Features - **Auto-Upload**: Uploads local images to Feishu CDN on demand. - **Caching**: Caches `image_key` by file hash to avoid re-uploading. - **Optimization**: Auto-converts GIFs to WebP (via `ffmpeg-static`) and compresses large images (>5MB). - **Smart Search**: Find stickers by `--query` or `--emotion`. ## Usage ```bash # Send random sticker node skills/feishu-sticker/send.js --target "ou_..." # Send specific file node skills/feishu-sticker/send.js --target "ou_..." --file "/path/to/image.jpg" # Search and send node skills/feishu-sticker/send.js --target "ou_..." --query "angry cat" node skills/feishu-sticker/send.js --target "ou_..." --emotion "happy" ``` ## Setup 1. Put your stickers in `~/.openclaw/media/stickers/` (or set `STICKER_DIR`). 2. Install dependencies: `npm install` (requires `axios`, `commander`, `ffmpeg-static`, `form-data`, `dotenv`).


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