OpenClaw/clawhub-security-signals huggingface dataset:
Skill: javainthinking/apipick-company-facts (version 1.0.0)

--- name: apipick-company-facts description: Retrieve public company information by stock ticker symbol or SEC CIK number using the apipick Company Facts API. Returns company name, industry, sector, exchange, market capitalization, employee count, website, and SEC filings URL. Use when the user wants to look up company information, find a company's market cap or headcount, get SEC filing links for a public company, or retrieve basic facts about any publicly traded company. Requires an apipick API key (x-api-key). Get a free key at https://www.apipick.com. metadata: openclaw: requires: env: - APIPICK_API_KEY primaryEnv: APIPICK_API_KEY --- # apipick Company Facts Retrieve public company data via stock ticker symbol or SEC CIK number. ## Endpoint ``` GET https://www.apipick.com/api/company/facts ``` **Authentication:** `x-[REDACTED_SECRET]` header required. Get a free API key at https://www.apipick.com/dashboard/api-keys ## Request Parameters Use **either** `ticker` or `cik` (not both): | Parameter | Description | |-----------|-------------| | `ticker` | Stock ticker symbol (e.g. `AAPL`, `MSFT`, `GOOGL`, `TSLA`) | | `cik` | SEC Central Index Key number (e.g. `0000320193`) | ```bash # By ticker GET /api/company/facts?ticker=AAPL # By CIK GET /api/company/facts?cik=0000320193 ``` ## Response ```json { "company_facts": { "ticker": "AAPL", "name": "Apple Inc.", "cik": "0000320193", "industry": "Technology", "sector": "Consumer Electronics", "exchange": "NASDAQ", "market_cap": 3000000000000, "number_of_employees": 164000, "website_url": "https://www.apple.com", "sec_filings_url": "https://www.sec.gov/edgar/browse/?CIK=320193" } } ``` ## Error Codes | Code | Meaning | |------|---------| | 400 | Invalid or missing ticker/CIK parameter | | 401 | Missing or invalid API key | | 402 | Insufficient credits | **Cost:** 1 credit per request ## Usage Pattern 1. Use `$APIPICK_API_KEY` env var as the `x-api-key` header value; if not set, ask the user for their apipick API key 2. Accept a company name, ticker, or CIK from the user 3. If the user provides a company name, infer the ticker (e.g. "Apple" → `AAPL`, "Microsoft" → `MSFT`) 4. Make the GET request with `ticker` or `cik` 5. Present results clearly; format `market_cap` as a readable figure (e.g. `$3T`, `$250B`) See [references/api_reference.md](references/api_reference.md) for full response field descriptions.


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

--- name: software-product-manager version: 1.0.0 description: 你是一位具备全流程产品落地能力的资深软件产品经理，擅长与用户协同拆解产品构想，完成需求的结构化梳理与专业文档输出。你能快速理解用户的产品目标，精准识别核心需求与潜在风险，并通过逻辑化的表达，将抽象需求转化为可执行方案。 ## Role: 产品需求拆解专家 ## Background: 用户是一位软件产品经理，需要将模糊的产品构想转化为清晰、可执行的需求文档，以便研发和设计团队能够高效开展工作。用户希望借助AI的能力，系统化地梳理需求，确保逻辑严谨、细节完整，同时避免遗漏关键点。 ## Profile: 你是一位具备全流程产品落地能力的资深软件产品经理，擅长与用户协同拆解产品构想，完成需求的结构化梳理与专业文档输出。你能快速理解用户的产品目标，精准识别核心需求与潜在风险，并通过逻辑化的表达，将抽象需求转化为可执行方案。 ## Skills: - **需求结构化拆解**：将模糊需求拆解为功能模块、用户流程、数据逻辑等可执行单元 - **场景化分析**：结合用户实际业务场景，识别关键痛点和解决方案 - **文档规范化输出**：输出PRD、用户故事、流程图等专业文档，直接支撑研发设计 - **风险预判**：提前识别技术实现难点、资源依赖或逻辑漏洞 ## Goals: - 帮助用户将产品构想转化为清晰、可落地的需求文档 - 确保需求逻辑严谨，覆盖核心场景与异常情况 - 输出可直接交付研发、设计团队的标准化文档 ## Constrains: - 需求拆解需严格基于用户提供的核心目标与业务场景 - 避免过度设计，聚焦最小可行方案（MVP） - 文档格式需符合行业通用标准（如PRD模板） ## Workflow: 1. **需求澄清**：与用户确认产品核心目标、用户群体与关键场景 2. **模块拆解**：将产品拆解为功能模块，定义优先级与依赖关系 3. **流程细化**：绘制用户流程图，标注异常分支与边界条件 4. **文档输出**：生成PRD/用户故事，包含功能描述、数据规则、交互逻辑 5. **风险同步**：标注技术实现难点与潜在风险点 ## Outputformat: { "功能模块":"[模块名称与核心功能描述]", "用户流程":"[主流程与异常分支说明]", "数据规则":"[关键数据结构与逻辑约束]", "风险提示":"[技术或资源依赖风险]" }


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: erongcao/erong-humanize-chinese (version 2.1.0)

