OpenClaw/clawhub-security-signals huggingface dataset:
Skill: wscats/reky (version 1.0.1)

--- name: reky description: A personal productivity skill tailored for reky, providing smart coding assistance, project scaffolding, and workflow automation. license: MIT author: reky tags: productivity, coding, automation, workflow price: 0 --- # Reky's Productivity Skill ## Overview This skill is designed for **reky**, a developer who values efficiency and clean code. It provides a set of tools and conventions to streamline daily development workflows, including project initialization, code review checklists, and automated task management. ## Features - **Project Scaffolding**: Quickly bootstrap new projects with reky's preferred tech stack and folder structure. - **Code Style Enforcement**: Automatically apply consistent formatting and linting rules across all projects. - **Workflow Automation**: Predefined scripts for common tasks such as building, testing, and deploying. - **Smart Reminders**: Context-aware reminders for code reviews, dependency updates, and documentation. ## Usage Activate this skill to get personalized coding assistance aligned with reky's development preferences and best practices. ---


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mingginwan/data-report-review (version 1.0.0)

--- name: data-report-review description: "在报告即将完成时使用。系统性检查报告质量——数据准确性、逻辑连贯性、结论是否有支撑、受众适配度。证据先于断言。" --- # 报告质量审查 声称报告完成但没有验证，是不诚实，不是高效。 **核心原则：** 证据先于断言。 ## 铁律 ``` 没有验证的完成声明 = 不合格 ``` 如果没有跑完整个审查清单，不能说"报告完成了"。 ## 审查清单 ### 1. 数据准确性 - [ ] **数字核查：** 报告中的每个关键数字，能追溯到数据来源吗？ - [ ] **计算验证：** 百分比、增长率、占比等计算结果是否正确？ - [ ] **时效性：** 数据是最新的吗？有没有过时的数据被当作当前状态？ - [ ] **引用准确：** 引用的来源说的真的是报告中写的那个意思吗？ ### 2. 逻辑连贯性 - [ ] **论证链：** 每个结论都有充分的论据支撑吗？ - [ ] **内部一致：** 报告内部有没有自相矛盾的地方？ - [ ] **跳跃检查：** 有没有逻辑跳跃——前提到结论之间缺少步骤？ - [ ] **替代解释：** 重要结论是否考虑了替代解释？ ### 3. 结论质量 - [ ] **过度泛化：** 有没有从有限数据推出过于宽泛的结论？ - [ ] **置信标注：** 不同确定程度的结论是否明确区分？ - [ ] **可操作性：** 建议是否具体到可以执行？ - [ ] **局限声明：** 分析的局限性是否已说明？ ### 4. 受众适配 - [ ] **术语水平：** 专业术语的使用是否匹配目标受众？ - [ ] **深度适当：** 分析深度是否匹配受众需求——不过浅也不过深？ - [ ] **重点突出：** 最重要的发现是否放在最显眼的位置？ - [ ] **篇幅合理：** 整体篇幅是否合适？有没有冗余部分？ ### 5. 表达质量 - [ ] **清晰度：** 每句话只表达一个意思吗？有没有歧义？ - [ ] **段落焦点：** 每段有一个明确的中心论点吗？ - [ ] **过渡自然：** 章节之间的衔接流畅吗？ - [ ] **格式一致：** 表格、图表、标题等格式是否统一？ ## 常见失败模式 | 声称 | 需要 | 不够 | |------|------|------| | 数据准确 | 核查每个关键数字的来源 | "我仔细写的" | | 逻辑严谨 | 逐条检查论证链 | "读起来通顺" | | 结论可靠 | 交叉验证、考虑反例 | "和直觉一致" | | 适合受众 | 模拟受众视角阅读 | "不太专业" | | 报告完成 | 跑完整个审查清单 | "我检查过了" | ## 危险信号 - 使用"应该"、"大概"、"看起来"等模糊措辞 - 写完就想发，没有重新审阅 - 对自己的分析过于自信 - 篇幅很长但没有检查内部一致性 - 关键数字没有来源标注 ## 审查流程 ``` 1. 通读全文 → 标记疑点 2. 逐条过审查清单 3. 发现问题 → 修改 → 重新检查修改部分 4. 全部通过 → 声明完成（附带审查结果摘要） ``` ## 审查结果格式 完成审查后，输出摘要： ```markdown ## 审查结果 **数据准确性：** ✅ 通过 / ⚠️ N 处修改 **逻辑连贯性：** ✅ 通过 / ⚠️ N 处修改 **结论质量：** ✅ 通过 / ⚠️ N 处修改 **受众适配：** ✅ 通过 / ⚠️ N 处修改 **表达质量：** ✅ 通过 / ⚠️ N 处修改 **修改摘要：**（如有修改） - ... ``` ## 底线 **审查没有捷径。** 过一遍清单。检查每个要点。然后才能说"完成了"。 这不可协商。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zfeng1982/cet4word300 (version 1.0.7)

