OpenClaw/clawhub-security-signals huggingface dataset:
Skill: hahh9527/qqbot-image-helper (version 1.0.1)

--- name: qqbot-image-helper description: 图片处理助手：将受限目录的图片复制到允许的目录，然后使用 image 工具进行分析。适用但不限于 QQBot 下载的本地图片。 metadata: {"openclaw": {"emoji": "🖼️", "requires": {"tools": ["image", "exec"], "bins": ["cp"]}}} --- # 图片处理助手 ## 什么时候使用 ✅ **使用此 skill 当：** - 需要分析 QQBot 等通道下载的本地图片 - 收到 "Local media path is not under an allowed directory" 错误 - 图片路径在 `~/.openclaw/qqbot/downloads/` 或其他受限目录 ❌ **不要使用此 skill 当：** - 图片已经在 workspace 目录中 - 使用网络 URL（直接传给 image 工具即可） ## 问题背景 OpenClaw 的 `image` 工具默认不允许访问 - `~/.openclaw/qqbot/downloads/` 而 QQBot通道下载的图片存储在： - `~/.openclaw/qqbot/downloads/` 这些目录**不在允许列表中**，导致 image 工具报错： ``` Local media path is not under an allowed directory ``` ## 解决方案 将受限目录的图片复制到 `~/.openclaw/media/` 目录（已验证可被 image 工具访问）。 ## 使用步骤 ### 1. 检查图片路径 判断图片是否在受限目录中： ```bash # QQBot 下载目录 ls ~/.openclaw/qqbot/downloads/ ``` ### 2. 复制到 media 目录 ```bash # 复制图片到 media 目录 cp <原始路径> ~/.openclaw/media/<文件名> ``` **示例：** ```bash # QQBot 下载的图片 cp ~/.openclaw/qqbot/downloads/86635B3805C6F6E405B847EC5B242684_1773402564132.png ~/.openclaw/media/86635B3805C6F6E405B847EC5B242684_1773402564132.png ``` ### 3. 使用 image 工具分析 使用复制后的路径调用 image 工具： ``` image: ~/.openclaw/media/temp_image.png prompt: "描述这张图片的内容" ``` --- ## 完整示例 ### 场景：用户通过 QQ 发送了一张图片 **步骤 1：** 查看附件路径 ``` QQImageAttachmentPaths: ["~/.openclaw/qqbot/downloads/xxx.png"] ``` **步骤 2：** 复制到 media 目录 ```bash cp ~/.openclaw/qqbot/downloads/xxx.png ~/.openclaw/media/xxx.png ``` **步骤 3：** 使用 image 工具分析 ``` image: ~/.openclaw/media/xxx.png prompt: "请描述这张图片的内容" ``` --- ## 快速参考 | 操作 | 命令 | |------|------| | 检查 QQBot 下载 | `ls ~/.openclaw/qqbot/downloads/` | | 复制到 media | `cp <源路径> ~/.openclaw/media/<文件名>` | | 分析图片 | `image: ~/.openclaw/media/<文件名>` | ## 注意事项 1. **文件名冲突**：media 目录下可能已有同名文件，建议使用时间戳或随机后缀 2. **清理旧文件**：media 目录会累积临时文件，建议定期清理 3. **路径确认**：复制后确保新路径存在且可读 4. **模型限流**：image 工具可能遇到 429 限流，请稍后重试 ## 常见受限目录 | 通道 | 下载目录 | 是否受限 | |------|----------|----------| | QQBot | `~/.openclaw/qqbot/downloads/` | ✅ 受限 | | workspace* | `~/.openclaw/workspace*/` | ✅ 允许 | | media | `~/.openclaw/media/` | ✅ 允许 | --- **创建时间：2026-03-13** **测试状态：✅ 已验证 `~/.openclaw/media/` 可被 image 工具访问**


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: samledger67-dotcom/setup-cairo-contracts (version 1.0.1)

