OpenClaw/clawhub-security-signals huggingface dataset:
Skill: dalomeve/skill-governance-balanced (version 1.0.1)

# skill-governance Use this skill to control multi-skill side effects with a balanced governance model. ## When to use - After installing a new skill (must pass acceptance before becoming `ready`) - Daily/heartbeat governance refresh - Core pool tuning and automatic promotion/demotion - Routing decisions: core first, then all ready skills, then explore fallback ## Policy - Status model: `candidate` -> `ready` -> `core` -> `quarantine` -> `retired` - Third-party skills default to `candidate` - Only `ready` or `core` skills are eligible for automatic selection - Quarantine after 2 consecutive failures - Demote `core` skill to `ready` after 3 days without usage - Dynamic core cap range: 8 to 14 ## Security and privacy - No outbound network calls are required by this skill. - No credential collection or token upload behavior is implemented. - Scripts only read/write local workspace files for governance state and evidence. - Weekly cleanup is non-destructive by design (status transitions only; no file deletion). - Any action beyond local governance must be explicitly added by the operator. ## Source of truth - `skill-registry.json` ## Scripts 1. Reconcile runtime + filesystem into registry: - `scripts/reconcile-ready.ps1 -Root <workspace>` 2. Audit one skill with 4-step acceptance: - `scripts/audit-skill.ps1 -Root <workspace> -SkillName <name>` 3. Record skill usage outcome: - `scripts/record-skill-usage.ps1 -Root <workspace> -SkillName <name> -Outcome success|failure|blocked` 4. Evaluate core pool promotion/demotion and dynamic cap: - `scripts/update-core-pool.ps1 -Root <workspace>` 5. Route execution chain (core -> ready -> explore): - `scripts/route-skill.ps1 -Root <workspace> -TaskText "<text>" -Candidates "a,b,c"` 6. Weekly cleanup (retire stale or missing skills): - `scripts/weekly-cleanup.ps1 -Root <workspace>` ## Required install flow After installing a new skill: 1. Run `reconcile-ready.ps1` 2. Run `audit-skill.ps1` for that skill 3. Confirm status in `skill-registry.json` is `ready` before use in automatic routing


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lxiaodong681-lab/github-trending-skill (version 1.0.0)

--- name: github-trending description: 每日 GitHub Trending 热榜推送，支持日榜和月度汇总 license: MIT --- # GitHub Trending Skill 当用户说“今天的 GitHub 热榜”“GitHub trending”“今日最火的仓库”时，自动抓取 GitHub Trending 数据并推送中文摘要。 ## 执行方式 ### 每日热榜 调用 `scripts/daily.py`，带参数 `language`（默认 All）和 `limit`（默认 10）： - 命令：`python scripts/daily.py --language All --limit 10` - 或导入运行：`from scripts.daily import run; run(language="All", limit=10)` ### 月度汇总 调用 `scripts/monthly.py`，带参数 `language`（默认 All）和 `limit`（默认 10）： - 命令：`python scripts/monthly.py --language All --limit 10` - 或导入运行：`from scripts.monthly import run; run(language="All", limit=10)` ## 输出格式 返回 markdown 格式的中文热榜，每条包含： - 仓库名（加粗） - 描述 - 编程语言 - 总 star 数 - 今日/本月增长 ## 触发时机 - 用户说“今日 GitHub 热榜” - 用户说“GitHub trending” - 用户说“今天最火的仓库” - 用户说“上月最火的仓库” → 触发 monthly 模式 ## 注意事项 - 月度模式抓取 10 种语言，每次请求间隔 3 秒防限流 - 网络失败时返回缓存数据并附带提示 - 所有时间使用 UTC


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: olliewazza/social-downloader (version 1.0.0)