--- name: Core Vocabulary for CET-4 description: Randomly generates one or more words from a curated database of 300 must-know College English Test Band 4 (CET-4) vocabulary. metadata: { "openclaw": { "emoji": "🚀", "requires": { "bins": ["shell"] } } } --- # Core Vocabulary for CET-4(300) 从本地词库word.txt中读取单词返回给用户，本地词库的获取不消费token，请放心使用 ## Usage 根据用户对话提取单词个数N，从word.txt文件中随机读取N条，返回给用户。 # Examples 读取一条数据为[curriculum#/kəˈrɪkjələm/#n. 课程#The school curriculum includes math and science.#学校课程包括数学和科学。] 使用#进行切分返回级用户下面信息： word: "curriculum", phonetic: "/kəˈrɪkjələm/", meaning": "n. 课程", sentence_en: "The school curriculum includes math and science.", sentence_cn: "学校课程包括数学和科学。" ## Current Status Fully functional.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 7679457979/finance-training-outline (version 1.0.0)

# Skill: 财务培训课程大纲生成器 ## 基础信息 - **Slug**: finance-training-outline - **Version**: 1.0.0 - **名称**: 财务条线专业培训课程大纲 - **描述**: 为集团财务与经营管理中心骨干员工设计3天培训课程大纲 - **作者**: 户部 (hubu) - **标签**: 财务, 培训, 课程设计, 人才发展 ## 输入参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | target | string | 是 | 目标学员：骨干员工（5-8年经验） | | duration | number | 是 | 培训时长（天），默认3天 | | capabilities | array | 是 | 重点覆盖能力，选择3-4项 | | goal | string | 否 | 培训目标 | ## 输出格式 ### Markdown格式 ```markdown ## 课程名称 ## 培训目标 - 目标1 - 目标2 ## 课程大纲 ### Day 1: 主题 - 上午模块：内容要点、案例、互动形式 - 下午模块：内容要点、案例、互动形式 ### Day 2: 主题 ### Day 3: 主题 ## 结业考核方式 ## 师资建议 ``` ## 课程设计原则 ### 互动形式 - 小组讨论 - 沙盘模拟 - 角色扮演 - 汇报展示 - 案例分析 ### 案例要求 - 每个模块至少一个真实企业案例 - 使用虚构案例需贴近集团业务场景 ## 课程模块示例 ### Day 1: 金融思维与资金管理 - 上午：集团资金池运营实务 - 下午：流动性风险管控沙盘模拟 ### Day 2: 融资筹划与资本运作 - 上午：股权与债务融资策略 - 下午：并购重组案例研讨 ### Day 3: 战略财务与数字化 - 上午：经营分析与决策支持 - 下午：财务数字化系统应用 ## 使用示例 ``` 设计一个面向骨干员工的3天培训 重点能力：资金管理、融资筹划、经营分析 目标：提升金融思维，从核算型向价值创造型转型 ``` ## 触发关键词 - 培训大纲 - 课程设计 - 财务培训 - 企业大学 - 学习发展 - 人才培养


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xiwei26/rednote-summarize (version 1.0.0)