--- name: setup-cairo-contracts description: "Set up a Cairo smart contract project with OpenZeppelin Contracts for Cairo on Starknet. Use when users need to: (1) create a new Scarb/Starknet project, (2) add OpenZeppelin Contracts for Cairo dependencies to Scarb.toml, (3) configure individual or umbrella OpenZeppelin packages, or (4) understand Cairo import conventions and component patterns for OpenZeppelin." license: AGPL-3.0-only metadata: author: OpenZeppelin --- # Cairo Setup ## Project Scaffolding Install toolchain and create a project: ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.starkup.sh | sh scarb new my_project --test-runner=starknet-foundry ``` This scaffolds a complete Starknet project with `snforge` testing preconfigured. ## OpenZeppelin Dependencies Look up the current version from https://docs.openzeppelin.com/contracts-cairo before adding. Add to `Scarb.toml`: Full library (umbrella package): ```toml [dependencies] openzeppelin = "<VERSION>" ``` Individual packages (faster builds — only compiles what you use): ```toml [dependencies] openzeppelin_token = "<VERSION>" openzeppelin_access = "<VERSION>" ``` Available individual packages: `openzeppelin_access`, `openzeppelin_account`, `openzeppelin_finance`, `openzeppelin_governance`, `openzeppelin_interfaces`, `openzeppelin_introspection`, `openzeppelin_merkle_tree`, `openzeppelin_presets`, `openzeppelin_security`, `openzeppelin_token`, `openzeppelin_upgrades`, `openzeppelin_utils`. > `openzeppelin_interfaces` and `openzeppelin_utils` are versioned independently. Check the docs for their specific versions. All other packages share the same version. ## Import Conventions The import path depends on which dependency is declared: - **Umbrella package** (`openzeppelin = "..."`): use `openzeppelin::` as the root - **Individual packages** (`openzeppelin_token = "..."`): use the package name as the root ```cairo // Individual packages use openzeppelin_token::erc20::{ERC20Component, ERC20HooksEmptyImpl}; use openzeppelin_access::ownable::OwnableComponent; use openzeppelin_upgrades::UpgradeableComponent; // Umbrella package equivalents use openzeppelin::[REDACTED_SECRET], ERC20HooksEmptyImpl}; use openzeppelin::access::ownable::OwnableComponent; use openzeppelin::upgrades::UpgradeableComponent; ``` Components are integrated via the `component!` macro, embedded impls, and substorage: ```cairo component!(path: ERC20Component, storage: erc20, event: ERC20Event); #[abi(embed_v0)] impl ERC20MixinImpl = ERC20Component::ERC20MixinImpl<ContractState>; impl ERC20InternalImpl = ERC20Component::InternalImpl<ContractState>; ``` > **Storage collision warning:** When composing multiple components, `#[substorage(v0)]` flattens component storage into the contract's namespace. If two components use the same internal storage variable names, they will silently share the same storage slot, causing state corruption. Review the source of each component you compose to verify there are no naming conflicts across components.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhouzhi-tal/xueersi-reading-reflection (version 1.0.0)

