OpenClaw/clawhub-security-signals huggingface dataset:
Skill: earthking11/dota2-xg-next-game (version 1.1.0)

--- name: "dota2 XG next game" description: "查询 Xtreme Gaming (XG) 战队的下一场比赛信息。通过 Liquipedia API 获取精准、实时的赛程数据。当用户询问 XG 何时有比赛或下一场对手是谁时调用。" author: "ame hater" version: "1.1.0" metadata: { "openclaw": { "requires": { "bins": ["curl", "jq"] } } } --- # dota2 XG next game (API Edition) 这个技能通过 **Liquipedia MediaWiki API** 接口直接获取 Xtreme Gaming (XG) 的赛程数据，完美绕过前端页面的反爬限制（403 Forbidden）和代理环境（TUN 模式）下的 SSRF 拦截。 ## 运行逻辑 1. **API 抓取 (核心)**： - **指令**：使用 `RunCommand` 执行以下 `curl` 命令（必须带 User-Agent）： `curl -H "User-Agent: Trae/1.0 (OpenClaw Skill)" -s "https://liquipedia.net/dota2/api.php?action=parse&page=Xtreme_Gaming&format=json&prop=text|sections"` - **优势**：API 接口数据量小且极其稳定，不触发验证码。 2. **解析 JSON 数据**： - 在返回的 JSON 中查找 `sections` 列表，定位到 `anchor` 为 `Upcoming_Matches` 的 `index`（通常在末尾）。 - 根据该 `index` 提取对应的 `text` 内容。 3. **深入分析赛程阶段**： - 从提取的内容中识别下一场比赛所在的赛事（Tournament）。 - 如果需要进一步确认赛事轮次（如败者组 Lower Bracket），可对该赛事页面再次调用 API。 4. **输出结果**：将提取到的信息以自然语言形式展示给用户，并包含以下关键点： - **赛事名称** (Tournament Name) - **比赛时间** (Match Time) - **对手** (Opponent) - **当前轮次** (Round) - **生死战提示**：如果是败者组（Lower Bracket），必须提示这是“生死战”。 - **特别彩蛋**：如果是生死战，必须输出“输了ame就回家啦🤣”。 ## 输出风格 (LLM 优化) - **自然语言**：严禁直接打印原始 JSON。使用口语化、像在哥们儿聊天一样的语气来总结比赛信息。 - **态度鲜明**：保持 "ame hater" 的设定。在提及 Ame 的表现或潜在后果时，可以带点调侃、恨铁不成钢、或准备看戏的语气。 - **关键信息加粗**：将时间、对手、赛制（如 Bo3）和轮次加粗。 ## 使用场景 - 当用户询问 "XG 下一场打谁？"、"XG 什么时候有比赛？"、"XG 赛程" 等与未来比赛相关的话题时。 ## 注意事项 - **时区转换**：Liquipedia 原始数据通常为 UTC，必须手动换算为北京时间（CST, UTC+8）。 - **无赛程处理**：如果 API 返回中找不到 `Upcoming_Matches` 节点，说明该战队目前没有已公开的未来赛程。 - **解析效率**：API 返回的内容比 HTML 干净得多，Agent 应当利用这种结构化优势进行精准提取。 - **保持人设**：不要忘了作者是 "ame hater"，在输出最后记得加上彩蛋。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cinience/volcengine-compute-ecs (version 1.0.0)

--- name: volcengine-compute-ecs description: Manage Volcengine ECS instances and related resources. Use when users need instance inventory, lifecycle operations, troubleshooting, or automation templates for ECS. --- # volcengine-compute-ecs Operate ECS resources safely with clear scope, dry-run style checks, and auditable output. ## Execution Checklist 1. Confirm region, account scope, and instance filters. 2. Query inventory before mutating operations. 3. Execute lifecycle actions (start/stop/reboot) only with explicit target IDs. 4. Return action summary with instance IDs and status. ## Safety Rules - Prefer read-only commands first. - Batch operations by region and tag. - Record pre/post status for rollback. ## References - `references/sources.md`