# 小红书帖子总结助手工作流程 (Agent Instructions) 当你被要求使用此skill处理一个小红书帖子URL时，请严格按照以下步骤执行： ## 1. 登录与页面加载 (Login & Access) - 使用 `browser_subagent` 工具打开用户提供的小红书帖子URL。 - **注意登录限制**：小红书网页版通常会强制要求登录才能查看完整内容和评论。 - 在 `browser_subagent` 的任务指令中，明确要求它： 1. 页面加载后，如果遇到登录弹窗（通常是二维码），请暂停操作或提示用户扫码登录。如果系统支持，代理可以等待一段时间让用户完成扫码。 2. 如果无法自动完成登录，应通过 `notify_user` 明确告知用户需要他们手动介入或提供 Cookies 等其他协助。 ## 2. 提取并总结主贴内容 (Summarize Main Post) - 成功加载并解锁页面后，提取帖子的标题和正文文本内容。 - 用中文撰写一段**主贴内容总结**，概述博主分享的核心信息、观点或事件。 ## 3. 提取并总结评论区 (Summarize Comments) - 指示 `browser_subagent` 向下滚动页面以加载更多评论。 - 提取多条高赞或有代表性的评论文本。 - 用中文撰写一段**评论区看法总结**，归纳大众对这个帖子的主要态度（如支持、反对、吐槽、种草等）以及有价值的补充信息。 ## 4. 输出最终报告 (Final Output) - 将两部分总结（主贴总结和评论总结）排版整齐，直接回复给用户。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhouqkt/agency-product-manager (version 1.0.0)

--- name: agency-product-manager description: Expert AI agent specializing in product manager. From The Agency (github.com/msitarzewski/agency-agents). metadata: openclaw: emoji: "🧭" requires: { bins: [] } install: [] --- # product manager ## Identity & Style ## 🧠 Identity & Memory You are **Alex**, a seasoned Product Manager with 10+ years shipping products across B2B SaaS, consumer apps, and platform businesses. You've led products through zero-to-one launches, hypergrowth scaling, and enterprise transformations. You've sat in war rooms during outages, fought for roadmap space in budget cycles, and delivered painful "no" decisions to executives — and been right most of the time. You think in outcomes, not outputs. A feature shipped that nobody uses is not a win — it's waste with a deploy timestamp. Your superpower is holding the tension between what users need, what the business requires, and what engineering can realistically build — and finding the path where all three align. You are ruthlessly focused on impact, deeply curious about users, and diplomatically direct with stakeholders at every level. **You remember and carry forward:** - Every product decision involves trade-offs. Make them explicit; never bury them. - "We should build X" is never an answer until you've asked "Why?" at least three times. - Data informs decisions — it doesn't make them. Judgment still matters. - Shipping is a habit. Momentum is a moat. Bureaucracy is a silent killer. - The PM is not the smartest person in the room. They're the person who makes the room smarter by asking the right questions. - You protect the team's focus like it's your most important resource — because it is. ## Core Mission ## 🎯 Core Mission Own the product from idea to impact. Translate ambiguous business problems into clear, shippable plans backed by user evidence and business logic. Ensure every person on the team — engineering, design, marketing, sales, support — understands what they're building, why it matters to users, how it connects to company goals, and exactly how success will be measured. Relentlessly eliminate confusion, misalignment, wasted effort, and scope creep. Be the connective tissue that turns talented individuals into a coordinated, high-output team. ## How to Activate Reference this agent by name or specialty when you need its expertise.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: itobey/get-tldr (version 1.0.0)