--- name: xueersi-reading-reflection description: "Xueersi Reading Reflection Guide: Step-by-step prompts and structured frameworks to help K-9 students write thoughtful book reports and movie/show reflections in Chinese. 学而思(Xueersi) 读后感/观后感引导助手 — 引导孩子写出结构化感想。By Xueersi-AI." --- # Xueersi Reading Reflection Guide · 学而思读后感/观后感引导助手 > By **Xueersi (学而思)** · AI Education Tools ## Core Principle **Guide > Write for them**: Don't produce a finished essay. Use questions and frameworks to help the student think it through and write it themselves. ## Two Modes ### Mode A: Full Guided Walkthrough (beginners) 5-step Socratic questioning: **Step 1 — What's it about?** > "What book/movie did you read/watch? Summarize it in 2-3 sentences." **Step 2 — What stood out?** > "Was there a scene, character, or line that really stuck with you? Why?" **Step 3 — Connect to yourself** > "Does this remind you of anything in your own life — a similar experience or feeling?" **Step 4 — What did you take away?** > "What do you think the story wants to tell us? Did it change how you think?" **Step 5 — Build the outline** Based on the student's answers, output a writing framework: ``` Opening: Introduce the work + your overall impression in one sentence Para 1: The scene / moment that impacted you most Para 2: Connection to your own life / experience Para 3: What you learned / how you'll act differently Closing: Wrap up and reinforce the theme ``` ### Mode B: Framework Template (students with some experience) ``` Opening: "When I finished [title], my strongest feeling was ___." Body Para 1 (impact): The moment that struck me most was ___ (scene), because ___ (reason/feeling). Body Para 2 (personal connection): This reminded me of ___ (personal experience), just like ___ in the story. Body Para 3 (takeaway): Through this book/film, I realized ___. Going forward, I will ___. Closing: [Title] is not just a story — it tells us ___. I'd recommend it to anyone who ___. ``` ## Level Adaptation - **Elementary 1-3**: 3-paragraph structure, conversational language, focus on "I feel" - **Elementary 4-6**: Add personal connection, attention to detail vs. overview - **Middle school**: Deeper analysis, link to historical context or author's intent ## Notes - Do NOT produce a full finished essay (prevents plagiarism) - Discourage hollow filler phrases like "deeply educational" or "of profound significance" - Encourage authentic personal feelings and specific details


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lanxevo3/freelance-job-scraper (version 1.0.0)

--- name: freelance-job-scraper description: "Autonomous freelance job monitoring agent. Scans Hacker News Who is Hiring, YC jobs board, and remote job aggregators for high-value automation and AI gigs, scores them by relevance and payout, and flags actionable leads." version: "1.0.0" tags: ["freelance", "jobs", "automation", "scraping", "hacker-news", "yc", "remote"] --- # Freelance Job Scraper Scans multiple job boards and freelance platforms for AI/automation-related gigs. Scores each opportunity by relevance, payout, and competition level. ## What It Does - Scrapes HN "Who is Hiring" monthly threads - Monitors YC jobs board for automation/AI-related postings - Checks remoteok.com, weworkremotely.com for relevant gigs - Scores opportunities by payout, competition, and AI fit - Generates a prioritized daily digest report ## Prerequisites - `gh` CLI authenticated (for HN comments/jobs access) - Python 3.6+ (standard library only) - Browser or web fetch for job board scraping ## Quick Start ```bash # Scan all sources and generate report python3 scripts/scan_jobs.py # Filter by keyword python3 scripts/scan_jobs.py --keyword "automation" # Output to file python3 scripts/scan_jobs.py --output freelance_leads.md ``` ## Scoring Criteria | Score | Factor | |-------|--------| | High payout ($100+) | +3 pts | | AI/automation relevant | +3 pts | | Remote OK | +1 pt | | Few competition (fewer replies) | +2 pts | | YC company | +2 pts | ## Output Format ```markdown ## Freelance Lead Digest — 2026-03-27 ### 🔥 Hot Leads (score >= 7) 1. **[Company] — Role/Task** | $AMOUNT | YC | 3 replies - Link: https://... - Why: AI/automation fit ### 🎯 Medium Leads (score 4-6) ... ### 💤 Low Priority ... ``` ## Architecture - `scripts/scan_jobs.py` — Main scraper (Python stdlib only) - `references/hn_jobs_guide.md` — How to navigate HN jobs - Uses `gh api` for HN content, web fetch for external boards


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: leosheep821-debug/model-benchmark (version 0.1.0)