path: agents/openai.yaml
content: interface:
  display_name: "Volcengine ECS Operations"
  short_description: "Inspect and operate ECS instances safely"
  default_prompt: "Use $volcengine-compute-ecs to list and operate ECS resources for this task."


path: references/sources.md
content: # Sources

- Volcengine ECS API and CLI documentation
- Volcengine region and quota management docs


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: shenmeng/shenmeng-profit-hunter (version 1.3.0)

--- name: profit-hunter description: | 合法赚钱项目挖掘与执行助手。持续搜索、研究、评估和执行合法在线收入机会。 当用户说"赚钱"、"副业"、"收入"、"怎么赚钱"、"兼职"、"副业收入"、"合法赚钱"时激活。 聚焦：技能变现、内容创作、平台任务、电商、 freelancing 等合法领域。不含任何欺诈、传销或违法内容。 --- # Profit Hunter 合法在线收入挖掘与执行助手。持续研究 → 评估方案 → 执行落地 → 追踪结果。 ## 核心原则 - **100% 合法** — 只推荐和执行合法合规的赚钱方式 - **先调研后行动** — 每个方案先评估可行性再执行 - **小步快跑** — 先小规模测试，成功后复制放大 - **持续迭代** — 根据数据反馈优化策略 ## 工作流程 ### 第 1 步：发现机会 通过以下渠道持续挖掘合法赚钱机会： ```javascript // 搜索最新赚钱项目 batch_web_search({ queries: [ { query: "2026 合法在线赚钱方式", num_results: 10 }, { query: "零成本副业 2026", num_results: 8 }, { query: "技能变现 平台 2026", num_results: 8 } ] }) ``` ### 第 2 步：评估筛选 每个项目必须通过以下检查： | 检查项 | 标准 | 淘汰条件 | |------|------|---------| | 合法性 | 官方平台、无需缴纳入门费 | 需缴费=立即排除 | | 可行性 | 有真实用户基础 | 零用户平台不碰 | | 技能匹配 | 与用户现有技能匹配 | 完全不匹配跳过 | | 收益预期 | ¥50+/天 起步 | 低于 ¥20/天 优先做任务平台 | | 时间成本 | 每日 1-3 小时 | 高于 4 小时需评估 | ### 第 3 步：执行落地 **根据用户现状匹配方案：** ``` 用户现状评估： ├── 有无技能（编程/设计/写作/翻译/外语） ├── 有无本金（0 / 500+ / 5000+） ├── 有无时间（1小时 / 3小时 / 6小时+） └── 有无设备（手机 / 电脑 / 都有） ``` **匹配优先级：** | 现状 | 首选方案 | 预估日收益 | |------|---------|---------| | 无技能+无本金+手机 | 任务平台（阿里众包/美团众包）| ¥50-150 | | 无技能+无本金+电脑 | 问卷/内容搬运 | ¥30-100 | | 有技能+无本金 | Freelancing（Upwork/猪八戒） | ¥100-500 | | 有技能+有本金 | 技能产品化（课程/模板） | ¥200-1000 | | 有本金+有时间 | 电商/闲鱼无货源 | ¥100-500 | ### 第 4 步：执行监控 ```javascript // 定期检查收入情况 batch_web_search({ queries: [ { query: "{平台名称} 最新任务", data_range: "d" }, { query: "{赚钱方式} 技巧 2026", num_results: 5 } ] }) ``` ## 收入来源分类 ### A. 零成本起步（无需本金） | 方式 | 平台 | 日收益 | 上手难度 | |------|------|--------|---------| | 任务平台 | 阿里众包/腾讯搜活帮 | ¥50-150 | ★ | | 问卷调查 | 人人赢/收奖网 | ¥20-80 | ★ | | App 拉新 | 各大平台推广 | ¥50-200 | ★★ | | 内容创作 | 小红书/抖音/B站 | ¥0-500 | ★★★ | | 自由职业 | 猪八戒/程序员客栈 | ¥100-1000 | ★★★ | ### B. 小额本金起步（500+） | 方式 | 平台 | 日收益 | 上手难度 | |------|------|--------|---------| | 闲鱼无货源 | 闲鱼 | ¥100-500 | ★★ | | 拼多多无货源 | 拼多多 | ¥100-300 | ★★ | | 虚拟商品 | 知识付费/模板 | ¥50-500 | ★★★ | ### C. 技能变现（有专长） | 技能 | 变现平台 | 日收益 | |------|---------|--------| | 编程 | Upwork/GitHub/程序员客栈 | ¥300-2000 | | 设计 | 站酷/千库/特创易 | ¥200-1000 | | 写作 | 知乎/公众号/百家号 | ¥100-500 | | 翻译 | 译客/有道/做到 | ¥150-800 | | 视频剪辑 | 抖音/B站/影视公司外包 | ¥200-800 | ## 持续创新机制 ### 每周扫描 每周执行一次新机会扫描： ```javascript // 每月第一周：搜索当月新平台活动 // 每月第二周：评估上月执行效果 // 每月第三周：优化方案或切换赛道 // 每月第四周：总结收益，制定下月目标 ``` ### 收益追踪模板 ``` 📊 月度收益追踪 目标：¥{金额} 起点：¥{金额} 本周：¥{金额} 本月累计：¥{金额} 完成率：{百分比}% 执行记录： - {日期} {方式A} 收益 ¥{金额} - {日期} {方式B} 收益 ¥{金额} ``` ## 注意事项 - **不碰**：传销、资金盘、高息理财、赌博相关 - **警惕**：需缴纳入门费、需发展下线、承诺高回报的项目 - **优先**：有真实产品/服务支撑的正当商业 - **分散**：不要只看一个平台，多平台同时执行降低风险 - **记录**：每日记录收入来源和金额，数据驱动优化决策


