OpenClaw/clawhub-security-signals huggingface dataset:
Skill: xueyetianya/engine (version 1.0.0)

--- name: "engine" version: "1.0.0" description: "Rule engine reference — decision tables, Rete algorithm, forward/backward chaining, and business rule management. Use when evaluating business rules, building decision trees, or implementing policy engines." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [engine, rules, decision-table, rete, workflow, policy, devtools] category: "devtools" --- # Engine — Rule Engine & Decision Logic Reference Quick-reference skill for rule engines, decision tables, and business rule patterns. ## When to Use - Implementing business rules that change frequently - Building decision trees or scoring systems - Choosing between rule engine approaches - Designing policy engines for access control or pricing - Separating business logic from application code ## Commands ### `intro` ```bash scripts/script.sh intro ``` Overview of rule engines — types, benefits, when to use. ### `patterns` ```bash scripts/script.sh patterns ``` Rule engine patterns — forward chaining, backward chaining, Rete. ### `tables` ```bash scripts/script.sh tables ``` Decision tables — structure, completeness, and implementation. ### `dsl` ```bash scripts/script.sh dsl ``` Domain-specific languages for rules — syntax approaches and examples. ### `tools` ```bash scripts/script.sh tools ``` Rule engine tools — Drools, OPA, json-rules-engine, and more. ### `scoring` ```bash scripts/script.sh scoring ``` Scoring and ranking engines — weighted rules, multi-criteria decisions. ### `testing` ```bash scripts/script.sh testing ``` Testing rule engines — coverage, conflict detection, regression. ### `checklist` ```bash scripts/script.sh checklist ``` Rule engine implementation checklist. ### `help` ```bash scripts/script.sh help ``` ### `version` ```bash scripts/script.sh version ``` ## Configuration | Variable | Description | |----------|-------------| | `ENGINE_DIR` | Data directory (default: ~/.engine/) | --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lukaizj/lukaizj-ai-image (version 0.1.0)

--- name: AI Image Generation description: AI image generation - Generate images using OpenAI DALL-E or other AI image APIs homepage: https://github.com/lukaizj/ai-image-skill tags: - ai - image - generation - openai requires: env: - OPENAI_API_KEY files: - ai_image.py --- # AI Image Generation AI image generation skill for OpenClaw. Generate images using DALL-E or other AI image APIs. ## Setup 1. Get OpenAI API key from https://platform.openai.com/api-keys 2. Configure OPENAI_API_KEY environment variable ## Environment Variables | Variable | Required | Description | |----------|----------|-------------| | `OPENAI_API_KEY` | Yes | Your OpenAI API Key |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: xiaobu2020/privacy-shield (version 1.0.1)

# Privacy Shield Privacy data marking system — unified sensitive resource management with pre-operation checks and audit logging. ## Design Principles - **Conservative by default**: Unmarked data should be handled with caution - **Check before act**: Verify privacy level before any data operation - **Centralized control**: One registry file governs all privacy rules ## Privacy Levels | Level | Meaning | Example | |-------|---------|---------| | `owner_only` | Owner can view/use only | Photos, personal info | | `private` | No external disclosure, internal use OK | Model info, API keys | | `no_export` | Must not leave the machine | Memory files, ontology | | `public` | Free to use | Non-sensitive data | ## Quick Start ### Mark a resource ```bash # Mark a file or directory python scripts/registry.py mark media/images/people/ --level owner_only --reason "Family photos" # Mark a rule category python scripts/registry.py mark --type rule "model_info" --level private --reason "Infrastructure" ``` ### Check permission ```bash # Check if a resource can be shared python scripts/registry.py check media/images/people/photo.jpg --action share # Check privacy level only python scripts/registry.py check media/images/people/photo.jpg ``` ### List all marks ```bash python scripts/registry.py list python scripts/registry.py list --level owner_only ``` ### Remove a mark ```bash python scripts/registry.py unmark media/images/old-photo.jpg ``` ### View audit log ```bash python scripts/registry.py audit python scripts/registry.py audit --deny-only ``` ## Agent Integration Before any data output operation: 1. **Check registry** → `python scripts/registry.py check <resource> --action <action>` 2. **Evaluate result**: - `owner_only` → Output only when owner requests - `private` → No external disclosure, internal processing OK - `no_export` → Never leave this machine - Unmarked → Default to caution, ask the owner ## Registry File Location: `data/privacy-registry.json` ```json { "version": "1.0.0", "rules": { "photos": {"level": "owner_only", "reason": "Family photos"}, "model_info": {"level": "private", "reason": "Infrastructure"} }, "resources": [ { "path": "media/images/people/", "level": "owner_only", "reason": "Family photos", "marked_at": "2026-03-20T09:53:00+08:00" } ] } ``` ## Features - ✅ Path prefix + glob pattern matching - ✅ Automatic audit logging (JSONL) - ✅ Integration with image-manager (`--privacy` flag) - ✅ CLI for mark/check/list/unmark/audit


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