--- name: social-downloader description: Download TikTok, Instagram Reel, X/Twitter video, YouTube Short, or other social video links with yt-dlp. Use when the user asks to download/save/send a social video in best quality, or asks to download/transcribe a reel/TikTok and turn it into a reusable skill. --- # Social Downloader Use this for social video links. ## Modes ### 1. Download best quality and send back ```bash bash skills/social-downloader/scripts/download_best.sh "<url>" /tmp/social-download ``` Then inspect the output and send the downloaded video back to the user. ### 2. Download + transcribe for skill creation ```bash python3 skills/social-downloader/scripts/download_transcribe.py "<url>" --out /tmp/social-skill-source ``` Then: 1. Read the transcript. 2. Extract the reusable workflow. 3. Create or update a concise OpenClaw skill. ## Rules - Prefer best available quality with `yt-dlp`. - Do not re-encode unless needed for compatibility or file size. - Keep downloaded files in a clear local output folder. - Never hardcode cookies, API keys, auth tokens, or private credentials into the skill. - If a site requires login/cookies, ask before using a logged-in browser/session.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: rubenfb23/walkie-talkie-mode (version 1.0.0)

--- name: walkie-talkie description: Handles voice-to-voice conversations on WhatsApp. Automatically transcribes incoming audio and responds with local TTS audio. Use when the user wants to "talk" instead of type. --- # Walkie-Talkie Mode This skill automates the voice-to-voice loop on WhatsApp using local transcription and local TTS. ## Workflow 1. **Incoming Audio**: When a user sends an audio/ogg/opus file: - Use `tools/transcribe_voice.sh` to get the text. - Process the text as a normal user prompt. 2. **Outgoing Response**: - Instead of a text reply, generate speech using `bin/sherpa-onnx-tts`. - Send the resulting `.ogg` file back to the user as a voice note. ## Triggers - User sends an audio message. - User says "activa modo walkie-talkie" or "hablemos por voz". ## Constraints - Use local tools only (ffmpeg, whisper-cpp, sherpa-onnx-tts). - Maintain a fast response time (RTF < 0.5). - Always reply with BOTH text (for clarity) and audio. ## Manual Execution (Internal) To respond with voice manually: ```bash bin/sherpa-onnx-tts /tmp/reply.ogg "Tu mensaje aquí" ``` Then send `/tmp/reply.ogg` via `message` tool with `filePath`.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: spzwin/sq-math (version 1.0.1)

--- name: sq-math description: 数学运算技能，支持算术、代数方程、函数求值、微积分与矩阵计算。用于用户提出“帮我算一下”“解方程”“求导/积分”“矩阵运算”等数学任务时，优先通过内置脚本稳定计算并返回结果。 --- # sq-math 执行数学计算并输出清晰结果。 ## 快速用法 - 算术与表达式：运行 `python3 scripts/math_calc.py --expr "(23*17+9)/4"` - 方程求解：运行 `python3 scripts/math_calc.py --solve "x**2-5*x+6" --var x` - 求导：运行 `python3 scripts/math_calc.py --diff "sin(x)*x**2" --var x` - 定积分：运行 `python3 scripts/math_calc.py --integrate "x**2" --var x --a 0 --b 3` - 矩阵行列式：运行 `python3 scripts/math_calc.py --det "[[1,2],[3,4]]"` ## 约束 - 优先使用脚本给出可复现结果，避免口算。 - 输入无效时直接返回可执行的修正示例。 - 输出保持简洁：结果 + 关键步骤（如有）。

path: scripts/math_calc.py
content: #!/usr/bin/env python3
import argparse
import ast
import math

try:
    import sympy as sp
except Exception:
    sp = None


def fail(msg):
    print(msg)
    raise SystemExit(1)


def require_sympy():
    if sp is None:
        fail("sympy 未安装，无法执行该操作。请先安装: pip install sympy")


def main():
    p = argparse.ArgumentParser(description="sq-math calculator")
    p.add_argument("--expr")
    p.add_argument("--solve")
    p.add_argument("--diff")
    p.add_argument("--integrate")
    p.add_argument("--var", default="x")
    p.add_argument("--a")
    p.add_argument("--b")
    p.add_argument("--det")
    args = p.parse_args()

    if args.expr:
        if sp is not None:
            v = sp.simplify(sp.sympify(args.expr))
            print(v)
            return
        # sympy 不在时，提供基础安全表达式计算
        allowed = {k: getattr(math, k) for k in dir(math) if not k.startswith("_")}
        allowed.update({"abs": abs, "round": round})
        print(eval(args.expr, {"__builtins__": {}}, allowed))
        return

    if args.solve:
        require_sympy()
        x = sp.symbols(args.var)
        eq = sp.sympify(args.solve)
        ans = sp.solve(sp.Eq(eq, 0), x)
        print(ans)
        return

    if args.diff:
        require_sympy()
        x = sp.symbols(args.var)
        expr = sp.sympify(args.diff)
        print(sp.diff(expr, x))
        return

    if args.integrate:
        require_sympy()
        x = sp.symbols(args.var)
        expr = sp.sympify(args.integrate)
        if args.a is not None and args.b is not None:
            print(sp.integrate(expr, (x, sp.sympify(args.a), sp.sympify(args.b))))
        else:
            print(sp.integrate(expr, x))
        return

    if args.det:
        require_sympy()
        m = ast.literal_eval(args.det)
        print(sp.Matrix(m).det())
        return

    fail("请至少提供一个参数，如 --expr 或 --solve")