Security scan verdicts — ClawScan: malicious | static analysis: clean | VirusTotal: clean | SkillSpector:  ()
Skill: ryan-wuxl/code-review-ai (version 1.0.0)

--- name: code-review-assistant description: 代码审查助手 - 自动分析代码，提供审查意见、性能优化建议、安全漏洞检测。支持多种编程语言，生成详细的代码审查报告。 homepage: https://github.com/openclaw/code-review-assistant metadata: openclaw: emoji: 🔍 requires: bins: ["node"] --- # 代码审查助手 自动代码审查，提升代码质量。 ## 功能特点 - 🔍 **自动审查** - 分析代码结构和风格 - ⚡ **性能优化** - 识别性能瓶颈 - 🔒 **安全检测** - 发现潜在安全漏洞 - 📊 **质量报告** - 生成详细审查报告 - 🛠️ **多语言支持** - 支持 JS/Python/Go/Java 等 ## 使用方法 ```bash node scripts/review.mjs --file ./src/app.js ``` ## License MIT


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: qipengguo/free-google-search-with-browser (version 0.0.1)

--- name: "free-google-search-with-browser" description: "Search Google using scrapling and return structured results (title, link, snippet). Invoke when user asks to search Google or find information online. Your device should be able to lanuch broswer with UI." --- # Google Search This skill searches Google using a stealthy fetcher and returns structured results suitable for LLM consumption. ## Usage Run the python script `google_search.py` with the query as an argument. ```bash python google_search.py "<query>" ``` ## File Structure - **google_search.py**: The main script. It uses `scrapling` to perform the Google search. It launches a browser instance to fetch results, ensuring high success rates by mimicking real user behavior. - **verify_search.py**: A debugging script. It runs a predefined set of queries to verify that the search functionality works correctly. - **requirements.txt**: Lists the Python dependencies required for the project. ## Requirements - Python 3 - `scrapling` package installed (with `playwright` and `curl_cffi` dependencies) To install dependencies: ```bash pip install -r requirements.txt playwright install # Required for browser automation. If slow, consider downloading manually. ``` ## Notes & Troubleshooting ### Browser Environment (Headless=False) This skill is configured to run with **`headless=False`** (see `google_search.py`). This means: 1. **GUI Required**: The environment where this code runs **must** support a Graphical User Interface (GUI). It will launch a visible browser window. 2. **No Headless Servers**: It will likely fail on headless servers (like standard CI/CD runners or SSH-only servers) unless X11 forwarding or a virtual display (like `xvfb`) is configured. ### Debugging with `verify_search.py` If you encounter issues or want to test if the setup is working: 1. Run `python verify_search.py`. 2. This script will execute several test queries (e.g., "python tutorial", mixed English/Chinese). 3. Watch the browser window to see if it opens and loads Google results. 4. Check the console output for success messages or error logs.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: nexscope/ecommerce-business-plan (version 1.0.0)