--- name: swap description: Configure Linux swap — create swap file, set swappiness, persist via fstab, resize swap. version: 1.0.0 tags: - linux - swap - memory - configuration metadata: os: - linux requires: bins: - bash - swapon # util-linux - mkswap # util-linux - chmod # coreutils - sysctl # procps optional_bins: - fallocate # util-linux (fast swap file creation) - dd # coreutils (fallback swap file creation) - swapoff # util-linux (resize swap) - free # procps (verify memory) emoji: "\U0001F4BE" --- # Linux Swap Configuration Skill You are a Linux swap configuration assistant. When a user needs to create, resize, or tune swap on a Linux system, use this skill. Typical scenarios: - Server has no swap, user wants to add one - User wants to resize existing swap - User wants to tune swappiness - Swap is lost after reboot (not persisted in fstab) ## Workflow 1. First check the current swap status to understand the starting point 2. Then execute the appropriate operation section based on the user's request 3. Always verify the result after any change --- ## 1. Check Current Swap Status Before any operation, check the current state: ```bash # Show active swap devices swapon --show # Show memory including swap free -h # Check fstab for swap persistence grep -v '^#' /etc/fstab | grep swap # Current swappiness value sysctl vm.swappiness ``` --- ## 2. Create Swap File First根据 RAM 大小确定 swap 容量： | RAM | Swap 大小 | |-----|----------| | <= 2 GB | 2x RAM | | > 2 GB -- 8 GB | 与 RAM 相等 | | > 8 GB -- 64 GB | >= 4 GB | 例如：RAM 为 2 GB 时创建 4G swap，RAM 为 4 GB 时创建 4G swap，RAM 为 16 GB 时创建 4G swap。 两种创建方式，优先用 `fallocate`（快）；ext3 或不支持 `fallocate` 的文件系统用 `dd`： ```bash # 根据上表确定 SIZE，例如 4G # Method 1: fallocate (preferred) sudo fallocate -l <SIZE> /swapfile # Method 2: dd (fallback) # 例如 4G = 4096M sudo dd if=/dev/zero of=/swapfile bs=1M count=<SIZE_IN_MB> # Set permissions — swap files must be 0600 sudo chmod 600 /swapfile # Format as swap sudo mkswap /swapfile # Enable sudo swapon /swapfile # Verify swapon --show free -h ``` --- ## 3. Persist Swap Across Reboots Without this step, swap will be lost after reboot. ```bash # Add to /etc/fstab echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab ``` Verify the entry: ```bash grep swap /etc/fstab ``` --- ## 4. Set Swappiness `vm.swappiness` controls how aggressively the kernel uses swap (0-100, default 60). Value of 20 is recommended for most servers. ```bash # Set immediately sudo sysctl -w vm.swappiness=20 # Persist across reboots echo 'vm.swappiness=20' | sudo tee -a /etc/sysctl.conf sudo sysctl -p ``` --- ## 5. Resize Swap 按 Section 2 的规则表确定新容量，然后先禁用再重建： ```bash # Disable current swap sudo swapoff /swapfile # Recreate with new size sudo fallocate -l <SIZE> /swapfile # or: sudo dd if=/dev/zero of=/swapfile bs=1M count=<SIZE_IN_MB> # Re-format and enable sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # Verify swapon --show free -h ``` The fstab entry does not need to change if the file path stays the same.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: nissoncx/openclaw-offer-radar (version 1.0.0)