--- name: humanize-chinese description: 检测并去除中文文本中的AI写作痕迹。当用户说"去AI味"、"改得自然一点"、"太机器了"、"帮我润色"、"去掉AI感"时使用。支持文件输入或直接粘贴文本，输出改写后文本和对比报告。适用于论文、文案、公众号、社交媒体等场景。 allowed-tools: - Read - Write - Edit - exec --- # Humanize Chinese v2.1 中文 AI 文本人性化改写工具。检测 AI 写作特征，去除机器腔调，保留原意。 ## 工作流 用户给我文本 → 我运行脚本 → 输出改写后文本 ### 方式一：直接粘贴（最常用） 用户直接把文字发给我，我调用脚本处理： ```bash # 对比 + 改写（激进模式，适合明显AI味的内容） python3 ~/.openclaw/skills/humanize-chinese-2-0-0/scripts/compare_cn.py --scene social -a # 纯检测，不改写（想先看看AI味有多重） python3 ~/.openclaw/skills/humanize-chinese-2-0-0/scripts/detect_cn.py -v # 指定场景改写 # --scene general 通用（默认） # --scene social 社交媒体、短文 # --scene tech 科技文章 # --scene formal 正式文章/报告 # --scene chat 对话/聊天 ``` ### 方式二：文件处理 ```bash # 改写并保存到新文件 python3 ~/.openclaw/skills/humanize-chinese-2-0-0/scripts/humanize_cn.py 输入.txt -o 输出.txt --scene social -a # 检测AI分数 python3 ~/.openclaw/skills/humanize-chinese-2-0-0/scripts/detect_cn.py 输入.txt -v ``` ### 方式三：批量处理 ```bash # 批量改写所有 markdown 文件 for f in *.md; do python3 ~/.openclaw/skills/humanize-chinese-2-0-0/scripts/humanize_cn.py "$f" --scene tech -a -o "${f%.md}_clean.md" done ``` ## 检测评分体系 | 分数 | 等级 | 含义 | |------|------|------| | 0-24 | 🟢 低 | 读起来像真人 | | 25-49 | 🟡 中 | 有一些AI特征 | | 50-74 | 🟠 高 | 大概率AI写的 | | 75-100 | 🔴 很高 | 基本确定是AI | ## 核心检测类别 | 类别 | 权重 | 示例 | |------|------|------| | 🔴 三段式套路 | 高 | 首先…其次…最后 | | 🔴 机械连接词 | 高 | 值得注意的是、综上所述 | | 🔴 空洞宏大词 | 高 | 赋能、闭环、新质生产力 | | 🟠 引流开场白 | 高 | 让我们一起、揭秘、划重点 | | 🟠 模糊概括 | 高 | 有研究表明、专家认为 | | 🟠 AI高频词 | 中 | 助力、彰显、底层逻辑 | | 🟠 套话废话 | 中 | 值得一提的是、毫无疑问 | | 🟡 节奏单一 | 低 | 句子长度高度一致 | ## 改写原则（基于研究） 1. **打破固定句式** — AI 喜欢"首先/其次/最后"，改成自然过渡 2. **增加具体细节** — "有研究表明" → "XX团队在2025年发表的数据" 3. **隐藏中心句** — AI 开头就给结论，改写到段中或段尾 4. **注入个人视角** — 加"我觉得"、"查了资料后发现" 5. **句式变化** — 长短句交替，主动被动互换 ## 规则配置 所有检测词和替换规则在： ``` ~/.openclaw/skills/humanize-chinese-2-0-0/scripts/patterns_cn.json ``` 可自行添加新的 AI 特征词或调整替换映射。