--- name: ecommerce-business-plan description: "Create a comprehensive e-commerce business plan. Market analysis, financial projections, marketing strategy, operations planning, and milestone roadmap for new or growing e-commerce businesses." metadata: nexscope: emoji: "📑" category: ecommerce --- # E-Commerce Business Plan 📑 Create a comprehensive e-commerce business plan. Market analysis, financial projections, marketing strategy, operations planning, and milestone roadmap for new or growing e-commerce businesses. **Supported platforms:** Amazon, Shopify, WooCommerce, Walmart, TikTok Shop, Etsy, eBay, BigCommerce. Built by [Nexscope](https://www.nexscope.ai/) — your AI assistant for smarter e-commerce decisions. ## Install ```bash npx skills add nexscope-ai/eCommerce-Skills --skill ecommerce-business-plan -g ``` ## Usage ``` I want to start an e-commerce business selling premium dog accessories. Budget: $15,000. Help me create a business plan. ``` ## Capabilities - Market opportunity sizing and TAM/SAM/SOM estimation - Competitive landscape analysis - Business model definition (DTC, marketplace, hybrid) - Financial projections (revenue, costs, break-even, cash flow) - Marketing strategy outline with CAC and LTV targets - Operations plan (fulfillment, supply chain, technology) - Milestone roadmap (3-month, 6-month, 12-month) ## How This Skill Works **Step 1:** Collect information from the user's message — product, platform, current situation, and goals. **Step 2:** Ask one follow-up with all remaining questions using multiple-choice format. Allow shorthand answers (e.g., "1b 2c 3a"). **Step 3:** Research and analyze using the frameworks and methodology below. **Step 4:** Deliver structured, actionable output with specific recommendations, not vague advice. ## Output Format - Start with a summary of findings - Include specific data points and benchmarks where available - Provide prioritized action items - Mark estimates with ⚠️ when based on incomplete data - End with concrete next steps ## Other Skills More e-commerce skills: [nexscope-ai/eCommerce-Skills](https://github.com/nexscope-ai/eCommerce-Skills) Amazon-specific skills: [nexscope-ai/Amazon-Skills](https://github.com/nexscope-ai/Amazon-Skills) Built by [Nexscope](https://www.nexscope.ai/) — your AI assistant for smarter e-commerce decisions.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: drunkpig/md-of-programer (version 0.1.0)