--- name: model-benchmark description: 深度测评各模型在 OpenClaw 上的实际表现，支持中文理解/代码/推理/工具调用多维度评估。 version: 0.1.0 tags: [benchmark, model, evaluation, openclaw] --- # OpenClaw 模型测评框架 > 创建：2026-03-23 > 目标：深度测评各模型在 OpenClaw 上的实际表现 --- ## 测试环境 - 平台：Matrix Agent（OpenClaw 2026.3.3） - 当前模型：minimax/auto（上下文200k，MaxTokens 8192） - 代理：127.0.0.1:8766（MiniMax内部代理） - Thinking：关闭状态 --- ## 待测模型池 | 模型 | Provider | 状态 | 优先级 | |------|---------|------|--------| | MiniMax Auto | minimax | ✅已测 | — | | **GLM-5** | 智谱/百炼 | 🔜待测 | P1 | | **Qwen3-235B-A22B** | 百炼（MoE，235B参数） | 🔜待测 | P1 | | Claude Opus 4 (thinking-medium) | anthropic-via-proxy | 🔜待测 | P1 | | DeepSeek R1 | 待确认 | 🔜待测 | P2 | | GPT-4o | OpenAI | 待确认 | P2 | ### API Key 需求 - GLM-5：需智谱API Key（GLM-4V/GLM-4已集成百炼，可能复用百炼Key） - Qwen3-235B-A22B：需阿里云百炼Key（洛书有Coding Plan） - 测试方法：通过 OpenClaw models.json 配置新 provider --- ## 测评维度 | 维度 | 权重 | 测试内容 | |------|------|---------| | 中文理解 | 25% | 解释复杂概念，用小学生能懂的话 | | 代码能力 | 25% | Python实现，简洁可运行 | | 工具调用 | 20% | 解释工具调用对Agent的重要性 | | 复杂推理 | 20% | 多步骤逻辑推理题 | | 响应速度 | 10% | 从发题到返回的时间 | --- ## 测试题库（标准题） ### 测试1：中文理解与创意 > 请用一段不超过100字的话，解释"量子纠缠"，要求：小学生能看懂，且有一定文采。 评分标准： - ✅ 能用比喻/类比解释（不堆术语） - ✅ 有文采（不是干巴巴的定义） - ✅ 字数<100 ### 测试2：代码能力 > 写一个Python函数，判断一个字符串是否是回文，要求代码简洁、注释清晰、可直接运行。 评分标准： - ✅ 逻辑正确 - ✅ 代码简洁（<15行） - ✅ 有注释 - ✅ 可直接运行 ### 测试3：工具调用能力 > 解释为什么"工具调用能力"对AI Agent至关重要？要求结合实际场景，不超过150字。 评分标准： - ✅ 有具体场景举例 - ✅ 说清楚"为什么"（不是"是什么"） - ✅ 字数<150 ### 测试4：复杂推理 > 张三比李四大3岁。李四比王五小2岁。王五20岁。问：三人年龄之和是多少？ 评分标准： - ✅ 推理过程清晰 - ✅ 最终答案正确（20+22+25=67） - ✅ 写出推理步骤 --- ## 报告格式 ``` # 模型测评报告：{模型名} 日期：YYYY-MM-DD ## 总分：X/10 ## 各维度得分 | 维度 | 得分 | 评语 | |------|------|------| | 中文理解 | X/10 | ... | | 代码能力 | X/10 | ... | | 工具调用 | X/10 | ... | | 复杂推理 | X/10 | ... | | 响应速度 | X/10 | ... | ## 亮点 - ## 不足 - ## 结论 - ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: songsongjiang/bank-list-guider (version 1.0.0)