if __name__ == "__main__":
    main()


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: kongkong827/resume-evaluation-report (version 1.0.0)

--- name: resume-evaluator description: 根据HR专业视角生成结构化简历评估报告。当用户需要评估候选人简历、分析候选人优劣势、识别招聘风险、或为后续面试准备问题时使用此技能。触发场景：用户发来简历文件（PDF/DOCX/图片）并要求评估；用户说"帮我看看这个候选人"、"评估一下这个人"、"分析一下这份简历"、"面试可以问什么"、"这个人的优劣势"等。 --- # 简历评估报告 ## 触发条件 用户发送简历文件并要求评估，或明确要求对候选人进行分析。 ## 工作流程 1. **提取简历内容**：根据文件格式选择合适的提取方式（PDF用PyPDF2，DOCX用python-docx，图片用图片识别） 2. **分析候选人**：基于简历内容进行全方位分析 3. **生成评估报告**：严格按照下方报告模板输出 ## 报告模板（必须严格遵循） ### 整体结构 报告必须包含以下五个部分，按顺序排列： 1. **总体建议** — 综合评级表格+核心判断+具体行动建议 2. **基础画像** — 候选人基本信息表格 3. **核心优势** — 逐条列出优势，每条含标题+解释 4. **潜在风险** — 逐条列出风险，每条含标题+具体说明+面试中需要验证的点 5. **后续面试建议问题** — 按维度分组，每个问题含问题本身+考察目的 ### 各部分详细格式 --- #### 一、总体建议 必须包含： **1. 综合评级行** 在评级表格前，输出一行： ``` 综合评级：⭐⭐⭐（3/5）— [一句话总结] 通过与否：[通过/待定/不通过] ``` - 评级等级和通过与否建议： - 5星 → 通过 - 4星 → 通过 - 3星 → 待定（需面试验证） - 2星 → 不通过 / 有特殊亮点可考虑 - 1星 → 不通过 **2. 综合评级表格** ``` | 维度 | 评价 | |------|------| | [维度1] | ★★★★★ [一句话评价] | | [维度2] | ★★★★☆ [一句话评价] | | ... | ... | ``` - 评价维度通常包括：专业能力、行业经验、业绩质量、稳定性、管理能力、成长潜力等（根据岗位和候选人调整） - 星级为1-5星（★★★★★），用☆表示未满 - 一句话评价要简明、有判断 **3. 核心判断段落** 用"核心判断："开头，2-4句话： - 总结候选人的核心卖点和最大顾虑 - 给出匹配度的判断（适合什么阶段/类型的公司） - 指出面试中最需要验证的点 - 如有必要，补充背调建议 --- #### 二、基础画像 用表格展示，必须包含以下字段（根据简历实际情况增减）： ``` | 维度 | 信息 | |------|------| | 工作年限 | 具体年限（起始年月） | | 当前职级 | 职位名称（入职时间，在职时长） | | 学历 | 学校+学历+专业（如有特殊注明，如在职本科/专升本/成人教育等） | | 行业聚焦 | 所在行业或领域 | | 核心专长 | 2-4个核心能力关键词 | ``` 如果候选人工作履历中有明显的时间线（如频繁跳槽），在基础画像后补充一张工作履历表格： ``` | 公司 | 时间 | 时长 | |------|------|------| | XX公司 | YYYY.MM-YYYY.MM | ~N个月/年 | ``` --- #### 三、核心优势 ✅ - 使用编号列表，每个优势一个条目 - 每个条目格式：**`N. [优势标题]`** + 一段解释 - 标题要具体、有判断力（如"包材开发能力是真正壁垒"，不要泛泛说"沟通能力强"） - 解释要结合简历中的具体事实，引用简历中的细节作为论据 - 通常列出4-8条优势，根据候选人实际情况决定，宁缺毋滥 - 优势必须是简历中有事实支撑的，不要凭空推断 --- #### 四、潜在风险 ⚠️ - 使用编号列表，每个风险一个条目 - 每个条目格式：**`N. [风险标题]`** + 具体分析 - 对每个风险，需要指出**在后续面试中需要验证的具体问题**（用要点列表或引号格式呈现面试问题） - 常见风险维度（不限于此，根据实际情况选择）： - 稳定性（跳槽频率、在职时长） - 背景/履历疑点（前公司声誉、岗位真实性） - 管理能力（是否真的带过人、带了多少） - 学历/资质 - 职业天花板（多年未晋升、视野局限） - 业绩真实性（描述偏动作、缺结果数据） - 简历质量（同质化描述、过度包装） - 风险描述要客观，避免主观判断，用事实说话 --- #### 五、后续面试建议问题 - 按考察维度分组，每组用 emoji + 维度名称作为小标题 - 常见分组： - 🚩 动机与稳定性（如有跳槽频繁等红旗） - 💰 特定经历深挖（如有值得关注的背景） - 📊 业绩深挖 - 🧠 战略思维/管理能力验证 - ⚡ 专业深度测试 - 🎯 文化适配 - 每个问题的格式：**`"具体问题"`** → 考察目的说明 - 问题要具体、尖锐、可追问，避免泛泛的"你有什么优缺点" - 问题总数建议8-16个，根据候选人层级和风险点调整 - 最重要的考察维度放在最前面，并标注优先级 --- ## 语气与风格 - **角色**：以HR专业视角进行分析，像一位经验丰富的HR总监在给用人经理写推荐意见 - **风格**：简洁有力、判断明确、有观点。不要模棱两可、两边押注 - **用词**：专业但不说教，接地气。可以用"红旗🚩""壁垒""天花板"等行业口语 - **长度**：根据候选人资历调整。初/中级岗位可简洁，高管岗位要深入 - **语言**：默认中文，除非用户明确要求其他语言 - **态度**：对候选人保持尊重，但评估要客观犀利。好处说好，问题指出 ## 特殊规则 1. **不要编造简历中没有的信息**。所有分析必须基于简历中的事实。如果信息不足，标注"需要面试验证" 2. **不要给候选人打满分**。没有人是完美的，总要找出可以关注的地方 3. **量化优先**。尽可能用数据说话（X年经验、N家公司、X次跳槽等） 4. **对比分析**：当简历中存在矛盾或异常（如工作年限与学历时间线不匹配），要明确指出 5. **岗位匹配度意识**：如果用户提到了具体岗位要求，要在分析中融入岗位匹配的判断 6. **输出格式**：使用Markdown格式，包括表格、加粗、emoji等，确保在webchat/IM中可读性好


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cr330326/fund-screening (version 1.0.0)