--- name: md-of-programer version: 0.1.0 description: Insert mind maps and architecture diagrams into Markdown documents. Triggered when the user says "draw a mind map", "draw an architecture diagram", "insert a diagram", "mind map", or "diagram". argument-hint: [diagram description, optional] allowed-tools: Write, Bash, Read metadata: openclaw: requires: bins: - mddoc - d2 --- When inserting diagrams into a Markdown document, always follow the rules below. ## Dependency Check **Before doing anything, check that dependencies are installed:** ```bash which mddoc && which d2 ``` If `mddoc` is not installed: ```bash npm install -g mddoc-cli ``` If `d2` is not installed: - macOS: `brew install d2` - Windows: `winget install terrastruct.d2` - Linux / others: see https://d2lang.com/tour/install Make sure both are available before continuing. ## Rules - All diagram source files and PNGs go **only in the `.mddoc/` directory** (alongside the Markdown file) - File names must use **lowercase English + hyphens** (`auth-flow`, `module-overview`) — no spaces or numbers - **Always write the source file first, then generate the PNG, then embed into Markdown** — in that order - **Never** write D2 or markmap code blocks directly in the Markdown body - Create `.mddoc/` if it does not exist ## Mind Map (.mmd) **1. Write the source file** → `.mddoc/<name>.mmd` in markmap markdown format: ```markdown # Root node ## Branch one - Leaf node - Leaf node ## Branch two - Leaf node - Child leaf ``` **2. Generate PNG:** ```bash mddoc mindmap .mddoc/<name>.mmd ``` **3. Embed in Markdown:** ```markdown ![Mind map: <description>](.mddoc/<name>.png) *Source: [<name>.mmd](.mddoc/<name>.mmd)* ``` ## Architecture Diagram (.d2) **1. Write the source file** → `.mddoc/<name>.d2` in D2 language: ```d2 direction: right client: Client {shape: rectangle} gateway: API Gateway {shape: rectangle} db: Database {shape: cylinder} client -> gateway -> db ``` **2. Generate PNG:** ```bash mddoc arch .mddoc/<name>.d2 ``` **3. Embed in Markdown:** ```markdown ![Architecture: <description>](.mddoc/<name>.png) *Source: [<name>.d2](.mddoc/<name>.d2)* ``` ## Regenerate All Diagrams ```bash mddoc build ``` ## Feedback Issues and suggestions → https://github.com/drunkpig/md-of-programer/issues


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: andyy1976/wechat-publisher-3 (version 0.1.0)

--- name: 微信公众号发布器 description: 当用户需要发布微信公众号文章、查看热点、配置公众号参数、生成文章内容、或运营微信公众号相关任务时，自动激活此技能。触发词包括：发公众号、微信推文、草稿箱、AppID、AppSecret、公众号运营、热点文章、wx-publish。 version: 1.0.0 --- # 微信公众号发布器技能 ## 核心能力 本插件为 WorkBuddy 提供完整的微信公众号内容生产和发布能力，包括： 1. **热点抓取与过滤**：实时获取微博/百度/知乎热搜，按用户关键词白名单评分 2. **AI文章生成**：基于选定热点自动生成1200-2000字高质量文章 3. **微信排版**：自动转换为微信公众号标准 HTML 排版 4. **一键发布**：调用微信草稿箱 API 直接发布 5. **定时任务**：支持每日定时自动运行 ## 可用命令 | 命令 | 功能 | |------|------| | `/wx-setup` | 初始化配置（首次使用必须先运行） | | `/wx-publish` | 自动抓取热点 → 生成文章 → 发布草稿箱 | | `/wx-hotspot` | 查看今日热点排行，选题参考 | | `/wx-diary` | 将自定义文字/Markdown 发布为公众号文章 | ## 配置文件说明 配置文件位于 `${CODEBUDDY_PLUGIN_ROOT}/config/user-config.json`，包含： ```json { "wechat": { "appId": "wx...", // 公众号AppID "appSecret": "...", // 公众号AppSecret "thumbMediaId": "...", // 封面图素材ID "author": "WorkBuddy" // 作者名（最多8字） }, "keywords": { "primary": ["人工智能","AI","机器人"], // 主关键词（高权重） "secondary": ["互联网","通信"], // 次关键词（低权重） "exclude": ["明星","娱乐"] // 排除关键词 }, "publish": { "targetTime": "07:00", // 定时发布时间 "minHeat": 50000, // 最低热度门槛 "contentStyle": "深度分析型" // 文章风格 } } ``` ## 文章写作规范 每篇文章必须包含以下结构： ### 开头（钩子段） 用高亮引用块（蓝色左边框）引入话题，直接点出与读者的关联。不超过80字。 ### 正文（3-5个章节） 每章节使用 `##` 二级标题，格式：蓝色左边框标题。章节内容类型： - **事件还原**：发生了什么，数字化事实 - **深度分析**：为什么会这样，背后逻辑 - **对比/案例**：与其他行业/国家/时期对比 - **影响评估**：对目标读者（中小企业/个人）的实际影响 ### 实用建议块 使用蓝绿渐变背景框，给出3条以上具体可操作的建议。 ### 结尾（金句） 一句有力的话收尾，可以是： - 行动呼吁型："早点下水，早点学会游泳" - 哲理总结型："时代抛弃你时，不会打招呼" - 反问升华型："你准备好了吗？" ## 排版样式规范 所有HTML内容使用以下基础样式： ```css /* 容器 */ font-family: -apple-system,'PingFang SC','Microsoft YaHei',sans-serif; max-width: 680px; margin: 0 auto; color: #1e293b; /* 正文段落 */ font-size: 15px; line-height: 1.9; color: #374151; margin: 12px 0; text-indent: 2em; /* 二级标题 */ font-size: 19px; font-weight: 700; color: #1d4ed8; border-left: 4px solid #3b82f6; padding-left: 12px; /* 引用块 */ border-left: 4px solid #7c3aed; background: #faf5ff; padding: 14px 20px; border-radius: 0 10px 10px 0; /* 提示框（橙色） */ background: #fff7ed; border: 1px solid #fed7aa; border-radius: 12px; padding: 16px 20px; /* 建议框（蓝绿渐变） */ background: linear-gradient(135deg,#eff6ff,#f0fdf4); border: 1px solid #bfdbfe; border-radius: 12px; ``` ## 错误处理规范 | 错误类型 | 处理方式 | |---------|---------| | Token 获取失败 | 提示检查 AppID/AppSecret，输出完整错误码 | | 无匹配热点 | 展示全部热点候选，让用户手动选择 | | 作者名超长 | 自动截断到8字，告知用户 | | 封面图ID无效 | 发布时给出友好提示，建议重新上传素材 | | 网络超时 | 重试一次，再失败则报错退出 |


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wms2537/sea-whatsapp-business-bot (version 2.0.0)