path: _meta.json
content: ownerId: kn7c4q39hrf57j94gsf0jt1t2n82pzds
slug: humanize-chinese-2-0-0
version: 2.1.0
publishedAt: 1744178400000

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: vlalamoon/save-to-obsidian-publish (version 2.1.0)

# Save to Obsidian Save web articles to Obsidian knowledge base with auto-generated summaries, tags, and local image storage. ## Features - ✅ **Batch Processing**: Process multiple article links at once - ✅ **Multi-source Support**: WeChat, Zhihu, Juejin, Medium, blogs, etc. - ✅ **Smart Summary**: Auto-generate structured summary (core idea + key points + audience) - ✅ **Auto Tags**: Extract relevant tags (tech domain + topic type) - ✅ **Image Localization**: Download images locally with relative paths - ✅ **Duplicate Detection**: Skip already saved articles based on URL - ✅ **Retry on Failure**: Auto-retry 3 times on network failure - ✅ **User Notes**: Support adding personal notes ## ⚠️ Mandatory Rules ### Image Paths — Relative Only All images in the saved Markdown **MUST** use **relative paths**, never absolute URLs. - ✅ Correct: `![图片](../attachments/{hash}/{filename}.png)` - ❌ Wrong: `![图片](https://mmbiz.qpic.cn/...)` - ❌ Wrong: `![图片](/absolute/path/to/attachments/...)` The script handles this automatically. If you process articles manually (e.g., due to anti-scraping), you **must**: 1. Download each image to `ATTACHMENTS_DIR/{article_hash}/` 2. Replace the URL with `../attachments/{article_hash}/{filename}` 3. Verify images were actually saved (file size > 100 bytes) This ensures Obsidian can display images offline and iCloud sync works correctly. ## Usage ```bash # Single article python3 save_article_to_obsidian.py "https://mp.weixin.qq.com/s/xxx" # Multiple articles python3 save_article_to_obsidian.py \ "https://mp.weixin.qq.com/s/xxx" \ "https://zhuanlan.zhihu.com/p/yyy" # With notes python3 save_article_to_obsidian.py "https://..." "My notes here" ``` ## Output Format ```markdown --- title: "Article Title" url: "https://..." created: 2026-04-07 source: wechat tags: - ai - security - tutorial --- ## 📌 Summary **Core Idea**: Article summary... **Key Points**: - Point 1 - Point 2 - Point 3 **Audience**: Target readers 🔗 [Read Original](https://...) --- Article content... ``` ## Installation 1. Download the skill files 2. Configure paths in the script: ```python OBSIDIAN_DIR = os.path.expanduser("~/Documents/Obsidian/Articles") ATTACHMENTS_DIR = os.path.expanduser("~/Documents/Obsidian/attachments") ``` 3. Ensure Python 3.7+ and curl are installed ## Dependencies - Python 3.7+ - curl ## License MIT


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: suspicious (MEDIUM)
Skill: weidd130/invoice-verification (version 0.1.2)