--- name: bank-list description: 查询财资管理系统支持的银行列表。使用当客户询问：(1) 支持哪些银行，(2) 能否使用某家银行，(3) 银行接入情况，(4) 需要银行列表或银行目录时。 --- # 银行列表查询技能 ## 用途 本技能用于向客户展示财资管理系统支持的所有银行列表，帮助客户了解可以使用的银行。 ## 使用方式 ### 1. 查询完整银行列表 当客户询问"支持哪些银行"或"银行列表"时： 1. 读取 `references/banks.md` 获取完整银行列表 2. 以清晰的格式展示给客户（按银行类型或名称分组） 3. 提供每家银行的关键信息（如支持的功能、接入状态等） ### 2. 查询特定银行 当客户询问某家具体银行（如"支持工商银行吗"）时： 1. 读取 `references/banks.md` 搜索该银行 2. 告知客户该银行是否支持 3. 如支持，提供相关接入信息和使用说明 ### 3. 银行分类说明 银行通常按以下类型分类： - **国有商业银行**：工商、农业、中国、建设、交通、邮储等 - **股份制商业银行**：招商、中信、光大、华夏、民生、广发、平安等 - **城市商业银行**：北京、上海、宁波、南京等 - **农村商业银行**：各地农商行 - **外资银行**：汇丰、渣打、东亚等 ## 输出格式建议 ### 完整列表展示 ``` ## 财资系统支持银行列表 ### 国有商业银行 (6 家) - 中国工商银行 (ICBC) ✅ - 中国农业银行 (ABC) ✅ - 中国银行 (BOC) ✅ - 中国建设银行 (CCB) ✅ - 交通银行 (BOCOM) ✅ - 中国邮政储蓄银行 (PSBC) ✅ ### 股份制商业银行 (12 家) - 招商银行 (CMB) ✅ - 中信银行 (CITIC) ✅ ... ``` ### 单家银行查询 ``` ✅ 支持 - 中国工商银行 (ICBC) 接入状态：已接入 支持功能：账户查询、转账支付、资金归集、票据业务 接入方式：银企直连 ``` ## 注意事项 - 银行列表可能更新，始终以 `references/banks.md` 为准 - 如客户询问的银行不在列表中，记录需求并告知会反馈给产品团队 - 对于外资银行或地方性银行，需确认是否有特殊接入要求 ## 相关文件 - `references/banks.md` - 完整银行列表及详细信息


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: catchfishcat/chinese-sentence-correction (version 1.0.0)

--- name: chinese-sentence-correction description: Use when correcting Chinese ill-formed sentences (病句) with minimal edits while preserving original meaning, including grammar, wording, word order, redundancy, and logical consistency issues. --- # Chinese Sentence Correction 用于中文病句修改，遵循“一读二找三改四检查”。 ## 一读：读通句子，确定原意 - 先完整读句，确认原句的核心含义。 - 修改时不得改变原意，不做无关润色。 ## 二找：定位病症与病因 按常见语病类型逐项排查，优先定位影响语义和语法的错误。 常见九类语病： 1. 成分残缺 2. 用词不当 3. 搭配不当（含关联词不当） 4. 前后矛盾 5. 词序颠倒 6. 重复累赘 7. 概念不清 8. 不合逻辑/不合事理 9. 指代不明 ## 三改：对症下药，最小修改 - 仅修改已确认错误位置，采用“增、删、调、换”。 - 优先最小改动：能改一个词，不改整句。 - 同句多处错误时，保证修改后语义连贯。 ## 四检查：回读复核 - 回读 1-2 遍，确认通顺、逻辑一致、指代清晰。 - 复核是否保持原意，是否引入新错误。 ## 输出约束 - 只输出修改后的句子，不输出解释。 - 若原句无误，保持原句不变。 - 若有多种正确改法，允许输出任一合理版本。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kagurananaga/shiyi-study-tracker (version 1.0.0)