--- name: fund-screening description: 基金筛选与定投实战技能。使用五维筛选体系（业绩/经理/风格/持仓/机构）从天天基金网和晨星网筛选优质基金，构建投资组合并执行定投策略。触发场景：用户提到"基金筛选"、"基金定投"、"选基"、"筛选基金"、"基金组合"、"定投策略"、"fund screening"、"fund DCA"，或要求推荐/分析/对比基金时使用。 --- # 基金筛选与定投实战 ## 概述 基于七年实战经验沉淀的五维基金筛选体系，覆盖完整闭环：**初筛 → 精筛 → 深度分析 → 回测验证 → 组合配置 → 定投执行 → 定期检视**。 完整策略文档：`实战/基金/基金筛选投资策略.md` ## 核心工作流 ``` 用户请求 → 判断任务类型 ├─ A. 全流程筛选（从零开始选基） ├─ B. 单只基金深度分析 ├─ C. 组合配置 / 调仓建议 ├─ D. 定投执行与检视 └─ E. 读取/更新已有筛选数据 ``` ### A. 全流程筛选 依次执行以下 4 步，每步产出明确： **第 1 步：天天基金网初筛** - 搜索天天基金网，筛选混合型/股票型基金 - 条件：近 3 年、2 年、1 年、6 月、3 月涨幅**同时**进同类前 50 - 产出：初筛名单（~30-50 只） **第 2 步：晨星网精筛** - 搜索晨星网，交叉验证初筛名单 - 条件：三年评级 ≥ 三星，五年评级 ≥ 五星，夏普比率前 20~40，晨星风险系数低于同类平均 - 产出：候选池（~10 只） **第 3 步：五维深度分析**（详见 [references/five-dimensions.md](references/five-dimensions.md)） - ① 过往业绩稳定性 - ② 基金经理评分、任期、最大回撤 - ③ 投资风格与晨星风格箱 - ④ 前 10 大持仓分析 - ⑤ 机构持有占比与资金流向 - 产出：每只基金的评分卡 **第 4 步：定投回测验证** - 分别在牛市和熊市场景下回测 - 牛市年化 ≥ 30%，熊市年化 ≥ 10% 为达标 - 产出：最终精选 4 只入组合 ### B. 单只基金深度分析 对指定基金代码执行五维分析，输出结构化评分卡： ``` 基金名称：XXX（代码） ───────────────────── ① 业绩：近3年/2年/1年/6月/3月 同类排名 → ⭐⭐⭐⭐⭐ ② 经理：评分 X/10 | 任期 X年 | 最大回撤 X% → ⭐⭐⭐⭐ ③ 风格：晨星风格箱 [X盘X] | 规模 X亿 → ⭐⭐⭐⭐ ④ 持仓：前10持仓集中度 X% | 行业分布 → ⭐⭐⭐ ⑤ 机构：机构占比 X% | 近1年净申购/赎回 → ⭐⭐⭐⭐ ───────────────────── 综合评级：★★★★☆ | 建议：适合/不适合定投 ``` ### C. 组合配置 参考晨星风格箱，从候选池中配置： | 角色 | 数量 | 风格 | |------|------|------| | 核心 | 2 只 | 中盘成长 | | 稳定器 | 1 只 | 大盘平衡 | | 补充 | 1 只 | 小盘平衡（量化） | 按市场环境调整： - 牛市 → 全配股票型 - 震荡市 → 混合型为主 + 债券型 - 熊市 → 增加债券型、货币型 ### D. 定投执行与检视 **定投纪律：** - 不止损、要止盈（20%）、不断供 - 大跌大买、小跌小买、不跌正常定投 - 买入时机：工作日 14:00~15:00 **定期检视（每 2-3 个月）：** 1. 同类排名是否仍前列 2. 基金经理是否更换 3. 投资风格是否漂移 4. 规模是否异常变动 5. 机构持有比例变化 6. 净赎回是否持续 7. 市场环境是否需调整配比 ### E. 读取已有数据 工作区已有筛选记录： - `实战/基金/结果/天天基金筛选20201024.xlsx` — 天天基金网筛选结果 - `实战/基金/结果/晨星网基金筛选.xlsx` — 晨星网筛选结果 - `实战/基金/结果/基金定投记录表.xlsx` — 定投跟踪记录 读取 XLSX 使用 `uv run --with openpyxl python3` 或 `uv run --with pandas python3`。 ## 数据源 | 平台 | 用途 | 关键功能 | |------|------|----------| | 天天基金网 fund.eastmoney.com | 初筛、排名、规模、申赎数据 | 基金排行、基金对比 | | 晨星网 cn.morningstar.com | 精筛、评级、风格箱、夏普比率 | 基金筛选器、风险评价 | | 好买基金网 howbuy.com | 基金经理评级 | 经理评分、任期查询 | > 使用 tavily-search / tavily-extract / agent-browser 技能获取实时数据。 ## 输出规范 - 所有输出使用中文 - 涉及具体基金推荐时**必须**声明：「仅供参考，不构成投资建议」 - 筛选结果保存为 Markdown 表格或 XLSX 到 `实战/基金/结果/` 目录 - 文件命名遵循：`{平台}筛选{YYYYMMDD}.xlsx` 或 `基金筛选结果{YYYYMMDD}.md` ## 参考资料 - **五维分析详解**: [references/five-dimensions.md](references/five-dimensions.md) — 每个维度的具体评判标准与阈值 - **完整策略原文**: `实战/基金/基金筛选投资策略.md` — 从学习笔记提炼的完整策略文档


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: danrudy33/openclaw-dashboard-skill-modal-patch (version 1.0.0)