--- name: invoice-verification description: 在 OpenClaw 中核验发票文本、发票图片和发票文件夹，支持剩余额度查询、充值套餐查看和充值订单管理。 metadata: { "openclaw": { "requires": { "bins": ["node"] } } } --- # 发票查验 当用户想核验发票文本、核验发票图片、批量核验发票文件夹、查询剩余额度、查看充值套餐，或创建和查询充值订单时，使用这个技能。 ## 安装 在 OpenClaw 聊天框中输入： ```text 帮我去 clawhub 上安装 https://clawhub.ai/weidd130/invoice-verification 这个技能 ``` ## 首次使用 安装完成后，发送： ```text 帮我初始化 ``` ## 推荐对话 - 帮我查一下发票剩余额度 - 帮我看看发票查验有哪些充值套餐 - 帮我核验这张发票 - 帮我核验这张发票图片 - 帮我批量核验这个文件夹里的发票图片：`C:\path\invoice-images` - 帮我购买 10 元的发票查验套餐 - 帮我查一下订单 `ORDER123456789` 的支付状态 ## 规则 - 用户问剩余次数、剩余额度时，优先查询额度 - 用户问充值套餐时，优先查询套餐 - 用户提供图片路径或上传图片时，优先执行图片核验 - 用户提供本地文件夹路径时，优先执行批量核验 - 用户明确选择充值金额时，优先创建充值订单 - 要明确告知用户每次图片核验消耗 2 次额度 - 返回真实执行结果，不要臆造字段


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: suspicious | SkillSpector:  ()
Skill: alexjunanjing-2/feishu-image-sender (version 1.0.0)

--- name: feishu-image-sender description: | Send images to Feishu. Activate when user mentions sending images to Feishu, or when message contains image file paths/names (.png, .jpg, .jpeg, .gif, .webp). --- # Feishu Image Sender Skill ## 触发条件 当以下情况时自动激活此技能： - 用户要求发送图片到飞书 - 消息中包含图片文件路径或文件名（.png, .jpg, .jpeg, .gif, .webp） - 需要通过飞书媒体消息发送本地图片 ## 功能说明 这个 skill 用于在飞书中发送图片消息，并处理相关的权限和文件管理。 ## 使用场景 当用户需要： - 通过飞书发送本地图片 - 自动处理图片上传和消息发送 - 确保飞书权限正确配置 ## 前置条件 1. **图片文件** - 图片必须保存在 workspace 目录 - 支持格式：jpg, png, gif, webp ## 使用步骤 ### 1. 检查图片文件 ```bash # 查找图片文件 find ~/.openclaw/workspace -name "图片名.png" -type f ``` ### 2. 发送图片到飞书 使用 `message` 工具发送图片： ```javascript message({ action: "send", channel: "feishu", message: "图片说明文字", media: "/path/to/workspace/图片名.png" }) ``` ### 3. 处理权限错误 如果遇到权限错误： - 检查错误信息中的权限授权链接 - 提示管理员访问授权链接 - 等待授权完成后重试 ## 常见问题 ### Q: 发送图片时提示权限错误怎么办？ A: 访问权限授权链接，让管理员授权所需权限。 ### Q: 图片发送成功但看不到？ A: 检查： 1. 图片路径是否正确 2. 图片格式是否支持 3. 飞书权限是否已授权 ### Q: 如何批量发送多张图片？ A: 循环调用 message 工具，每次发送一张图片。 ## 示例代码 ### 发送单张图片 ```javascript // 发送 test.png message({ action: "send", channel: "feishu", message: "这是 test.png", media: "/path/to/workspace/test.png" }) ``` ### 批量发送图片 ```javascript const images = ["test1.png", "test2.png", "test3.png"]; for (const img of images) { message({ action: "send", channel: "feishu", message: `发送图片：${img}`, media: `/path/to/workspace/${img}` }); } ``` ## 注意事项 1. **文件路径**：始终使用绝对路径 2. **权限检查**：发送前确认飞书权限已授权 3. **文件存在性**：发送前检查文件是否存在 4. **格式支持**：只发送支持的图片格式 ## 维护记录 - 2026-02-19: 创建 skill，固化飞书图片发送流程

path: package.json
content: {
  "name": "feishu-image-sender",
  "version": "1.0.0",
  "description": "Send images to Feishu. Activate when user mentions sending images to Feishu, or when message contains image file paths/names (.png, .jpg, .jpeg, .gif, .webp).",
  "keywords": [
    "feishu",
    "image",
    "media",
    "messaging"
  ],
  "license": "MIT"
}


Security scan verdicts — ClawScan: suspicious | static analysis:  | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: hmzo/crypto-learning (version 1.0.1)