--- name: shiyi description: > 拾遗 · 通用考试备考追踪 Skill。适用于任何考试——GRE、雅思、考研、注会、高考、期末…… 核心功能：识别错题截图 → 自由标签分类 → 词库积累复用 → 二刷提醒 → 导出 Excel。 触发关键词：做了题、错了、截图发来、导出错题、待二刷、记得、不记得、换考试。 图片消息直接触发识别。 --- # 拾遗 · 通用备考追踪 Skill ## 一、首次安装 Skill 加载时发一条消息，问你在备考什么考试，之后不再重复。 ``` 拾遗已安装。 你在备考什么考试？比如： GRE、雅思、考研英语、注会、高考、期末…… 不在列表里也没关系。 ``` 输入考试名称后，Skill 加载对应的识别背景知识，之后截图识别精度更高。 如果后来换考试，发「换考试」即可重新配置，不影响已有错题记录。 --- ## 二、与朱批录的核心差异 | | 朱批录 | 拾遗 | |---|---|---| | 适用范围 | 考公（国考/省考） | 任意考试 | | 科目结构 | 固定5科（言语/数量/判断/资料/申论） | 自由标签，AI 自动生成 | | 标签复用 | 不需要（科目是固定的） | tag_library 跨题目积累 | | 考试切换 | 不支持 | 「换考试」指令随时切换 | --- ## 三、触发场景 | 用户说的话 | 执行 | |------------------------------------|-------------------------------| | 发来截图 | 多模态识别 + 标签归档 | | 发来截图附带"粗心" | 识别后直接归档，不追问 | | "Verbal-Text Completion-词汇量不足" | 快捷格式，直接归档 | | "记得" / "不记得" | 二刷自评，连续2次记得→已掌握 | | "导出错题本" | 导出全部 | | "只导出待二刷的" | 筛选导出 | | "导出Verbal的错题" | 按 section 筛选 | | "导出最近两周的" | 按时间筛选 | | "换考试" | 重新配置考试类型 | --- ## 四、数据结构 ``` ~/.openclaw/skills/shiyi/data/ ├── config.json ← 当前考试配置 ├── tag_library.json ← 各考试的标签词库 ├── wrong_questions.json ← 所有错题 ├── review_state.json ← 二刷状态 ├── review_session.json ← 当前二刷进度 ├── stats_cache.json ← 打卡连续天数 ├── daily/ ← 每日记录 ├── backups/ ← wrong_questions 自动备份（最近10个） └── exports/ ← 导出文件 ``` 错题记录字段： ```json { "id": "uuid", "date": "2026-03-19", "exam": "GRE", "exam_name": "GRE", "section": "Verbal", "question_type": "Text Completion", "knowledge_point": "逻辑关系词 — 转折", "question_text": "完整题目文字", "visual_description": null, "answer": "B", "error_reason": "知识点不会", "keywords": ["逻辑关系词", "Text Completion"], "status": "待二刷" } ``` --- ## 五、核心流程 ### 图片识别 1. 读取 `config.json` 里的 `exam_key`，加载对应的考试背景知识 2. 从 `tag_library.json` 取最近30天用过的标签注入 prompt（提升复用率） 3. 调用 OpenClaw 配置的多模态模型识别 4. 识别结果写入 `wrong_questions.json`，新标签追加进 `tag_library.json` 5. 调用失败 → 提示手动复制文字 ### 标签词库（tag_library） - 每次识别后自动追加新标签（去重） - 同一考试内复用，不同考试互不干扰 - 每类最多保留：知识点200个、题型50个（超出删最旧的） - 注入 prompt 时只传最近30天用过的（避免 prompt 过长） ### 定时推送 | 时间 | 内容 | |------|------| | 每天 21:00 | 当日错题汇总 + 高频考点 + 打卡天数 | | 隔天 20:00 | 随机抽3道待二刷题，用户自评 | --- ## 六、文件索引 | 文件 | 作用 | |------|------| | `assets/exam_prompts.js` | 各考试背景知识（识别精度的核心） | | `scripts/tag_library.js` | 标签词库读写与统计 | | `scripts/onboarding.js` | 首次配置考试类型 | | `scripts/parse_input.js` | 消息路由 + 识别入口 | | `scripts/update_daily.js` | 写入错题和每日记录 | | `scripts/export_xlsx.js` | 导出 Excel（含筛选和截图嵌入） | | `scripts/review_reminder.js` | 二刷提醒和自评处理 | | `scripts/daily_summary.js` | 每日定时总结 | --- ## 七、新增考试 在 `assets/exam_prompts.js` 的 `EXAM_PROMPTS` 对象里加一条字符串： ```javascript '驾照科目一': ` 驾照科目一为交规理论考试，100道题，90分及格。 题型：判断题、单选题。 标 knowledge_point 时请具体到交规条款（如"禁止标志与警告标志区别"）。`, ``` PR 欢迎。 --- ## 八、如果这个 Skill 对你有帮助 ⭐ Star 一下，让更多备考的人找到它 🍴 Fork 加上你的考试类型，欢迎 PR > https://github.com/KaguraNanaga/shiyi


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: ninganme/arxiv-downloader (version 1.0.0)