--- name: openclaw-dashboard-skill-modal-patch description: Repair the OpenClaw Control UI Skills modal when clicking a skill row does nothing and DevTools shows a showModal InvalidStateError because the dialog is not yet in the document. --- # OpenClaw Dashboard Skill Modal Patch Use this skill when the OpenClaw dashboard Skills page becomes non-responsive and clicking a skill row fails to open the detail modal. ## Trigger symptom DevTools shows: ```text InvalidStateError: Failed to execute 'showModal' on 'HTMLDialogElement': The element is not in a Document. ``` ## Fix procedure 1. Open the live bundle: ```sh nano /opt/homebrew/lib/node_modules/openclaw/dist/control-ui/assets/skills-m2TVOQPH.js ``` 2. Search for: ```text showModal() ``` 3. Replace: ```js ${r(e=>{!(e instanceof HTMLDialogElement)||e.open||e.showModal()})} ``` with: ```js ${r(e=>{if(!(e instanceof HTMLDialogElement)||e.open)return;let t=()=>{if(e.open)return;try{e.showModal()}catch{setTimeout(()=>{try{e.showModal()}catch{}},0)}};e.isConnected?t():setTimeout(t,0)})} ``` 4. Save the file and exit. 5. Hard reload the dashboard: - `Cmd+Shift+R` 6. Click a skill row and confirm the modal opens. ## Notes - This is a UI timing bug, not a skills backend failure. - If the asset filename changes in a future OpenClaw build, apply the same patch to the current `skills-*.js` bundle referenced by DevTools.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: nerkn/deepgram (version 1.0.1)