--- name: crypto-learning description: 加密货币自学系统。每天早上9点自动推送学习内容；每次调用都必须产出小白友好、可直接学习的详细报告（不是只给标题），并通过 web_search 检索并整合最新资料。包含完整学习大纲（小白向、投资向、进阶投资三个阶段），支持进度跟踪、跳过与重置。 --- # Crypto Learning - 加密货币自学系统 ## 目标 给 hmzo 提供“每天可直接学习”的加密货币课程推送： - 解释清楚（小白能看懂） - 内容完整（不是只有题目） - 有最新资料整合（web_search 检索） - 有可执行学习动作（自测/作业） ## 学习大纲位置 学习大纲在 `content.json`： - 小白向（30天） - 投资向（60天） - 进阶投资（90天） 进度在 `progress.json`。 ## 必须遵守的输出质量规则（硬约束） 每次输出学习报告都必须满足以下要求： 1. **禁止只输出题目或一句话摘要**。 2. **最少包含 6 个模块**（见下方固定模板）。 3. **正文长度不少于 450 字**（不含标题与分隔符）。 4. **术语必须解释**：首次出现术语（如 PoW、PoS、Gas、TVL）时，给一句“白话解释”。 5. **至少给 2 个生活类比或场景例子**，帮助理解抽象概念。 6. **至少给 3 条要点总结**（可背诵版本）。 7. **必须含 3 道自测题 + 标准答案**。 8. **最后给出次日预告**，并更新学习进度。 若 web_search 检索结果不足，仍要基于 `content.json` 产出完整报告，不得降级为短消息。 ## 固定输出模板（每次都用） 按以下结构输出（允许微调措辞，但模块不可缺失）： 1. `📚 第 X 天学习内容`（阶段 / 主题 / 今日重点） 2. `📖 先讲人话版`（先用 3-6 句白话解释核心概念） 3. `🧱 系统化知识`（定义、原理、关键组成、常见误区） 4. `🌐 最新资料整合`（基于 web_search 的信息融合，不要贴生硬链接堆砌） 5. `🧠 例子与类比`（至少 2 个） 6. `✅ 今日小结`（至少 3 条可记忆要点） 7. `📝 3题自测（含答案）` 8. `🚀 明日预告 + 进度更新` ## 工作流程 ### 1) 读取进度 读取 `progress.json`： - `current_stage` - `current_topic_index` - `current_subtopic_index` - `completed_subtopics` ### 2) 获取今日主题 根据进度从 `content.json` 取出： - 阶段 - 主题 - 子主题 - 基础知识点 ### 3) web_search 检索并整合 必须检索当日主题相关的最新内容，再进行融合输出。 检索建议： - 中文关键词：`子主题 + 加密货币 + 入门/教程/原理` - 英文关键词：`subtopic + crypto + beginner guide/explained` - 优先权威来源：Binance Academy、CoinMarketCap Alexandria、Investopedia、Ethereum/Bitcoin 官方文档等 要求： - 不照搬原文；用自己的结构重写 - 把多来源信息合并成统一叙事 - 说明“共识点”和“容易误解点” ### 4) 生成详细学习报告 严格使用“固定输出模板”，并满足“硬约束”。 ### 5) 更新进度 完成后更新 `progress.json`： - 标记当前子主题完成 - 指向下一个子主题 - 更新 `last_push_date` - `total_days_completed +1` ## 用户命令 ### 开始学习计划 按当前进度继续推送。 ### 查看进度 显示：已完成天数、当前阶段/主题、已完成知识点。 ### 跳过今天 记录跳过日期，不推进学习内容。 ### 重置计划 清空进度并从第一个主题开始。 ### 手动学习某个主题 支持临时学习指定主题；默认不改自动进度（除非用户明确要求）。 ## 失败降级策略 - web_search 失败：改用 `content.json` + 已有常识生成完整详细版，不得只发标题。 - 信息冲突：优先通用共识，标注“不同平台口径可能不同”。 - 内容过深：自动加“白话翻译”段，确保小白可读。 ## 风格要求 - 默认中文，语气亲切但不废话。 - 先白话后术语，先结论后展开。 - 以“能学会”为目标，不写成新闻快讯。 - 每次都要让用户“看完就有收获”。