--- name: get-tldr description: Provide the summary returned by the get-tldr.com summarize API without further summarization; the skill should format the API output for readability but must not change its content. --- # get-tldr Quick, deterministic skill to summarize the content of a link using the get-tldr.com API. Usage pattern (for the agent): - Trigger when the user says something like: "get-tldr <link>" or "get-tldr" followed by a URL. - The skill will call the bundled script `get_tldr.py` with the URL as the single argument. - IMPORTANT: The API response is already a summary; the skill must NOT further summarize or alter the content — only take the value of the "summary" element of the json and format it for readability. Take the entire summary property, do not omit anything. - IMPORTANT: If the summary element of the response json from the API already is formatted in markdown, just return the formatted markdown. Do not omit anything and do not change the text. Make sure its not wrapped in a code block and if so remove the wrapping code block, so that it correctly renders as markdown, but not as a code block. Files included: - get_tldr.py — small Python script (located in the skill folder) that posts {"input": "<URL>"} to https://www.get-tldr.com/api/v1/summarize using the required X-API-Key header and prints the JSON response to stdout. The script reads the API key and an optional logfile path from ~/.config/get-tldr/config.json (preferred), or falls back to the GET_TLDR_API_KEY environment variable or a .env file in the skill folder. If no logfile is configured the script defaults to ~/.config/get-tldr/skill.log. Notes for maintainers: - Create the config file at ~/.config/get-tldr/config.json with the following structure (JSON): ``` { "api_token": "<your_key_here>", "logfile": "/path/to/logfile.log" } ``` - The script will use the "api_token" field from the config. If the config file is missing the script falls back to the GET_TLDR_API_KEY environment variable or a .env file in the skill folder. - IMPORTANT: Do not summarize the API response again; the skill should only format the response for readability and must not alter the content.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: nansen-devops/nansen-web-searcher (version 0.1.0)

--- name: nansen-web-searcher description: Search the web for one or more queries in parallel. Use when you need current information, news, prices, or any web content to complement on-chain Nansen data. metadata: openclaw: requires: env: - NANSEN_API_KEY bins: - nansen primaryEnv: NANSEN_API_KEY install: - kind: node package: nansen-cli bins: [nansen] allowed-tools: Bash(nansen:*) --- # Web Search Search the web for one or more queries in parallel via the Serper API. ```bash nansen web search "bitcoin price" nansen web search "solana ecosystem news" --num-results 5 nansen web search --query "ethereum ETF" --query "bitcoin ETF" --num-results 3 ``` Positional args and `--query` flags can be combined — all become queries. | Flag | Values | Default | Purpose | |------|--------|---------|---------| | `--query` | string | — | Query string (repeatable for multiple queries) | | `--num-results` | 1–20 | 10 | Results per query | | `--pretty` | flag | off | Human-readable JSON | Returns `results[]` — one entry per query, each with `organic[]` (title, link, snippet, date) and optional `knowledge_graph`. **Note:** Some domains are excluded from results (paywalled/unfetchable sites like bloomberg.com, twitter.com). Use `nansen web fetch` to retrieve content from specific URLs.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: axelhu/wewe-rss-reader (version 1.2.0)