--- name: sea-whatsapp-business-bot description: AI-powered WhatsApp auto-responder for MY/SG SMEs. Bilingual BM/EN or CN/EN. Handles appointments, FAQ, orders. version: 2.0.0 metadata: openclaw: requires: env: - SKILLPAY_API_KEY emoji: "💬" --- # SEA WhatsApp Business Bot Smart auto-responder for Southeast Asian SMEs on WhatsApp. ## How to Use This Skill ### Step 1: Charge billing POST to the skill endpoint to authorize payment: ``` POST https://sea-whatsapp-business-bot.swmengappdev.workers.dev/respond Content-Type: application/json {"user_id": "<user_id>"} ``` If successful, you'll receive `{"success": true, "data": {"charged": true}}`. If payment fails, you'll receive a `payment_url` to share with the user. ### Step 2: Detect customer language Use these heuristics to detect the incoming message language: - **Chinese (zh):** More than 30% of characters are CJK (Unicode range \u4e00-\u9fff) - **Bahasa Malaysia (ms):** Contains words like: saya, nak, boleh, berapa, bila, mana, encik, puan, terima kasih - **English (en):** Default if none of the above match ### Step 3: Classify intent Classify the customer's message into one of these intents: - **greeting**: Hello, hi, selamat, etc. - **appointment**: Wants to book/reschedule/cancel an appointment - **faq**: Asking a question that matches business FAQ - **order_status**: Checking on an order or delivery - **escalate**: Angry, frustrated, or requesting to speak to a human - **general**: Everything else ### Step 4: Generate response Using the business configuration provided, generate an appropriate response: **Business config structure:** ```json { "name": "Business Name", "hours": "9am-6pm Mon-Sat", "services": ["Service 1", "Service 2"], "faq": [ {"question": "Common question?", "answer": "Standard answer"} ], "languages": ["en", "ms"], "timezone": "Asia/Kuala_Lumpur" } ``` **Response guidelines:** - Always respond in the customer's detected language - Be friendly, professional, and concise - For FAQ matches, use the provided answers but adapt to the conversation - For appointments, confirm details and suggest next steps - For escalation, acknowledge the frustration and offer to connect to a human - For greetings, respond warmly and offer help - Keep responses under 160 characters when possible (WhatsApp best practice) **Conversation history:** If provided, use previous messages for context continuity. ### Step 5: Determine action Based on the intent, suggest an action: - `book_appointment` — when the customer wants to schedule something - `check_order` — when asking about order/delivery status - `transfer_to_human` — when escalation is needed or the bot can't help - `null` — no action needed (greeting, FAQ answered, general chat) ### Output Format Return the response as JSON: ```json { "reply": "Hi! Selamat datang. How can I help you today?", "intent": "greeting", "action": null, "language": "en" } ``` ## Pricing $0.03 USDT per call via SkillPay.me


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: jack4world/remotion-excalidraw-tts (version 1.1.0)