--- name: openclaw-offer-radar description: 把 Gmail 招聘邮件转成中文 Apple Reminders。用户提到“检查邮件里的面试/笔试/测评/授权”“把招聘邮件转成提醒事项”“别漏掉面试时间”“同步到 iPhone 提醒”等需求时触发。优先识别 ATS 邮件和面试信息更新，忽略投递成功回执。 --- # OpenClaw Offer Radar ## 适用场景 - 用户想把 Gmail 里的招聘邮件转成 Apple Reminders - 邮件里包含面试、笔试、测评、授权等需要行动的时间信息 - 用户明确要求不要漏掉“面试信息更新” - 用户希望提醒同步到 iPhone / Mac / iPad ## 当前依赖 - `gog` 负责搜索 Gmail 候选邮件 - Apple Mail 负责补抓邮件正文 - Apple Reminders 负责把事件落到原生提醒事项 ## 默认流程 1. 运行扫描脚本： ```bash python3 scripts/recruiting_sync.py --account [REDACTED_SECRET] --mail-account 谷歌 ``` 2. 扫描脚本默认先看最近 2 天、最多 60 条候选线程。 3. 默认忽略： - 投递成功 - 收到申请 - 感谢投递 - 简历完善 - 反馈问卷 4. 对以下邮件提高召回： - `ibeisen` - `mokahr` - `nowcoder` - `腾讯校招` 5. 识别时优先提取： - 公司名 - 岗位 - 面试 / 笔试 / 测评时间 - 截止时间 - 主入口链接 6. 同一事件的“邀请”和“更新”必须归并为一个提醒，优先保留最新时间。 7. 一个事件只保留一条主提醒，不生成额外追提醒。 8. 当前实现依赖 Apple Mail 补抓邮件正文，所以要求： - Apple Mail 已登录同一个 Gmail 账号 - 运行环境已放行 Mail / Reminders 权限 9. 如果用户要求真正同步到系统提醒事项，再执行： ```bash python3 scripts/recruiting_sync.py --account [REDACTED_SECRET] --mail-account 谷歌 --sync-reminders ``` ## 标题和备注规范 - 标题必须是中文 - 标题只写事件本身，不写“11点提醒”之类调度信息 - 备注只保留： - 真实时间或截止时间 - 岗位 - 主入口链接 - 必要时的一句说明 - 不写： - Gmail ID - 发件人元数据 - 长摘要 - 与事件无关的信息 ## 输出要求 - 先说明识别出多少个招聘事件 - 若同步成功，回执： - 事件标题 - due 时间 - 使用的列表 - 若没有新事件，明确说明“本轮无新的高置信度招聘提醒”


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: lentiancn/skill-alipay (version 1.0.3)

--- name: skill-alipay description: "alipay:api - 支付宝 API" --- # Important Principles ⭐ **Modification Restriction (Mandatory)**: Do not modify any files under `skill-alipay`. This skill is maintained via `openclaw skills update skill-alipay`; any alterations will disrupt its normal operation. --- # alipay:api - 支付宝 API See `references/apidocs/apis.md` --- # More skills: https://github.com/lentiancn/skills


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: cyberleo986/go-trader (version 1.0.0)

# go-trader Trading Bot Control Control the go-trader cryptocurrency trading system through natural language commands. ## Available Commands ### Status & Monitoring - "What's my trading status?" → Check all positions and P&L - "Show my BTC position" → Get specific asset status - "Check trading health" → Verify go-trader is running - "View recent trades" → Display recent trading activity - "Show trading logs" → View system logs ### Control Commands - "Enable momentum strategy" → Activate momentum trading - "Disable RSI strategy" → Pause RSI strategy - "Switch to paper trading" → Change to paper trading mode - "Switch to live trading" → Enable live trading (WARNING) ### Risk Management - "Emergency stop all" → Immediately halt all positions - "Show risk status" → Display current risk metrics - "Reset trading state" → Clear and reset trading state ## System Information - go-trader API: localhost:8099 - Status endpoint: /status - Health endpoint: /health ## Safety - Always confirm before enabling live trading - Default to paper trading mode - Emergency stop available for urgent situations


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: bytesagain-lab/homeassistant-toolkit (version 3.0.1)

--- name: "homeassistant-toolkit" version: "3.0.1" description: "Reference tool for life — covers intro, quickstart, patterns and more. Quick lookup for Homeassistant Toolkit concepts, best practices, and implementation pa..." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [homeassistant,toolkit, reference] category: "life" --- # Homeassistant Toolkit Reference tool for life — covers intro, quickstart, patterns and more. Quick lookup for Homeassistant Toolkit concepts, best practices, and implementation pa... No API keys or credentials required. ## Commands | Command | Description | |---------|-------------| | `intro` | intro reference | | `quickstart` | quickstart reference | | `patterns` | patterns reference | | `debugging` | debugging reference | | `performance` | performance reference | | `security` | security reference | | `migration` | migration reference | | `cheatsheet` | cheatsheet reference | ## Output Format All commands output plain-text reference documentation via heredoc. No external API calls, no credentials needed, no network access. --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: gumailianxin/xueqiu-ops (version 1.0.0)