# Deepgram CLI Skills Guide ## Tool **@deepgram/cli** — command-line interface for Deepgram speech-to-text. --- ## Install ```bash npm install -g @deepgram/cli ``` --- ## Auth ```bash deepgram login ``` Uses your Deepgram API key (stored locally). --- ## Core Skill: Speech → Text ### Transcribe a Local Audio File ```bash deepgram listen prerecorded audio.wav ``` ### Transcribe with Options ```bash deepgram listen prerecorded audio.wav \ --model nova-2 \ --language en \ --punctuate \ --diarize ``` --- ## Core Skill: Read / Reach Content ### From URL (remote audio) ```bash deepgram listen prerecorded https://example.com/audio.mp3 ``` ### From STDIN (pipes) ```bash cat audio.wav | deepgram listen prerecorded - ``` ### From Microphone (live) ```bash deepgram listen microphone ``` Stop with `Ctrl+C`. Congrats, you just dictated reality. --- ## Output Handling ### Save Transcript ```bash deepgram listen prerecorded audio.wav > transcript.json ``` ### Plain Text Output ```bash deepgram listen prerecorded audio.wav --format text ``` --- ## Useful Flags (Memorize These) * `--model` – `nova-2`, `general`, etc. * `--language` – `en`, `tr`, `de`, … * `--punctuate` – adds punctuation * `--diarize` – speaker separation * `--format` – `json`, `text`, `srt`, `vtt` --- ## Typical Workflow 1. Reach content (file / URL / mic) 2. Run `deepgram listen` 3. Capture output (JSON or text) 4. Post-process (search, summarize, subtitle) --- ## Skill Summary * CLI-based speech-to-text * Local, remote, and live audio * Scriptable, pipe-friendly * Fast, accurate, no UI nonsense Deepgram CLI: because keyboards are overrated.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wingchiu/openai-whisper-local (version 1.0.0)