--- name: wewe-rss-reader description: "微信公众号文章阅读技能。当用户发来公众号文章链接、需要阅读理解文章内容时使用。通过本地部署的 WeWe RSS 服务获取文章全文并转为纯文本。Requires: 无（调用本地 REST API，首次部署见 references/deployment.md）。" metadata: {"openclaw":{"emoji":"📖","requires":{"anyBins":[]}}} --- # wewe-rss-reader 微信公众号文章阅读。当用户发来文章链接或需要查询已订阅公众号的文章时使用。 ## API 基础信息 - **API 地址**: `http://localhost:4001` - **wewe-rss 容器**: `http://localhost:4000`（Web UI） - **AUTH_CODE**: `wewe-rss-2026` ## 核心 API ### 获取单篇文章内容（最常用） ``` GET /api/articles/:id ``` 返回纯文本内容（最多前15000字）。`:id` 是文章 URL 中 `mp.weixin.qq.com/s/` 后面的部分。 **示例**：用户发来链接 `https://mp.weixin.qq.com/s/udSpp7eMqwiRo5yVShRzLw` → 调用 `GET /api/articles/udSpp7eMqwiRo5yVShRzLw` → 直接获得文章纯文本内容 ### 通过 URL 订阅公众号 ``` POST /api/subscribe Content-Type: application/json body: {"url": "文章链接"} ``` 从文章链接自动识别并订阅该公众号，返回订阅结果。 ### 列出已订阅公众号 ``` GET /api/feeds ``` ### 列出某公众号文章 ``` GET /api/articles?feedId=MP_ID&limit=10 ``` ### 手动刷新订阅 ``` POST /api/refresh/:feedId POST /api/refresh-all ``` ## 使用流程 **场景1：用户发来文章链接** 1. 从 URL 提取文章 ID（如 `https://mp.weixin.qq.com/s/udSpp7eMqwiRo5yVShRzLw` → ID 是 `udSpp7eMqwiRo5yVShRzLw`） 2. 直接调用 `GET /api/articles/:id` 获取正文 3. 即可对文章内容进行阅读理解 **场景2：用户要求查询某公众号最新文章** 1. `GET /api/feeds` 确认已订阅 2. `GET /api/articles?feedId=<MP_ID>&limit=5` 获取文章列表 3. 如需正文，`GET /api/articles/:id` **场景3：用户想订阅新公众号** 1. 用户需提供该公众号的**任意文章链接**（不是公众号主页链接） 2. `POST /api/subscribe` body: `{"url": "文章链接"}` 3. 返回订阅成功/已存在 ## 登录流程（微信读书授权） > 微信读书账号用于抓取公众号内容。若账号已登录且有效（参考 health 检查），无需每次操作。 > 账号失效后会收到 "暂无可用读书账号" 错误，此时需要重新登录。 ### 完整登录流程 ``` # Step 1: 发起登录 POST /api/login/start → 返回 {"uuid": "...", "confirmUrl": "https://..."} # Step 2: 发送二维码图片到飞书 → 把 confirmUrl 作为图片请求 URL（或生成二维码图片）发送到飞书群 → 通知用户扫码 # Step 3: 轮询等待登录完成（自动） GET /api/login/status/<uuid> → status=authorized 表示登录成功 → 继续执行 → status=waiting 表示等待中 → 继续轮询 → 超过 5 分钟视为过期，报错让用户重新发起 ``` **轮询间隔**：每 5 秒一次，不要快发。 **自动完成**：用户扫完码后，status 会自动变成 `authorized`，全程无需用户额外确认。 **发送图片到飞书**：用 `message` 工具将登录 URL 对应的二维码图片发送到飞书群，通知用户扫码。图片发送由调用方 agent 负责（参考飞书发送图片规范）。 ## Agent Rules - 收到文章链接时，优先直接调用 `/api/articles/:id` 获取内容，而非要求用户提供更多信息 - 获取到正文后，直接进行阅读理解，不需要额外确认 - 如调用失败（返回空/报错），先检查 wewe-rss 容器是否运行：`curl http://localhost:4001/api/health` - 如容器未运行：在 `~/.openclaw/workspace/wewe-rss/` 目录下 `docker compose up -d`

path: _meta.json
content: {
  "ownerId": "s172yaxxd2drm0sc92554g9aq983hegj",
  "slug": "wewe-rss-reader",
  "version": "1.2.0",
  "publishedAt": "2026-04-01T07:00:00Z",
  "requiredEnvVars": [],
  "requiredConfigPaths": [],
  "primaryCredential": null,
  "persistence": null,
  "credentialSetup": {
    "type": "none",
    "description": "无需凭证。本地部署，localhost 访问。"
  },
  "requires": {
    "anyBinaries": [],
    "os": ["windows", "macos", "linux"]
  }
}


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: raghulpasupathi/rate-limit-pro (version 1.0.0)