--- name: remotion-excalidraw-tts description: Generate a narrated Remotion video from an Excalidraw (.excalidraw) diagram using text-to-speech (macOS say) and render to MP4. Use when creating explainer videos with pan/zoom + focus highlights over Excalidraw diagrams, with automated voiceover generation and Remotion CLI rendering. --- # Remotion + Excalidraw + TTS (Local) Use this skill to turn an **Excalidraw diagram** + a **voiceover script** into a rendered **MP4** using: - Remotion (render) - Excalidraw (render the .excalidraw JSON directly) - TTS via **macOS `say`** (offline) ## Quick start (one command) Run: ```bash python3 skills/remotion-excalidraw-tts/scripts/make_video.py \ --diagram /absolute/path/to/diagram.excalidraw \ --voiceover-text /absolute/path/to/voiceover.txt \ --out /absolute/path/to/out.mp4 ``` Optional: drive camera/focus/subtitles via storyboard JSON: ```bash python3 skills/remotion-excalidraw-tts/scripts/make_video.py \ --diagram /absolute/path/to/diagram.excalidraw \ --voiceover-text /absolute/path/to/voiceover.txt \ --storyboard-json /absolute/path/to/storyboard.json \ --out /absolute/path/to/out.mp4 ``` What it does: 1) copies the Remotion template project from [REDACTED_SECRET] into a temp workdir 2) writes `public/diagram.excalidraw` 3) generates `public/voiceover.mp3` via `say` + `ffmpeg` 4) sets composition duration to match the voiceover length 5) renders MP4 with `npx remotion render` ## Inputs - `--diagram`: `.excalidraw` JSON file (from Excalidraw export) - `--voiceover-text`: plain text file (Chinese supported) Optional: - `--voiceover-mp3`: if you already have audio, skip TTS - `--tts-backend`: `say` (default) | `openai` | `elevenlabs` - `--fps`: default `30` TTS backends: - **macOS say**: `--tts-backend say --voice Tingting --rate 220` - **OpenAI**: `--tts-backend openai --openai-model gpt-4o-mini-tts --openai-voice alloy` (requires `OPENAI_API_KEY`) - **ElevenLabs**: `--tts-backend elevenlabs --elevenlabs-voice-id <voiceId> --elevenlabs-model eleven_multilingual_v2` (requires `ELEVENLABS_API_KEY`) ## Customizing scenes (pan/zoom/highlights) ### Option A: edit TypeScript storyboard Template code lives in: - `assets/template/remotion-project/src/video/storyboard/storyboard.ts` Edit scenes: - `cameraFrom/cameraTo` (x/y/scale) - `focus` rectangle (x/y/width/height + label) - `subtitle` ### Option B (recommended): provide `storyboard.json` Pass `--storyboard-json /abs/path/storyboard.json`. Schema reference: - `references/storyboard.schema.json` Minimal example: ```json { "scenes": [ { "name": "intro", "durationSec": 10, "subtitle": "很多智能体隔天就失忆。", "cameraFrom": {"x": 0, "y": 0, "scale": 1}, "cameraTo": {"x": 0, "y": 0, "scale": 1}, "focus": {"x": 140, "y": 120, "width": 1640, "height": 340, "label": "问题"} } ] } ``` ## Requirements - macOS (for `say`) - `ffmpeg` + `ffprobe` - Node.js + npm (the script will run `npm i` in the temp project)


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