path: progress.json
content: {
  "user_id": "hmzo",
  "started_at": "2026-02-11T20:56:03.828478",
  "current_stage": "beginner",
  "current_topic_index": 1,
  "current_subtopic_index": 2,
  "completed_subtopics": [
    "b1-1",
    "b1-2",
    "b1-3",
    "b2-1",
    "b2-2"
  ],
  "skipped_dates": [],
  "last_push_date": "2026-02-13",
  "total_days_completed": 5,
  "enabled": true
}

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: plusplus7/list-running-starred-services (version 1.0.1)

--- name: list-running-starred-services description: Use this skill when you need to call bytedcli tce list-starred-service and print the raw original output directly. --- # List Running Starred Services Use this skill when the user wants the original output of `bytedcli tce list-starred-service`. ## Workflow 1. Run `bytedcli tce list-starred-service`. 2. Print the command output directly. ## Notes - Do not add pagination flags unless the user explicitly asks for them. - Do not post-process the output. - If `bytedcli` is unavailable or the network is blocked, report that clearly and include the failing command.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: joargp/news-summary (version 1.0.1)

--- name: news-summary description: This skill should be used when the user asks for news updates, daily briefings, or what's happening in the world. Fetches news from trusted international RSS feeds and can create voice summaries. --- # News Summary ## Overview Fetch and summarize news from trusted international sources via RSS feeds. ## RSS Feeds ### BBC (Primary) ```bash # World news curl -s "https://feeds.bbci.co.uk/news/world/rss.xml" # Top stories curl -s "https://feeds.bbci.co.uk/news/rss.xml" # Business curl -s "https://feeds.bbci.co.uk/news/business/rss.xml" # Technology curl -s "https://feeds.bbci.co.uk/news/technology/rss.xml" ``` ### Reuters ```bash # World news curl -s "https://www.reutersagency.com/feed/?best-regions=world&post_type=best" ``` ### NPR (US perspective) ```bash curl -s "https://feeds.npr.org/1001/rss.xml" ``` ### Al Jazeera (Global South perspective) ```bash curl -s "https://www.aljazeera.com/xml/rss/all.xml" ``` ## Parse RSS Extract titles and descriptions: ```bash curl -s "https://feeds.bbci.co.uk/news/world/rss.xml" | \ grep -E "<title>|<description>" | \ sed 's/<[^>]*>//g' | \ sed 's/^[ \t]*//' | \ head -30 ``` ## Workflow ### Text summary 1. Fetch BBC world headlines 2. Optionally supplement with Reuters/NPR 3. Summarize key stories 4. Group by region or topic ### Voice summary 1. Create text summary 2. Generate voice with OpenAI TTS 3. Send as audio message ```bash curl -s https://api.openai.com/v1/audio/speech \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "tts-1-hd", "input": "<news summary text>", "voice": "onyx", "speed": 0.95 }' \ --output /tmp/news.mp3 ``` ## Example Output Format ``` 📰 News Summary [date] 🌍 WORLD - [headline 1] - [headline 2] 💼 BUSINESS - [headline 1] 💻 TECH - [headline 1] ``` ## Best Practices - Keep summaries concise (5-8 top stories) - Prioritize breaking news and major events - For voice: ~2 minutes max - Balance perspectives (Western + Global South) - Cite source if asked


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: loutai0307-prog/bytesagain-chart-generator (version 1.0.1)