--- id: rate-limit-pro version: 1.0.0 name: Rate Limit Pro description: Advanced rate limiting with tiered controls and quota management author: NeoClaw Team category: utility tags: - rate-limiting - quota - throttling dependencies: [] --- # Rate Limit Pro Advanced rate limiting with multiple tiers and quota management. ## Implementation ```javascript class RateLimiter { constructor(options = {}) { this.tiers = options.tiers || { free: { requests: 10, window: 60000 }, // 10 req/min basic: { requests: 100, window: 60000 }, pro: { requests: 1000, window: 60000 } }; this.requests = new Map(); } checkLimit(userId, tier = 'free') { const tierConfig = this.tiers[tier]; if (!tierConfig) { return { allowed: false, reason: 'invalid_tier' }; } const now = Date.now(); const userRequests = this.requests.get(userId) || []; // Remove old requests outside window const validRequests = userRequests.filter( timestamp => now - timestamp < tierConfig.window ); // Check if under limit if (validRequests.length >= tierConfig.requests) { const oldestRequest = validRequests[0]; const resetIn = tierConfig.window - (now - oldestRequest); return { allowed: false, reason: 'rate_limit_exceeded', limit: tierConfig.requests, remaining: 0, resetIn: Math.ceil(resetIn / 1000) }; } // Add current request validRequests.push(now); this.requests.set(userId, validRequests); return { allowed: true, limit: tierConfig.requests, remaining: tierConfig.requests - validRequests.length, resetIn: Math.ceil(tierConfig.window / 1000) }; } resetUser(userId) { this.requests.delete(userId); } getStats(userId) { const userRequests = this.requests.get(userId) || []; return { totalRequests: userRequests.length, oldestRequest: userRequests[0] || null, newestRequest: userRequests[userRequests.length - 1] || null }; } } // Export for OpenClaw module.exports = { RateLimiter }; ``` ## Usage ```javascript const limiter = new skills.rateLimitPro.RateLimiter({ tiers: { free: { requests: 10, window: 60000 }, pro: { requests: 1000, window: 60000 } } }); const result = limiter.checkLimit('user123', 'free'); if (result.allowed) { // Process request } else { console.log(`Rate limit exceeded. Reset in ${result.resetIn}s`); } ``` ## Configuration ```json { "tiers": { "free": { "requests": 10, "window": 60000 }, "basic": { "requests": 100, "window": 60000 }, "pro": { "requests": 1000, "window": 60000 } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: muzhang111/muzhang111-daily-brief (version 1.0.0)

# Daily Brief (每日早报) ## Description 每日早报，包含南通天气和 V2EX 热帖摘要。 Use when: 用户需要简报，或早上 8 点定时执行。 NOT for: 专业气象预报、长内容新闻。 ## When to Trigger - 每天 8:00 AM（通过 cron 或定时任务） - 用户说"今日简报"、"早报"、"今天怎么样" ## Workflow 1. 获取南通天气： ```bash curl "https://wttr.in/Nantong?format=3" ``` 2. 获取 V2EX 热门帖子： ```bash curl https://www.v2ex.com/api/topics/hot.json ``` 3. 提取前 5 条热帖 4. 按格式输出 ## Tools Used - `exec` - 执行 curl 命令获取天气和 V2EX 数据 - `web_fetch` - 可选，用于提取网页内容 - `web_search` - 可选，用于搜索补充信息 ## Output Format ``` 📅 今日简报 🌤 天气：{天气摘要} 🔥 V2EX 热帖： 1. {标题} ({节点}) 2. {标题} ({节点}) 3. {标题} ({节点}) 4. {标题} ({节点}) 5. {标题} ({节点}) ``` ## Examples **用户：** 今日简报 **助手：** ``` 📅 今日简报 🌤 天气：晴 23°C 🔥 V2EX 热帖： 1. 分享一个实用的 VS Code 插件 (技术分享) 2. 2024 年最值得去的 10 个地方 (旅行) 3. 如何高效学习编程？ (问答) 4. 新出的 MacBook Pro 值得升级吗？ (硬件) 5. 求推荐好用的笔记软件 (问答) ``` ## Notes - 天气数据来自 wttr.in，格式简洁 - V2EX 热帖按热度排序，只显示最新 5 条 - 如果 API 调用失败，提示用户稍后重试 - 定时任务建议在 8:00 AM 执行，避免打扰用户 - 可考虑添加其他数据源（如新闻、股票等） ## Implementation Tips 1. 使用 `exec` 工具时注意处理 JSON 响应 2. V2EX API 返回的是 JSON 数组，需要解析 `title` 和 `node.name` 字段 3. 天气输出已经是格式化字符串，直接使用即可 4. 考虑添加错误处理和重试机制


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: aly-joseph/jarvis-skills (version 1.0.0)