--- name: xueqiu-ops description: 通过 openclaw browser 在雪球网执行互动与创作类操作，包括点赞、收藏、评论、回复、转发、发布观点、发布长文。当用户要求"点个赞""收藏一下""评论""转发""发个观点""发个长文"时使用此技能。默认通过 openclaw browser 执行。 --- # Xueqiu Ops ## 概览 雪球网（xueqiu.com）投资社区互动技能，通过 openclaw browser 执行点赞、收藏、评论、转发、发布观点、发布长文等操作。 ## 核心定位原则（重要） **优先使用文案定位，不要依赖 ref。** ref 只在找不到文案时做备选。 定位优先级： 1. **按钮文案**：如 "发布"、"赞"、"收藏"、"评论"、"讨论"、"转发" 2. **邻近关系**：操作按钮一般在帖子内容下方的操作栏 3. **placeholder 文本**：如 "发表你的观点..." 4. **ref**（最后手段）：仅当文案定位失败时使用 ## 常用入口 - 雪球首页：`https://xueqiu.com` - 搜索页：`https://xueqiu.com/search` - 发帖/发布观点：首页输入框 - 长文写作：`https://mp.xueqiu.com/write/` - 创作者中心：`https://mp.xueqiu.com/` ## 页面结构（实测参考，不做定位依据） 首页帖子操作栏的典型结构： ``` 帖子操作栏 ├── [转发] ├── [讨论] / [评论] ├── [赞] ├── [收藏] └── [更多...] ``` 长文编辑器结构： ``` ├── 标题输入框（placeholder: "请输入标题"） ├── 正文输入框 ├── 工具栏（图片、话题等） └── [发布] 按钮 ``` ## 操作指南 ### 通用定位方法 每次操作前先执行 `openclaw browser snapshot`，然后在快照中： 1. 用 `button` 类型 + 文案精确匹配目标按钮 2. 找不到时，用 `textbox` 类型 + placeholder 定位输入框 3. 确认元素存在后再点击/输入 ### 点赞 1. 打开目标帖子页面 2. 在快照中找到 `[赞]` 按钮（注意：激活态图标会变，如  → ） 3. 点击按钮 4. 检查按钮状态是否变化 ### 收藏 1. 在快照中找到 `[收藏]` 按钮 2. 点击后变为已激活状态 ### 评论/讨论 1. 在快照中找到 `[讨论]` 或 `[评论]` 按钮（e281） 2. 点击后弹出评论输入框 3. 在输入框中输入评论内容 4. 找到并点击发送按钮（常见文案："发送"、"发布"、"评论"） 5. 确认评论是否出现 ### 转发 1. 在快照中找到 `[转发]` 按钮 2. 点击后弹出转发对话框/输入框 3. 可添加转发理由 4. 确认转发 ### 发布观点 1. 在快照中找到输入框（placeholder 含 "发表你的观点"），点击激活 2. 输入观点内容 3. **添加股票（如需）：** - 输入 `$` 触发股票选择器 - 输入股票名称或代码进行搜索 - 从弹出的股票选择列表中选择正确的股票 - 系统自动插入 `$股票名称(SH/SZ代码)$` 格式链接 4. 找到并点击 `[发布]` 按钮 5. 检查是否发布成功 ### 发布长文 1. 打开 `https://mp.xueqiu.com/write/` 2. 在快照中找到标题输入框（placeholder 含 "标题"） 3. 输入标题 4. 找到正文输入框，输入内容 5. **添加股票（如需）：** - 输入 `$` 触发股票选择器 - 输入股票名称或代码进行搜索 - 从弹出的股票选择列表中选择 - 系统自动插入 `$股票名称(SH/SZ代码)$` 格式链接 6. 可选：添加封面、选择话题 7. 找到并点击 `[发布]` 按钮 8. 检查是否跳转文章详情页 ## 雪球特有格式 ### 股票代码格式（重要说明） 雪球的股票链接格式为 `$股票名称(SH/SZ代码)$`，**需要先输入 `$` 触发股票选择器**。 **正确步骤：** 1. 输入 `$` 触发股票选择器 2. 继续输入股票名称或代码，如 `腾讯` 或 `00700` 3. 系统会弹出匹配的股票列表 4. 从列表中选择对应的股票（点击或回车） 5. 选择后自动插入 `$腾讯控股(SH00700)$` 格式的链接 **示例流程：** ``` 输入 "$" → 输入 "腾讯" → 弹出 [腾讯控股 00700] → 选择 → 插入 $腾讯控股(SH00700)$ ``` **禁止直接粘贴：** - ❌ 直接粘贴 `$腾讯控股(SH00700)$` 不会生成链接，只会显示为纯文本 - ✅ 必须通过 `$` 触发选择器并从列表选择才能生成可点击的股票链接 ### 话题格式 ``` #白酒股全线走强# ``` ### @用户格式 ``` @用户名 ``` ## 故障处理 ### 找不到目标按钮 - 重新执行 `openclaw browser snapshot` - 检查按钮是否被弹窗遮挡 - 确认页面是否已经加载完成（可等待几秒再试） ### 页面结构变化 - 优先用文案和 placeholder 重新定位 - 不要假设按钮位置不变 - 如果页面有多个相似按钮（如多个"赞"），优先匹配离目标内容最近的那个 ### 弹窗 - 雪球有时会弹出登录弹窗、提示弹窗 - 先判断是否影响主操作，能关闭就关闭 - 关闭不了的，告诉用户需要手动处理 ## 输出格式 完成后简明汇报： - 做了什么操作 - 是否成功 - 如果失败，卡在哪一步 - 如果有新的 URL，一并给出


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: paul-leo/jira-workflow (version 0.1.1)