--- description: "Generate ASCII bar, line, pie, and scatter charts from CSV or inline data in your terminal. Use when visualizing datasets, plotting trends, comparing values, or exploring data distributions without opening a spreadsheet." author: BytesAgain homepage: https://bytesagain.com source: https://github.com/bytesagain/ai-skills --- # bytesagain-chart-generator Generate ASCII bar charts, line charts, pie charts, and scatter plots from CSV or inline data. Visualize datasets directly in your terminal with no external dependencies. ## Usage ``` bytesagain-chart-generator bar <file_or_inline_data> bytesagain-chart-generator line <file_or_inline_data> bytesagain-chart-generator pie <file_or_inline_data> bytesagain-chart-generator scatter <file_or_inline_data> bytesagain-chart-generator demo ``` ## Commands - `bar` — Horizontal ASCII bar chart with percentage breakdown - `line` — ASCII line chart with labeled axes for time-series data - `pie` — ASCII pie chart showing proportional distribution - `scatter` — ASCII scatter plot for x,y coordinate data - `demo` — Show sample charts for all four types ## Examples ```bash bytesagain-chart-generator bar "Q1:1200,Q2:1850,Q3:1420,Q4:2100" bytesagain-chart-generator line "Jan:320,Feb:450,Mar:380,Apr:520" bytesagain-chart-generator pie "Chrome:65,Firefox:15,Safari:12,Others:8" bytesagain-chart-generator bar sales.csv bytesagain-chart-generator demo ``` ## Input Format Inline: `Label:Value,Label:Value,...` CSV file: two columns (label, value) with optional header row. ## Requirements - bash - python3 ## When to Use Use when you need to quickly visualize data in the terminal, create charts for reports, compare metrics, or analyze trends without leaving the command line.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kunxinian/loss-items-query-ailifeassistant (version 1.0.0)

--- name: loss-items-query description: 查询 待复购商品/ 待购买商品 /资损品物品列表/商品补货，支持分页、状态、排序等参数。直接调用你的业务 HTTPS 接口。 version: 1.0.0 user-invocable: true metadata: openclaw: requires: bins: - python3 env: - LOSS_API_TOKEN primaryEnv: LOSS_API_TOKEN --- # Loss Items 查询技能 ## 能力 当用户说以下任意关键词时触发： - “待复购商品/需要购买的复购商品 / 复购商品 / 待购买物品 / pending” - “查询第几页的 loss items” - “due remind 的物品”、“status=pending 的列表”等 ## 执行逻辑（必须严格遵守） 1. 从用户消息中提取参数（默认值见下）： - page（默认 1） - size（默认 20） - status（默认 pending） - sort（默认 due_remind_at） - include_deleted（默认 false） 2. 执行本目录下的 `query_loss_items.py` 脚本，传入以上参数。 3. 把脚本返回的 JSON 转为自然语言总结回复用户（例如“共找到 12 条 pending 记录，第 1 页显示前 20 条...”） ## 示例对话 用户：查一下 哪些需要复购的商品 → 调用 query_loss_items.py --status pending --page 1 --size 20 → 回复：当前有 8 条待复购的商品，最新 due remind 时间是... 用户：看第 2 页的物品 → 调用 query_loss_items.py --page 2


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: terrycarter1985/ecom-return-refund-responder (version 1.0.0)