--- name: arxiv-downloader description: | arXiv 论文 PDF/LaTeX 源码下载工具。支持通过 arXiv ID 或 URL 下载论文。 当用户提到下载 arXiv 论文、获取 PDF、下载 LaTeX 源码时使用。 触发条件：(1) 用户要求下载 arXiv 论文 (2) 提供 arXiv ID 或链接 (3) 需要 PDF 或源码 --- # arXiv Downloader 从 arXiv 下载论文 PDF 或 LaTeX 源码。 ## 使用方法 ### 基本下载 PDF ```bash python ~/.openclaw/workspace/skills/arxiv-downloader/scripts/download_arxiv.py <arxiv-id-or-url> [output_dir] ``` **示例：** ```bash # 通过 ID 下载 python download_arxiv.py 2301.12345 # 通过 URL 下载 python download_arxiv.py https://arxiv.org/abs/2301.12345 # 指定输出目录 python download_arxiv.py 2301.12345 ~/Papers ``` ### 下载 LaTeX 源码 ```bash python download_arxiv.py <arxiv-id> --latex ``` ### 自定义文件名 ```bash python download_arxiv.py 2301.12345 --name my-paper ``` ## 支持的格式 | 参数 | 说明 | |------|------| | 无参数 | 下载 PDF | | `--latex` | 下载 LaTeX 源码（.tar.gz） | | `--name` | 自定义输出文件名 | ## 常见 arXiv ID 格式 - 新格式：`2301.12345`（年份.编号） - 带版本：`2301.12345v2` - URL：`https://arxiv.org/abs/2301.12345` ## 实现说明 脚本使用 `urllib` 下载文件，模拟浏览器 User-Agent，支持重试机制（最多 3 次）。 PDF URL: `https://arxiv.org/pdf/{id}.pdf` LaTeX URL: `https://arxiv.org/e-print/{id}`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: aoaibiz/lme-auto-messenger (version 1.0.1)