--- name: jira-workflow description: Jira Cloud 项目管理集成。搜索/创建/更新 Issue，切换状态，添加评论，查看项目和看板。通过 MorphixAI 代理安全访问 Jira API。 metadata: openclaw: emoji: "🎫" requires: env: [MORPHIXAI_API_KEY] --- # Jira 项目管理 通过 `mx_jira` 工具管理 Jira Cloud 中的 Issue、项目和工作流。所有操作通过 MorphixAI 代理，无需直接管理 OAuth token。 ## 前置条件 1. **安装插件**: `openclaw plugins install openclaw-morphixai` 2. **获取 API Key**: 访问 [morphix.app/api-keys](https://morphix.app/api-keys) 生成 `mk_xxxxxx` 密钥 3. **配置环境变量**: `export MORPHIXAI_API_KEY="mk_your_key_here"` 4. **链接账号**: 访问 [morphix.app/connections](https://morphix.app/connections) 链接 Jira 账号，或通过 `mx_link` 工具链接（app: `jira`） ## 核心操作 ### 查看项目列表 ``` mx_jira: action: list_projects max_results: 10 ``` ### 搜索 Issue（JQL） ``` mx_jira: action: search_issues jql: "project = PROJ AND status != Done ORDER BY updated DESC" max_results: 10 ``` > **重要：** JQL 必须包含限制条件（如 `project = X`），不能使用无限制查询。 ### 查看 Issue 详情 ``` mx_jira: action: get_issue issue_key: "PROJ-123" ``` ### 创建 Issue ``` mx_jira: action: create_issue project: "PROJ" summary: "实现用户登录功能" issue_type: "Task" description: "实现基于 JWT 的用户登录流程\n\n**验收标准：**\n- 支持邮箱+密码登录\n- 返回 JWT token" priority: "High" labels: ["backend", "auth"] ``` > 描述支持 Markdown 格式，自动转换为 Jira ADF（Atlassian Document Format）。 ### 更新 Issue ``` mx_jira: action: update_issue issue_key: "PROJ-123" fields: { "summary": "新标题", "priority": { "name": "High" } } ``` ### 切换 Issue 状态 ``` mx_jira: action: transition_issue issue_key: "PROJ-123" target_status: "In Progress" ``` > 自动查找匹配的 transition，无需手动指定 transition ID。 > 如果目标状态不可达，会返回所有可用的 transition 列表。 ### 查看可用的状态转换 ``` mx_jira: action: get_transitions issue_key: "PROJ-123" ``` ### 添加评论 ``` mx_jira: action: add_comment issue_key: "PROJ-123" body: "代码已提交到 feature 分支，请 review。\n\n**变更内容：**\n- 添加了登录 API\n- 增加了单元测试" ``` > 评论内容支持 Markdown，自动转换为 ADF。 ## 常见工作流 ### 每日 Standup — 查看我的待办 ``` 1. mx_jira: get_myself → 获取当前用户 accountId 2. mx_jira: search_issues jql: "assignee = <accountId> AND status != Done ORDER BY priority DESC, updated DESC" ``` ### 创建 Issue 并开始工作 ``` 1. mx_jira: create_issue → 获取 issue_key 2. mx_jira: transition_issue, target_status: "In Progress" 3. mx_jira: add_comment, body: "开始开发" ``` ### 完成 Issue ``` 1. mx_jira: add_comment, body: "开发完成，PR: <url>" 2. mx_jira: transition_issue, target_status: "Done" ``` ## 注意事项 - Jira API v3 使用 ADF 格式，本工具自动转换 Markdown/纯文本，无需手动构建 ADF JSON - JQL 查询必须包含 `project = X` 等限制条件 - `transition_issue` 只能转换到当前状态可达的目标状态 - `account_id` 参数通常省略，工具自动检测已链接的 Jira 账号


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: bondli/desktop-operator (version 1.0.0)