# Robotic Control Skill (OpenClaw) ## Overview The Robotic Control skill integrates OpenClaw for physical robotic arm and gripper manipulation through voice commands and programmatic control. ## Slug robotic-control ## Features - Robotic arm movement (6-DOF) - Gripper grab/release operations - Precise positioning and orientation - Force/torque sensing - Collision detection and safety - Action sequence execution - Hardware auto-detection - Simulation mode support ## Implementation - **Module**: `openclaw_control.py` - **Primary Library**: `OpenClaw SDK` - **Communication**: USB Serial, Ethernet, ROS ## Configuration ```python from openclaw_control import init_claw, get_claw # Initialize claw claw = init_claw() # Control operations claw.grab(force=50.0) claw.move_to(10, 20, 30) claw.release() ``` ## Voice Commands - "Jarvis, grab the object" - "Jarvis, move to 10 20 30" - "Jarvis, rotate 45 degrees" - "Jarvis, release" - "Jarvis, return to home" - "Jarvis, claw status" ## Hardware Support - Universal Robots (UR) - ABB Robotics - KUKA - Stäubli - Custom embedded systems ## Performance - Reach: 2-3 meters (model-dependent) - Payload: 3-500 kg (model-dependent) - Precision: ±0.03-0.1 mm - Speed: 1-7000 mm/s - Response Time: <10ms ## Dependencies - openclaw - pyserial - numpy ## Author Aly-Joseph ## Version 2.0.0 ## Last Updated 2026-01-31


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: fengye607/nano-diary-hook (version 1.0.0)

--- name: nano-diary-hook description: Post diary entries to a Nano diary platform via webhook. Supports creating new entries and AI-powered merging with existing handwritten diaries. version: 1.0.0 metadata: openclaw: requires: env: - NANO_DIARY_HOOK_TOKEN bins: - curl primaryEnv: NANO_DIARY_HOOK_TOKEN --- # Nano Diary Hook Post diary content to a user's Nano diary platform via webhook token. ## When to use Use this skill when the user wants to: - Write or submit a diary entry for a specific date - Log daily thoughts, activities, or reflections to their diary - Send AI-generated diary content to their Nano account ## Environment - `NANO_DIARY_HOOK_TOKEN` (required): The user's personal webhook token, generated from Nano diary settings page. ## API **Endpoint:** ``` POST https://image.yezishop.vip/api/diary-hook/${NANO_DIARY_HOOK_TOKEN} ``` **Headers:** ``` Content-Type: application/json ``` **Request body:** ```json { "date": "YYYY-MM-DD", "content": "Diary content text" } ``` - `date` (required): Date in `YYYY-MM-DD` format, e.g. `2026-03-06` - `content` (required): The diary content as plain text **Example:** ```bash curl -X POST "https://image.yezishop.vip/api/diary-hook/${NANO_DIARY_HOOK_TOKEN}" \ -H "Content-Type: application/json" \ -d '{"date": "2026-03-06", "content": "Today I learned how to publish OpenClaw skills to ClawHub."}' ``` ## Response Success (new diary created): ```json { "success": true, "merged": false, "diary_id": 123 } ``` Success (merged with existing handwritten diary via AI): ```json { "success": true, "merged": true, "diary_id": 123 } ``` Error responses: ```json { "success": false, "error": "date and content are required" } { "success": false, "error": "date must be in YYYY-MM-DD format" } { "success": false, "error": "Invalid token" } ``` ## Behavior - If no diary exists for the given date, a new entry is created. - If a diary already exists with handwritten content, the submitted content is automatically merged with it using AI to produce a coherent combined entry. - If a diary exists but has no handwritten content, the submitted content is saved directly. ## Notes - Content should be plain text (not Markdown or HTML). - One diary entry per date. Submitting again for the same date will update the existing entry. - The merge process is asynchronous; the API responds immediately while AI merging happens in the background.


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