--- name: ecom-return-refund-responder description: 电商客服退换货标准化应答提示词模板。当买家发起退货、换货、仅退款等售后咨询时，自动生成符合平台售后规则、语气友好且信息准确的客服应答。适用于淘宝/天猫/京东/拼多多等国内电商平台及跨境平台。 --- # 电商客服退换货应答模板 ## 调用方式 按以下输入字段填写后，将模板中 `{{字段名}}` 替换为实际值，即可生成标准化应答。 ## 输入字段 | 字段 | 必填 | 说明 | |---|---|---| | buyer_intent | 是 | 买家意图：退货/换货/仅退款/补发 | | order_no | 是 | 订单编号 | | item_name | 是 | 商品名称 | | reason | 是 | 买家申请原因（如：质量问题/尺码不合/七天无理由/发错货等） | | days_since_receive | 是 | 签收后天数 | | platform | 否 | 平台名称，默认"本平台" | | has_photo | 否 | 买家是否已提供凭证照片，默认"未提供" | | sku_info | 否 | 换货时的新规格/尺码 | ## 应答模板 ``` {{buyer_greeting}}！ 关于您的订单 {{order_no}}（{{item_name}}），我们已收到您的{{buyer_intent}}申请，原因：{{reason}}。 {{policy_paragraph}} {{next_step_paragraph}} {{closing_remark}} 如需进一步帮助，欢迎随时联系客服，我们将竭诚为您服务！😊 ``` ### 子模板片段 **buyer_greeting**（根据买家会员等级/昵称）： - 默认：亲爱的买家 **policy_paragraph**（根据 reason + days_since_receive 自动匹配）： - 质量问题 & ≤7天：根据平台售后政策，商品签收7天内如存在质量问题，支持退货退款，运费由卖家承担。 - 质量问题 & >7天 & ≤15天：商品签收超过7天，如确认质量问题，我们可协助申请售后维权，请提供清晰凭证照片。 - 七天无理由 & ≤7天：根据《消费者权益保护法》，商品签收7天内支持无理由退货，请确保商品未使用、不影响二次销售。 - 七天无理由 & >7天：很抱歉，商品签收已超过7天无理由退货期限，如商品存在问题请联系我们另行处理。 - 发错货/少发：非常抱歉给您带来不便！我们将立即为您{{换发正确商品/补发缺少商品}}，运费由我方承担。 - 尺码不合 & ≤7天：支持7天内换货，请提供期望换购的尺码/规格，确认库存后为您安排。 - 尺码不合 & >7天：已超出换货期限，如商品完好可联系协商处理方案。 **next_step_paragraph**： - 退货：请您在订单详情页提交退货申请，选择退货方式后寄回商品。收到退货后我们将在{{平台规定时效}}内完成退款。 - 换货：请您确认换购规格为 {{sku_info}}，提交换货申请后将原商品寄回，我们验收后立即为您发出新商品。 - 仅退款：我们正在核实您的申请，预计{{1-3}}个工作日内给出处理结果，请留意消息通知。 - 补发：我们将在{{24}}小时内为您安排补发，届时会推送物流单号，请注意查收。 **closing_remark**： - 感谢您的理解与配合，祝您生活愉快！ - 给您带来不便深表歉意，我们会持续改进服务！ ## 边界与转人工规则 1. 涉及法律争议、投诉工商/消协 → 立即转人工 2. 买家情绪激烈或使用威胁性语言 → 转人工，不可模板回复 3. 订单金额 > 5000元 或 批量售后（≥5单同一买家）→ 转人工审核 4. 平台规则冲突或无法判定 → 回复"已为您升级处理，客服专员将在30分钟内联系您"并转人工 5. 不对买家做出超出平台规则的承诺（如"一定赔偿"等） 6. 不得泄露卖家内部信息（如进货价、利润率） ## 质量检查清单 - [ ] 订单号、商品名准确 - [ ] 签收天数与政策段落一致 - [ ] 下一步操作明确可执行 - [ ] 语气友好无生硬感 - [ ] 未超出平台售后规则承诺 - [ ] 需要凭证时已提醒买家提供


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: hekaiii/pinterest-video-download (version 1.0.2)

--- name: pinterest-video-download description: Download the main video from a Pinterest pin and save it as a local MP4 for personal media workflows such as wallpaper saving, repost preparation, or Live Photo conversion. Use when the user gives a pinterest.com/pin/... URL or pin.it short link and wants the video file from that pin. --- # Pinterest Video Download 1. Resolve the pin URL if the user gives a `pin.it` short link. 2. Open the pin in the browser and inspect page resources to find the HLS playlist (`.m3u8`) for the main video. 3. Prefer the highest available variant from the master playlist. 4. Download the video with `ffmpeg` using stream copy when possible. 5. Save the file under `~/.openclaw/workspace/downloads/` with a stable name based on the pin id. 6. Tell the user where the MP4 was saved. If the user asks, send the MP4 back through chat. ## Main features - accepts both full Pinterest pin URLs and `pin.it` short links - downloads the primary video from the current pin - prefers the highest available playlist variant - saves a normal MP4 for local use or forwarding - works well as the first step before making an iPhone Live Photo ## Notes - Use `ffmpeg`; install missing dependencies yourself when safe. - Pinterest often serves HLS playlists from `v1.pinimg.com/videos/iht/hls/...`. - Verify the saved file with `ffprobe` or `ffmpeg -i` when needed. - If multiple videos are present on the page, pick the primary video visible in the current pin, not a suggested pin below it.


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