--- name: desktop-operator description: Operate Electron desktop applications on macOS via Puppeteer CDP. Open an app, find a UI element by text, click it, and take a screenshot. --- # desktop-operator 通过 Puppeteer CDP 连接 Electron 桌面应用，自动完成打开应用、点击指定文本元素、截图的操作。 ## 适用场景 用于自动化本地 Electron 应用（如各类管理后台、工具软件）。 示例触发语： - 打开 DaveBella 应用，点击订单中心，然后截图 - 打开 xx 应用，点击顶部的订单中心 - 打开 xx 应用，进入数据分析页面截图 --- ## Parameters | 参数 | 说明 | |------|------| | `--app` | 应用名称，即 `/Applications/` 下 `.app` 文件名（不含 .app） | | `--target` | 要点击的元素文本内容 | --- ## Execution ``` node dist/index.js --app "{appName}" --target "{targetText}" ``` 示例： ``` node dist/index.js --app "DaveBella" --target "订单中心" ``` --- ## Output 成功后输出 JSON： ```json { "screenshot": "/tmp/desktop_operator_skill_xxxxxxxxx.png" } ``` 截图路径即为操作完成后的页面截图，可直接展示给用户。 --- ## 注意事项 - 仅适用于 Electron 应用 - 应用需安装在 `/Applications/` 目录下 - 首次使用需在「系统设置 → 隐私与安全性 → 辅助功能」中授权 Terminal


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: elandivar/neomano-tts (version 0.1.1)

--- name: neomano-tts description: Text-to-speech (TTS) via ElevenLabs. Use when the user asks to reply with voice/audio, generate a spoken version of some text, or asks for “voz”, “nota de voz”, or TTS. metadata: {"clawdbot":{"emoji":"🔊","requires":{"bins":["python3"],"env":["ELEVENLABS_API_KEY"]},"primaryEnv":"ELEVENLABS_API_KEY"}} --- ## Human setup (one-time) 1. Create or edit `~/.openclaw/.env` on the machine running OpenClaw. 2. Add your credentials (do **not** commit these): ```bash [REDACTED_SECRET] # Optional (recommended): default voice ELEVENLABS_VOICE_ID=your_voice_id ``` 3. Restart the OpenClaw gateway (so the service environment picks up changes). ## Inputs to collect (if missing) - Text to speak. - Optional: `voiceId` (ElevenLabs voice id). If not provided, use the default. - Optional: output format (`mp3` default). ## Requirements (credentials) This skill does **not** embed secrets. Credentials must be provided at runtime: - `ELEVENLABS_API_KEY` (required) - Recommended: put it in `~/.openclaw/.env` on the machine running the gateway. - `ELEVENLABS_VOICE_ID` (optional but recommended) - If omitted, you must pass `--voice-id` when calling the script. ## Example user prompts (to trigger this skill) - "Reply with a voice note saying: …" - "Generate audio (ElevenLabs) for: …" - "Envíame una nota de voz que diga: …" ## Workflow 1. Choose output path under the workspace, e.g. `./media/elevenlabs-tts/<timestamp>.mp3`. 2. Run: ```bash python3 {baseDir}/scripts/tts.py --text "..." --out "/abs/path/to/file.mp3" [--voice-id "..."] ``` 3. Confirm with a short message including the output file path. ## Defaults - No voice is hardcoded. Set `ELEVENLABS_VOICE_ID` (recommended) or pass `--voice-id`. - Model: `eleven_multilingual_v2`.


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