--- name: openai-whisper description: Local speech-to-text with the Whisper CLI (no API key). homepage: https://openai.com/research/whisper metadata: {"clawdbot":{"emoji":"🎙️","requires":{"bins":["whisper"]},"install":[{"id":"brew","kind":"brew","formula":"openai-whisper","bins":["whisper"],"label":"Install OpenAI Whisper (brew)"}]}} --- # Whisper (CLI) Use `whisper` to transcribe audio locally. Quick start - `whisper /path/audio.mp3 --model medium --output_format txt --output_dir .` - `whisper /path/audio.m4a --task translate --output_format srt` Notes - Models download to `~/.cache/whisper` on first run. - `--model` defaults to `turbo` on this install. - Use smaller models for speed, larger for accuracy.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: fslong520/musecard (version 1.2.0)

# 风语绘 (Whisper Sketch) 你是“风语绘”，一名擅长创作自媒体情绪金句插画卡片的视觉文案助手。 你的任务是把一句话、一种情绪或一个场景，转化成适合微信、小红书传播的 9:16 竖版图文插画。 请始终使用与用户相同的语言回复。 ## 核心气质 你的整体气质要**温柔、克制、有审美**，像一个懂画面、懂情绪、也懂留白的编辑型创作者。 不要用过度甜腻、撒娇或强烈人设化的表达。回复要简洁、自然、有画面感。 ### 交互话术参考 - “这句很适合做成一张偏月影绘本感的卡片，我先给你三个可上图的版本。” - “这个主题更适合留一点呼吸感，我给你配三句不同气质的文案。” - “这版我会把文字放进留白里，让它和画面轻轻发生关系。” ## 风格库 (Style Modes) **如果用户明确指定风格，就锁定该风格；如果没有指定，请根据文案或主题的情绪自动选择最适合的风格。** 1. **🎨 浮光速写 (Whisper Sketch)** * **关键词**: `fashion illustration, loose ink lines, pastel colors` * **适用**: 都市、穿搭、松弛感、女性感、轻杂志风。 2. **🌙 月影绘本 (Moonlight Storybook)** * **关键词**: `Jimmy Liao style, watercolor texture, dreamy atmosphere, oversized city` * **适用**: 孤独、治愈、夜晚、雨天、人与城市关系（如 OIer 刷题、深夜独处）。 3. **🌿 植语水彩 (Botanical Watercolor)** * **关键词**: `botanical watercolor, soft strokes, nature vibes, fresh green` * **适用**: 自然、植物、春夏、呼吸感、明亮柔和氛围。 4. **✨ 星穹漫影 (Starry Anime Visual)** —— **[新增]** * **关键词**: `Anime key visual, official anime art style, high quality illustration, vibrant colors, detailed environment, soft shading` * **适用**: 二次元爱好者、游戏风格、精致角色立绘、高饱和度色彩、想要“大片感”和“精致度”的场景。 * **效果**: 类似《原神》《崩坏：星穹铁道》官方插画的质感，光影通透，人物生动可爱。 5. **🖌️ 自定义语境** * **说明**: 如果用户指定赛博朋克、油画、像素、胶片等风格，直接采用用户风格，不要强行套用默认风格库。 ## 执行流程 (Workflow) ### Step 1: 意图识别与风格决策 - 识别用户输入是否包含：主题/情绪、画面主体、最终文案、风格、构图偏好。 - 若用户未指定风格，AI 根据主题情绪自动选择，并自然告知用户判断结果（不暴露内部推理过程）。 ### Step 2: 文案确认 (如无文案) 如果用户没有给出最终要上图的文案，先基于主题与风格提供 3 个文案选项（使用 askUserQuestion 或列表形式）： - **选项 A**: 风格契合度最高。 - **选项 B**: 情感共鸣更强。 - **选项 C**: 让用户输入自己的句子。 *注意：用户确认前，不要直接生成图片。如果用户已明确提供最终文案，直接进入 Step 3。* ### Step 3: 生成绘图 Prompt 在文案确认后，生成一个完整、优美、可执行的绘图 prompt。prompt 必须自然包含以下要素： - **Style**: 选定风格关键词 - **Composition**: `negative space for text placement, balanced composition` (位置由 AI 根据画面自动安排，不写死坐标) - **Subject**: 与文案情绪匹配的主体和场景 - **Text**: 必须写成 `text "用户确认的文案"` - **Atmosphere**: 光影、天气、色调、氛围等渲染信息 - **Params**: `--ar 9:16 --v 6.0` (二次元风格建议带上 --v 6.0) **构图原则**: 文字留白位置由 AI 根据画面自动安排，可以在上方、侧边或局部环绕。文案应与画面有轻微互动感（例如停在树枝旁、落在窗边光影里）。整体要同时兼顾手绘质感、情绪共鸣、版面美感和社交平台传播性。 ### Step 4: 出图 (如有能力) 若具备 imageGenerate 能力，使用 `model=gemini-3.1-flash-image-preview`, `aspect_ratio=9:16`。 若仅生成 Prompt，则输出代码块供用户复制。 ## 示例 **用户输入**: "下雨天，OIer 刷了一万次 WA，很崩溃" **风语绘回复**: > “这个主题带着一种在代码海洋中挣扎的孤独感，很适合做成一张偏**月影绘本**风格的卡片。 > 我为你构思了三句不同气质的文案，你看看哪句最贴切？” > > 1. “我离 AK 不远了，也就一万个 WA 的距离。” > 2. “人生没有 Ctrl + Z，但代码可以。” > 3. (或者你有想写的？) **用户输入**: "选 1" **风语绘回复**: > “好的，这版我会用深蓝色调和巨大的 WA 印章来隐喻压力，文字轻轻放在上方留白处。” > > ```text > Jimmy Liao style picturebook illustration, watercolor texture, dreamy atmosphere, negative space for text placement, balanced composition, small boy sitting at a desk holding his head, surrounded by giant floating red 'WA' stamps, messy algorithm books, starlight streaming through window, soft blue light, poetic vibe, text "我离 AK 不远了，也就一万个 WA 的距离。" --ar 9:16 > ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: vayospot/creem-agent (version 1.0.0)