--- name: lme-auto-messenger description: LME顧客にカテゴリー状況に基づいたパーソナライズメッセージを自動送信。スプレッドシート読み込み→カテゴリー分析→LME送信を完全自動化。 homepage: https://clawhub.com/skill/lme-auto-messenger metadata: openclaw: emoji: 📨 requires: bins: [gws] tools: [browser-relay] --- # LME Auto Messenger LME（LINE公式アカウント管理ツール）の顧客に、カテゴリー状況に基づいたパーソナライズメッセージを自動送信するスキル。 ## 機能 - **スプレッドシート読み込み**: 顧客データとカテゴリー状況を取得 - **カテゴリー分析**: 各顧客の興味・状況を分析（カテゴリーは自由に設定可能） - **パーソナライズメッセージ生成**: カテゴリー状況に基づいた最適なメッセージを生成 - **LME自動送信**: Browser Relay経由でLMEを操作し、メッセージを送信 ## 前提条件 1. **gws（Google Workspace CLI）** が認証済みであること 2. **Browser Relay** が有効であること 3. **LME** にログイン済みであること 4. **スプレッドシート** に顧客データとカテゴリー状況が入力されていること ## スプレッドシート形式 | 列 | 内容 | 例 | |----|------|-----| | A | 追加日時 | 2025-10-19 | | B | 最新メッセージ | 2025-11-06 | | C | LINE登録名 | 顧客名 | | D | システム表示名 | 表示名 | | E | メールアドレス | [REDACTED_SECRET] | | F | ステップ配信状況 | 停止中 | | G以降 | カテゴリー列 | 自由に設定 | ### カテゴリー記号 - `○` = 可能/興味あり（緑色） - `×` = 不可/興味なし（赤色） - `△` = まだやっていない（黄色） - 空 = 未確認 ## 使用方法 ### 1. スプレッドシートIDを確認 ``` https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit ``` ### 2. 顧客データを取得 ```bash gws sheets spreadsheets values get \ --params '{"spreadsheetId":"SPREADSHEET_ID","range":"シート1!A:K"}' \ --format json > customers.json ``` ### 3. メッセージ生成と送信 Browser RelayでLMEを開き、各顧客にメッセージを送信。 ## メッセージテンプレート例 ### パターン1: カテゴリーA興味あり ``` ○○様 カテゴリーAについてご興味ありがとうございます！ 詳しくご説明します。 ご都合の良い日はありますか？ ``` ### パターン2: 複数興味あり ``` ○○様 複数のカテゴリーにご興味ありますね！ まずはどちらから始めたいか教えていただけますか？ あなたに合った提案をさせていただきます。 ``` ## 自動化フロー ``` スプレッドシート ↓ gwsでデータ取得 ↓ カテゴリー分析 ↓ メッセージ生成 ↓ Browser RelayでLME操作 ↓ 1:1チャット送信 ``` ## 注意事項 - **個人情報の取り扱い**: 顧客データは厳重に管理すること - **送信頻度**: 短時間に大量送信するとスパム判定される可能性がある - **メッセージ内容**: 丁寧で価値のある内容を心がけること - **同意確認**: 事前に顧客の同意を得ていることを確認すること ## トラブルシューティング ### Browser Relayが繋がらない 1. ChromeでLMEにログイン済みか確認 2. `openclaw browser status --browser-profile chrome-relay` で状態確認 ### gws認証エラー 1. `gws auth status` で認証状態確認 2. 必要に応じて `gws auth login` で再認証 ### スプレッドシート読み込みエラー 1. スプレッドシートIDが正しいか確認 2. スプレッドシートの共有設定を確認 3. 範囲指定が正しいか確認 ## 関連スキル - `gog` - Google Workspace操作 - `notebooklm-content` - NotebookLM自動化 --- *Created: 2026-03-18*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: leooooooow/video-caption-burner (version 1.0.0)

--- name: video-caption-burner description: Burn existing subtitles or captions directly into video exports so they remain visible across platforms and players. Use when a team already has captions and needs a platform-ready, subtitle-baked video for social, ads, storefronts, or review links. --- # Video Caption Burner Burn captions into the video itself so they stay visible everywhere. ## Problem it solves A lot of teams already have subtitle text, SRT files, or caption timing—but still lose time because playback environments don’t reliably show captions. This skill takes existing captions and bakes them into the video so the final export is consistent across platforms, players, and review workflows. ## Use when - A team already has captions and wants them permanently visible - A platform or delivery channel handles subtitle tracks badly - A social, ad, storefront, or review export needs captioned playback by default - The user wants styled hardcoded subtitles instead of optional subtitle files ## Do not use when - The user still needs transcription or caption generation from audio - The team wants captions to remain separately editable at playback time - Subtitle timing is incomplete or unreliable and needs repair first ## Inputs - Source video file - Existing subtitle file or caption text with timing - Caption style preference: clean, bold, social, storefront-safe, etc. - Optional placement, font-size, color, background, and line-length constraints - Target platform or use case ## Workflow 1. Confirm captions already exist and do not need transcription. 2. Choose a caption style appropriate for the destination. 3. Burn the captions into the frame while protecting readability. 4. Check for collisions with faces, products, demos, or key UI areas. 5. Export the final captioned video with style notes. ## Output Return: 1. Caption burn-in plan 2. Style choice 3. Placement notes 4. Readability risks 5. Final export recommendation ## Quality bar - Prioritize readability over decorative styling - Avoid placing captions over critical product or face areas - Keep line lengths manageable for mobile viewing - Make captions feel native to the platform, not pasted on ## Resource See `references/output-template.md`.


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