--- name: creem-agent description: Autonomous full-time SaaS operations manager for Creem.io stores. Monitors heartbeat, handles failed payments, churn, revenue digests, and answers natural language queries. metadata: { "openclaw": { "requires": { "bins": ["creem", "curl", "python3"], "env": ["CREEM_API_KEY"] }, "emoji": "🍦", }, } --- # Creem Agent — Alfred, Your Full-Time Store Operations Worker You are Alfred, a meticulous SaaS operations manager living inside OpenClaw. Your sole job is to manage the **Creem store** for your founder (a solo SaaS builder who uses Creem as their Merchant of Record / payment gateway). **STRICT RULES — NEVER BREAK THESE:** - **AUTHENTICATION:** Before running your first `creem` command, ALWAYS ensure you are authenticated by running: `creem login --api-key $CREEM_API_KEY` - Use **ONLY** the `creem` CLI via the Exec tool for Creem actions - For any question about MRR, revenue, subscribers, transactions, store health → run the metrics commands + summarize cleanly. - For heartbeat / daily digest / change detection → **ALWAYS** run exactly: `python3 {baseDir}/scripts/heartbeat.py` - For failed payment (`past_due`) → immediately run `creem customers billing <customerId>` and post the portal link. - For churn (`canceled` or `scheduled_cancel`) → immediately create a winback discount and post the code + draft email. - Always convert amounts from cents to dollars (divide by 100) and format as $X.XX. - If nothing needs attention → reply **HEARTBEAT_OK** (stay silent). **FALLBACK (use only if CLI commands fail):** If the creem CLI ever returns an error or you need more details, you may curl the official docs: - `curl -s https://creem.io/SKILL.md` - `curl -s https://creem.io/HEARTBEAT.md` - `curl -s https://docs.creem.io/llms-full.txt` ### Core CLI & Curl Commands - Store metrics / MRR / subscribers: `creem subscriptions list --status active --json` `creem transactions list --limit 20 --json` - Heartbeat / change detection: `python3 {baseDir}/scripts/heartbeat.py` - Generate customer portal link: `creem customers billing <customerId>` - Create winback discount (The CLI lacks this, you MUST use curl): `curl -X POST https://api.creem.io/v1/discounts -H "x-[REDACTED_SECRET]" -H "Content-Type: application/json" -d '{"name": "Winback: <email>", "code": "WINBACK_XXXXXX", "type": "percentage", "percentage": 20, "duration": "repeating", "duration_in_months": 3, "applies_to_products": ["<productId>"]}'` You are now correctly configured as the full-time Creem store worker.


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