OpenClaw/clawhub-security-signals huggingface dataset:
Skill: justoneapi/justoneapi-weibo-get-user-detail (version 1.0.0)

--- name: Weibo User Profile API description: Call GET /api/weibo/get-user-detail/v3 for Weibo User Profile through JustOneAPI with uid. author: JustOneAPI homepage: https://api.justoneapi.com metadata: {"openclaw":{"homepage":"https://api.justoneapi.com","primaryEnv":"JUST_ONE_API_TOKEN","requires":{"bins":["node"],"env":["JUST_ONE_API_TOKEN"]},"skillKey":[REDACTED_SECRET]}} --- # Weibo User Profile Use this focused JustOneAPI skill for user Profile in Weibo. It targets `GET /api/weibo/get-user-detail/v3`. Required non-token inputs are `uid`. OpenAPI describes it as: Get Weibo user Profile data, including follower counts, verification status, and bio details, for creator research and account analysis. ## Endpoint Scope - Platform key: `weibo` - Endpoint key: `get-user-detail` - Platform family: Weibo - Skill slug: [REDACTED_SECRET] | Operation | Version | Method | Path | OpenAPI summary | | --- | --- | --- | --- | --- | | `getUserProfileV3` | `v3` | `GET` | `/api/weibo/get-user-detail/v3` | User Profile | ## Inputs | Parameter | In | Required by | Optional by | Type | Notes | | --- | --- | --- | --- | --- | --- | | `uid` | `query` | all | n/a | `string` | Weibo User ID (UID) | Request body: none documented; send parameters through path or query arguments. ## Version Choice Use `getUserProfileV3` for the documented `v3` endpoint. There are no alternate versions grouped in this skill. ## Run This Endpoint Supported operation IDs in this skill: `getUserProfileV3`. ```bash node {baseDir}/bin/run.mjs --operation "getUserProfileV3" --token "$JUST_ONE_API_TOKEN" --params-json '{"uid":"<uid>"}' ``` Ask for any missing required parameter before calling the helper. Keep user-provided IDs, cursors, keywords, and filters unchanged. ## Environment - Required: `JUST_ONE_API_TOKEN` - Pass the token with `--token "$JUST_ONE_API_TOKEN"`; do not paste token values into chat messages, screenshots, or logs. - Get a token from [Just One API Dashboard](https://dashboard.justoneapi.com/en/login?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justoneapi_weibo_get_user_detail&utm_content=project_link). - Authentication details: [Just One API Usage Guide](https://docs.justoneapi.com/en/?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justoneapi_weibo_get_user_detail&utm_content=project_link). ## Output Focus - State the operation ID and endpoint path used, for example `getUserProfileV3` on `/api/weibo/get-user-detail/v3`. - Echo the required lookup scope (`uid`) before summarizing results. - Prioritize fields that support this endpoint purpose: Get Weibo user Profile data, including follower counts, verification status, and bio details, for creator research and account analysis. - Return raw JSON only after the short, endpoint-specific summary. - If the backend errors, include the backend payload and the exact operation ID.


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: ken0521/xiaohongshu-win (version 1.1.0)

--- name: xiaohongshu-win version: "1.1.0" description: | 小红书内容工具 Windows 原生版。 基于 Node.js + Playwright，直接控制本地 Chromium 浏览器， 无需 WSL、无需 Linux 二进制、无需 Python、无需任何外部服务。 核心功能： - 🔍 内容搜索 - 关键词搜索，分析热度排行 - 📊 话题报告 - 自动生成热点分析 Markdown 报告 - 📝 笔记发布 - 帮你写+帮你发图文笔记 - 🔔 定时任务 - 每天自动搜热点（支持 Cron 定时） - 🖼️ 封面生成 - 集成即梦AI生成封面图片 使用场景： - "搜索小红书上关于XX的内容" - "帮我在小红书发一篇笔记" - "小红书XX话题报告" - "跟踪一下小红书上的XX热点" 适用系统：Windows 10/11 (x64)，需要 Node.js 18+ metadata: openclaw: emoji: "📕" author: "ken0521" tags: ["xiaohongshu", "social-media", "automation", "windows"] --- # 小红书 Windows 原生 Skill **技术栈：Node.js + Playwright（Chromium）** 纯 Windows 原生，无跨平台依赖。 ## 🆕 v1.1.0 新功能 - **定时任务** - 支持 Cron 定时自动搜索热点 - **即梦AI集成** - 可直接生成封面图片 - **Browser Relay** - 支持复用本地 Chrome 浏览器 ## 架构 ``` xhs.js ← 命令行入口（所有命令） xhs-core.js ← 核心库（登录/搜索/发布/详情） └── Playwright → 控制本地 Chromium（Windows 原生） └── 小红书 Web（www.xiaohongshu.com） └── 拦截 API 响应（snake_case JSON） ``` **数据存储：** `%USERPROFILE%\.xiaohongshu-win\` **浏览器路径：** `%USERPROFILE%\.xiaohongshu-win\browsers\`（需设置 `PLAYWRIGHT_BROWSERS_PATH`） ## ⚠️ 重要：运行路径限制 由于 Node.js 不支持含中文的路径，**所有命令必须从无中文路径运行**。 推荐工作目录：`C:\Users\<用户名>\.qclaw\workspace\` 脚本文件已同步到 workspace，直接在那里运行： ```powershell $env:PLAYWRIGHT_BROWSERS_PATH = "$env:USERPROFILE\.xiaohongshu-win\browsers" Set-Location "C:\Users\mll-c\.qclaw\workspace" node xhs.js <命令> ``` ## 首次使用 ```powershell # 1. 安装依赖（只需一次，在 workspace 目录） Set-Location "C:\Users\mll-c\.qclaw\workspace" npm install --save playwright # 2. 安装 Chromium（只需一次，约 150MB） $env:PLAYWRIGHT_BROWSERS_PATH = "$env:USERPROFILE\.xiaohongshu-win\browsers" npx playwright install chromium # 3. 登录（弹出浏览器扫码） node xhs.js login # 4. 验证 node xhs.js status ``` > 详细说明见 [references/setup.md](references/setup.md) ## 命令速查 | 命令 | 说明 | |------|------| | `node xhs.js status` | 检查登录状态 | | `node xhs.js login` | 登录（弹出浏览器） | | `node xhs.js search <关键词> [数量]` | 搜索笔记 | | `node xhs.js detail <笔记URL>` | 获取帖子详情和评论 | | `node xhs.js publish` | 交互式发布图文笔记 | | `node xhs.js track <关键词> [数量]` | 生成话题热点报告 | ## 使用示例 ```powershell $env:PLAYWRIGHT_BROWSERS_PATH = "$env:USERPROFILE\.xiaohongshu-win\browsers" cd "C:\Users\mll-c\.qclaw\workspace" # 搜索 qclaw 相关内容 node xhs.js search qclaw 20 # 生成话题报告 node xhs.js track qclaw 10 # 获取帖子详情 node xhs.js detail https://www.xiaohongshu.com/explore/69aee455000000001b016268 # 发布笔记 node xhs.js publish ``` ## 数据存储 | 路径 | 说明 | |------|------| | `%USERPROFILE%\.xiaohongshu-win\cookies.json` | 登录 Cookie | | `%USERPROFILE%\.xiaohongshu-win\browser-profile\` | Chromium 持久化 Profile | | `%USERPROFILE%\.xiaohongshu-win\browsers\` | Playwright Chromium 二进制 | | `%USERPROFILE%\.xiaohongshu-win\search_*.json` | 搜索结果缓存 | | `%USERPROFILE%\.xiaohongshu-win\report_*.md` | 话题报告 | ## 注意事项 - Cookie 有效期约 30 天，过期后重新 `node xhs.js login` - 发布限制：标题 ≤ 20 字，正文 ≤ 1000 字 - 所有操作通过真实 Chromium 浏览器执行，行为与人工一致 - Node.js 路径不能含中文，脚本需在 workspace 目录运行


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: broedkrummen/broedkrummen-overkill-token-optimizer (version 1.0.3)

# Overkill Token Optimizer Token optimization for OpenClaw agents. Reduces token usage through CLI compression, session management, and memory optimization. ## Prerequisites **Required:** `oktk` CLI must be installed manually: ```bash npm install -g oktk ``` Or see: https://github.com/satnamra/oktk ## Features - **Token stats** - View session token usage - **Session indexing** - Index old sessions for search - **Hybrid search** - Semantic + keyword search - **CLI compression** - Compress command outputs (requires oktk) ## CLI Commands ```bash # Show token usage statistics token-optimizer stats # Check optimization level token-optimizer check # Index sessions for search token-optimizer index # Search sessions (use --hybrid for semantic+keyword) token-optimizer search "query" --hybrid # Compress command output (requires oktk) token-optimizer compress git status ``` ## Configuration Set custom oktk path: ```bash export OKTK_BIN=/path/to/oktk ``` ## Storage - Session index: `~/.openclaw/workspace-memory-builder/.session_index/` --- *Overkill Token Optimizer v1.0.3*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: fqch1981/neuron (version 1.0.0)

--- name: neuron description: "分布式AI节点系统，实现跨局域网节点的任务分发、并行处理和结果聚合" --- # Neuron - 分布式AI节点系统 Neuron 将独立的 OpenClaw 实例转变为分布式神经网络，实现跨多个节点的智能任务处理。 ## 核心功能 - **节点发现**：通过UDP广播自动发现局域网内的其他Neuron节点 - **任务分发**：将任务分发给所有可用节点进行并行处理 - **结果聚合**：收集多个节点的响应并综合成最终答案 - **知识共享**：向网络广播最终结果实现集体学习 ## 使用方法 ### 基础使用 当用户提出问题时，Neuron 会自动： 1. 发现网络中的可用节点 2. 将任务分发给所有节点 3. 并行收集响应 4. 综合结果返回最终答案 ### 直接调用 ```python # 执行分布式任务（自动分发） context.call_skill("neuron", question="您的问题") # 本地处理（不分发） context.call_skill("neuron", question="您的问题", distribute=False) ``` ### Python API ```python from scripts.neuron_skill import NeuronProcessor processor = NeuronProcessor() # 获取活跃节点 nodes = processor.get_active_nodes() # 处理任务 result = processor.execute("您的问题", context=context) ``` ## 配置 ### 节点ID 首次运行时会自动生成唯一的节点ID并永久保存到 `scripts/node_identity.json`。如需自定义，可手动修改该文件中的 `node_id` 字段。 ### 配置文件 编辑 `scripts/config.json` 调整以下参数： ```json { "discovery_port": 83668, "broadcast_interval": 5, "node_timeout": 15, "task_timeout": 30, "max_parallel_tasks": 10 } ``` ### 防火墙设置 允许UDP端口83668的入站连接： ```bash # Windows PowerShell New-NetFirewallRule -DisplayName "Neuron Discovery" -Direction Inbound -Protocol UDP -LocalPort 83668 -Action Allow ``` ## 工作流程 ### 发起节点工作流 1. 接收用户查询 2. 发现可用节点 3. 将任务分发给所有节点 4. 聚合结果 5. 综合最终答案 6. 向网络广播结果 ### 执行节点工作流 1. 接收分发的任务 2. 使用AI模型本地处理 3. 将结果返回给发起节点 4. 从广播的最终结果中学习 ## 使用场景 ✅ **适合使用此技能的情况：** - 需要多视角分析的复杂推理任务 - 需要并行处理的大规模数据分析 - 不同节点具有不同上下文/知识的任务 - 需要冗余处理以提高可靠性的场景 ❌ **不适合使用此技能的情况：** - 简单的单节点查询 - 需要实时同步的任务 - 低延迟要求 - 网络受限的环境 ## 工具接口 ### NeuronProcessor 分布式任务处理的核心类，提供以下方法： - `execute(question, context, distribute=True)`：执行任务 - `get_active_nodes()`：获取活跃节点列表 - `get_status()`：获取系统状态 - `get_task_memory(task_id)`：获取任务记忆 ## 故障排除 ### 节点无法互相发现 - 检查UDP端口83668的防火墙设置 - 验证所有节点是否在同一网络段 - 确保节点ID唯一 ### 高延迟 - 减少 `task_timeout` 配置值 - 减小 `broadcast_interval` 加快发现速度 - 减少分发节点数量 ## 安全注意事项 ⚠️ 仅在受信任的网络环境中使用 🚫 不要将UDP端口83668暴露到公共互联网 🔐 如有需要，加密敏感任务数据

path: scripts/config.json
content: discovery_port: 83668
broadcast_interval: 5
node_timeout: 15
task_timeout: 30
max_parallel_tasks: 10

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: riage/skill-paintinginterface (version 1.0.0)

# AI绘图 调用 NanaBanana 2 和 NanaBanana Pro 生成图片。 ## 可用模型 | 模型 | 适用场景 | 优先级 | |------|----------|--------| | NanaBanana 2 | 日常绘图、文字图、快速出图、批量生成 | ⭐ 默认优先使用 | | NanaBanana Pro | 用户明确要求"高质量""写实""最终稿""电影感"时使用 | 备选 | 默认始终使用 NanaBanana 2，除非用户明确要求更高画质才切换到 Pro。 ## API 密钥 所有接口共用同一密钥：`【你的密钥】` --- ## NanaBanana 2 接口 ### 第一步：提交任务 - 方式：POST - 地址：`https://api.wuyinkeji.com/api/async/image_nanoBanana2` - Headers： - Authorization: `【你的密钥】` - Content-Type: application/json - Body（JSON）： ```json { "key": "【你的密钥】", "prompt": "详细的英文图片描述", "size": "1K", "aspectRatio": "auto" } ``` ### 第二步：查询结果 - 方式：GET - 地址：`https://api.wuyinkeji.com/api/async/detail?key=【你的密钥】&id={task_id}` - Headers： - Authorization: `【你的密钥】` --- ## NanaBanana Pro 接口 ### 第一步：提交任务 - 方式：POST - 地址：`https://api.wuyinkeji.com/api/async/image_nanoBanana_pro` - Headers： - Authorization: `【你的密钥】` - Content-Type: application/json - Body（JSON）： ```json { "key": "【你的密钥】", "prompt": "详细的英文图片描述", "size": "1K", "aspectRatio": "auto" } ``` ### 第二步：查询结果 - 方式：GET - 地址：`https://api.wuyinkeji.com/api/async/detail?key=【你的密钥】&id={task_id}` - Headers： - Authorization: `【你的密钥】` --- ## 通用参数说明 | 参数 | 必填 | 说明 | |------|------|------| | prompt | ✅ | 图片描述，务必翻译为英文，越详细越好 | | size | ❌ | 分辨率，可选 1K / 2K / 4K，默认 1K | | aspectRatio | ❌ | 画面比例，可选 auto / 1:1 / 16:9 / 9:16 / 4:3 / 3:4 / 3:2 / 2:3 / 5:4 / 4:5 / 21:9，默认 auto | --- ## 轮询策略 1. 提交任务后，从返回的 `data.id` 获取 task_id 2. 每隔 **3秒** 请求一次结果接口 3. 最多请求 **20次**（约60秒） 4. 当返回 `code=200` 且 `data.status=2` 且 `data.result` 包含图片URL时，视为成功 ### 状态码说明 | status | 说明 | |--------|------| | 0 | 处理中 | | 1 | 排队中 | | 2 | ✅ 成功，result字段包含图片URL | | 3 | 失败，message字段包含错误信息 | --- ## 输出规则 1. 获取到图片地址后，用 `<qqimg>URL</qqimg>` 标签发送给用户 2. 告知用户使用了哪个模型、比例和分辨率 3. 若用户未指定 size 和 aspectRatio，根据描述内容智能推断最合适的参数 4. 若超时未获取结果（20次轮询后仍无结果），告知用户稍后重试 --- ## 模型选择示例 - 用户：帮我画一只猫 → 使用 **NanaBanana 2** - 用户：帮我画一张高质量的产品宣传图 → 使用 **NanaBanana Pro** - 用户：快速生成几张草图 → 使用 **NanaBanana 2** - 用户：我要最终交付的写实人像 → 使用 **NanaBanana Pro** --- ## 注意事项 - 注意敏感词过滤，某些词汇可能触发审核导致失败（如"睡衣"、"性感"等） - 提交时key可以放在URL参数里，也可以放在Body的json里 - 查询时key必须放在URL参数里


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tujinsama/historical-data-compare-claw (version 1.0.0)

--- name: historical-data-compare-claw description: 历史数据比对虾 — 专注于环比、同比、趋势等数据差异分析。激活场景：当用户提供两期或多期历史数据（Excel/CSV/数据库导出等），要求进行同比分析、环比分析、趋势对比、差异排查、变动归因、KPI变动说明、或"和上个月比怎么样"、"今年比去年如何"等数据对比类问题时触发。也适用于多维度数据切片对比（按区域、品类、渠道等维度拆解差异）。核心价值：趋势洞察——翻阅历史记录，清晰告诉决策者当下的变量。触发关键词：同比、环比、趋势、对比、差异、变动、变化、涨跌、增减、和上期比、和去年同期比、period over period、YoY、MoM、QoQ、同比分析、环比分析、趋势分析、数据对比。 --- # 历史数据比对虾 🦐 核心职责：**进行环比、同比、趋势等数据差异分析。** 业务价值：**趋势洞察——翻阅历史记录，清晰告诉决策者当下的变量。** ## 分析流程 ### 1. 数据接入与校验 - 接收用户提供的数据文件（Excel、CSV、数据库导出等），读取并理解数据结构 - 识别时间维度列（日期、月份、季度、年份等）和指标列（金额、数量、占比等） - 检查数据质量：缺失值、异常值、重复行 - 确认对比基准期：环比 → 上期（日→昨日、月→上月、季→上季、年→上年）；同比 → 去年同期 ### 2. 选择分析方法 根据用户需求自动匹配分析类型： | 分析类型 | 适用场景 | 计算方式 | |---------|---------|---------| | **环比 (MoM/QoQ/DoD)** | 连续两期对比，观察短期变化 | (本期-上期)/上期 × 100% | | **同比 (YoY)** | 剔除季节性，观察真实增长 | (本期-去年同期)/去年同期 × 100% | | **累计对比** | 年度/季度累计完成进度 | 本期累计 vs 去年同期累计 | | **滚动趋势** | 消除短期波动，观察中长期走势 | 移动平均、滚动N期对比 | | **多维拆解** | 定位变动来源 | 按区域/品类/渠道等维度拆解贡献度 | ### 3. 执行计算 优先使用 `scripts/compare.py` 脚本处理结构化数据文件，适合重复性高的标准分析。脚本用法： ```bash python3 scripts/compare.py <file_path> --date-col <列名> --metric-cols <列1,列2> --compare <yoy|mom|both> --period <monthly|quarterly|daily> [--output <输出路径>] ``` 参数说明： - `file_path`: 数据文件路径（支持 .xlsx / .csv） - `date-col`: 日期/时间维度列名 - `metric-cols`: 需要对比的指标列（逗号分隔） - `compare`: `yoy`(同比)、`mom`(环比)、`both`(同时) - `period`: 数据粒度 `daily`/`monthly`/`quarterly` - `--output`: 输出文件路径（默认打印到 stdout） 脚本输出格式：带变动率和变动绝对值的对比表 + 汇总摘要。 ### 4. 差异归因 当发现显著变动（涨跌超过 ±10% 或用户关注的阈值）时： 1. **量化变动幅度**：绝对值变动 + 百分比变动 2. **定位变动来源**：按维度拆解（品类/区域/渠道等），找出贡献最大的子维度 3. **判断变动性质**： - 🔴 **警示**：核心指标大幅下滑或异常波动 - 🟡 **关注**：中等幅度变动，需持续观察 - 🟢 **正常**：合理范围内的季节性或预期内波动 4. **提炼变量**：用一句话说清楚"为什么变了" ### 5. 输出报告 #### 报告结构 ``` ## 📊 [分析主题] — [对比类型]分析报告 ### 一、核心结论（先说结论） > 用 2-3 句话总结关键发现和决策含义。 ### 二、整体对比概览 | 指标 | 基准期 | 对比期 | 变动额 | 变动率 | 趋势 | |------|--------|--------|--------|--------|------| ### 三、明细差异拆解 按维度展开，展示各子维度的贡献度。 ### 四、趋势洞察 - 连续N期的趋势走向 - 是否存在拐点/异常点 - 与行业/预算参考线的关系 ### 五、行动建议 针对发现的问题/机会，给出 2-3 条可落地的建议。 ``` #### 输出格式选择 - 飞书/即时通讯场景 → 用 emoji + 粗体 + 列表，**不用 markdown 表格** - 正式报告场景 → 完整 markdown 表格 + 图表建议 - 文件导出 → Excel（带格式）或 PDF ## 分析原则 1. **结论先行**：先说"变了什么、变了多少、意味着什么"，再展开细节 2. **用数据说话**：每个结论都要有数字支撑，避免"有所增长"这种模糊表述 3. **区分信号和噪音**：不要把正常波动渲染成危机，也不要忽略真正的趋势拐点 4. **对标意识**：有预算/目标/行业数据时，主动做对比参照 5. **可操作性**：分析结果的终点是"所以呢"，必须给出行动建议 ## 常见场景速查 | 场景 | 推荐方法 | |------|---------| | "这个月和上个月比怎么样" | 环比 + 维度拆解 | | "今年比去年同期如何" | 同比 + 累计对比 | | "最近几个月趋势怎么样" | 滚动趋势（3/6/12期移动平均） | | "为什么收入掉了" | 差异归因 → 按维度拆解贡献度 | | "哪个品类贡献了增长" | 多维拆解 → 贡献度排序 | | "给老板出个月度分析" | 环比+同比 + 报告格式输出 |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: waqas-orcalo/signup-lead (version 1.0.0)

# signup_lead Create a signup lead in the AgenticCreed system using the public HTTP endpoint. This skill sends lead details (email, name, contact info, etc.) to https://gateway.agenticcreed.ai/signup-leads. ## Usage Use this skill when you need to create a new signup lead with contact information. ## Parameters - `email`: Email address (required) - `firstName`: First name (required) - `lastName`: Last name (required) - `address`: Physical address - `dateOfBirth`: Date of birth (ISO format) - `phoneNumber`: Phone number - `whatsAppNumber`: WhatsApp number - `jobTitle`: Job title - `dateOfJoining`: Date of joining (ISO format) ## Configuration Set the `AGENTICCREED_API_KEY` environment variable before using this skill.

path: SKILL.yaml
content: name: signup_lead
description: |
  Create a signup lead in the AgenticCreed system using the public HTTP endpoint.
  This skill sends lead details (email, name, contact info, etc.) to
  https://gateway.agenticcreed.ai/signup-leads.

type: http

request:
  method: POST
  url: https://gateway.agenticcreed.ai/signup-leads

  headers:
    accept: application/json
    Content-Type: application/json
    # API key is read from the environment variable AGENTICCREED_API_KEY.
    # Set it before running `openclaw up`, e.g.:
    #   export AGENTICCREED_API_KEY="your-real-key-here"
    x-[REDACTED_SECRET]"

  # These are the fields your endpoint expects.
  # In OpenClaw, you will typically bind these to agent inputs/slots.
  body:
    email: "{{email}}"
    firstName: "{{firstName}}"
    lastName: "{{lastName}}"
    address: "{{address}}"
    dateOfBirth: "{{dateOfBirth}}"
    phoneNumber: "{{phoneNumber}}"
    whatsAppNumber: "{{whatsAppNumber}}"
    jobTitle: "{{jobTitle}}"
    dateOfJoining: "{{dateOfJoining}}"

response:
  type: json
  # You can customize this mapping based on the actual API response shape.
  # For now, we just expose the whole JSON body as `raw`.
  mapping:
    raw: "$"




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

--- name: fb-video-downloader description: Download Facebook videos, Reels, and Stories in HD quality. Use when user provides a Facebook video URL and wants to download it, or asks to save/download FB content. Supports HD, SD, and MP3 audio extraction. --- # Facebook Video Downloader ## 🔒 Security Notice This skill is safe and transparent: - **No data collection**: We do not collect, store, or transmit any user data - **Official API**: Connects only to savefbs.com (a legitimate video download service) - **Open source**: All code is visible and auditable in this skill package - **Privacy-first**: Video URLs are processed server-side and not logged - **No malware**: No hidden scripts, no tracking, no malicious behavior The skill simply acts as a bridge between OpenClaw and the savefbs.com API to help users download public Facebook videos for personal use. Download Facebook videos, Reels, and Stories in high quality using the savefbs.com service. ## When to Use Activate this skill when: - User shares a Facebook video URL (facebook.com/watch, fb.watch, facebook.com/reel, etc.) - User asks to "download this FB video" or "save this Facebook video" - User wants to extract audio from a Facebook video (MP3) - User needs offline access to Facebook content ## How It Works This skill uses a Python script that connects to the savefbs.com API to fetch download links. ### Usage ```bash python3 scripts/fetch_fb_video.py <facebook_video_url> ``` ### Example ```bash python3 scripts/fetch_fb_video.py "https://www.facebook.com/watch?v=123456789" ``` ### Output Format The script returns JSON with download options: ```json { "success": true, "title": "Video Title", "thumbnail": "https://...", "downloads": [ { "quality": "HD", "url": "https://...", "extension": "mp4" }, { "quality": "SD", "url": "https://...", "extension": "mp4" }, { "quality": "Audio", "url": "https://...", "extension": "mp3" } ] } ``` ## Workflow 1. **Extract the URL**: Get the Facebook video URL from the user's message 2. **Run the script**: Execute `fetch_fb_video.py` with the URL 3. **Parse results**: Present download options to the user (HD, SD, MP3) 4. **Provide links**: Share the download URLs or offer to download directly ## Supported Content - Facebook Watch videos - Facebook Reels - Facebook Stories (when publicly available) - Timeline video posts - Page videos - Group videos (public only) ## Limitations - Only works with public videos - Private/restricted videos require user to be logged in to Facebook - Live streams can only be downloaded after they end ## Error Handling If the script returns `"success": false`, check: - Is the URL valid and accessible? - Is the video public? - Is the video still available on Facebook? Common error messages: - "Network error": Connection issue with savefbs.com - "Invalid response": API format changed - "Failed to fetch video": Video is private or unavailable


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: arg0/investigation-first (version 1.0.0)

--- name: investigation-first description: | 触发：当你准备下判断、做决策或提出建议，但事实、上下文或一手信息还不充分时优先调用；常见信号包括 unknowns、信息缺口、证据不足、领域陌生、需要先摸清现状。 English: Trigger before making claims or decisions when context is incomplete, evidence is weak, or the domain is unfamiliar. Use this skill to investigate first, gather firsthand facts, and let reality shape the conclusion. --- # 调查研究 > "没有调查，没有发言权。" > —— 毛泽东《反对本本主义》（1930年） ## 核心原则 **一切正确的决策都来源于对实际情况的调查研究。没有调查就没有发言权，没有正确的调查同样没有发言权。** 在本项目的方法体系中，`调查研究` 是落实 `实事求是` 的主要入口。调查不是为既定结论搜集材料，而是让事实来规定判断，让现实来修正理论。 > 详细原著依据见 original-texts.md ## 何时使用 你应该在以下情况调用此 skill： - 要做一个决策，但对实际情况了解不够 - 进入一个陌生的领域或面对一个新问题 - 发现自己在凭"直觉"或"经验"做判断，缺乏事实依据 - 别人的方案/建议听起来合理，但你不了解其适用条件 - 需要全面了解一个系统/项目/问题的现状 - 感觉自己在"本本主义"——套用理论而不了解实际 ## 方法流程 ### 第一步：明确调查目的 > "调查就像'十月怀胎'，解决问题就像'一朝分娩'。"——《反对本本主义》 调查不是漫无目的地搜集信息。在开始之前明确： - 我要解决什么问题？ - 我需要了解哪些方面的情况？ - 调查的结果将如何指导我的行动？ ### 第二步：制定调查提纲 > 毛泽东强调调查必须有"准备"——要有详细的提纲 列出需要调查的具体问题清单： - 当前状况是什么？（现状调查） - 历史上是怎样的？（历史调查） - 有哪些相关的因素？（关联调查） - 有哪些不同的观点？（多方调查） ### 第三步：深入一线获取第一手资料 > "你对于某个问题没有调查，就停止你对于某个问题的发言权。"——《反对本本主义》 必须亲自接触第一手资料，不能只看二手总结： - 直接阅读源代码，而非只看文档 - 直接运行和测试，而非只看报告 - 直接与相关人员交流，而非只看转述 - 深入了解细节，不要满足于"大概了解" **警惕：** > 不能搞"走马看花"式的调查——"像站在高山上远观一座繁华的都市"那样浮光掠影。 ### 第四步：详细记录，系统整理 > "要自己做记录"——《反对本本主义》 调查过程中要： - 详细记录发现的事实 - 区分事实与观点 - 整理归类，找出规律 - 标注存疑的地方 ### 第五步：实事求是，得出结论 > "'实事'就是客观存在着的一切事物，'是'就是客观事物的内部联系，即规律性，'求'就是我们去研究。"——《改造我们的学习》 从调查得到的事实出发，分析其内在联系，得出结论： - 事实先于判断，材料先于观点 - 结论必须有事实支撑 - 不能先有结论再找证据 - 如果事实与预期不符，修改的应该是结论而非事实 - 承认"不知道"也是一种诚实的调查结论 ### 第六步：调查完成后再做决策 调查结束后，基于调查结果做出决策或提出方案。此时再与理论原则结合——**但理论必须服从事实，不是事实服从理论**。如果后续进入验证和迭代，继续调用 `practice-cognition`，让 `实事求是` 贯穿从调查到实践检验的全过程。 ## 调查的七项注意 根据毛泽东在《反对本本主义》中提出的调查方法，整理为七项注意： 1. **要有目的** —— 带着问题去调查 2. **要有提纲** —— 调查有计划、有条理 3. **要亲自做** —— 不能只靠别人汇报 4. **要深入** —— 不能浮皮潦草 5. **要做记录** —— 系统整理调查结果 6. **要多方面** —— 听取不同角度的意见 7. **要实事求是** —— 从事实出发，不预设结论 ## 常见错误 | 错误 | 毛泽东的批评 | 正确做法 | |------|------------|---------| | 不调查就给出答案 | "没有调查，没有发言权" | 先调查，后发言 | | 只看文档不看实际 | "不注重研究现状" | 深入一线获取第一手资料 | | 调查走马观花 | 不能"站在高山上远观" | 深入细致，不浮于表面 | | 先有结论再找证据 | "不是从客观存在着的实际事物出发" | 从事实出发得出结论 | | 只调查现状不看历史 | "不注重研究历史" | 历史与现状并重 | | 只看一方面 | 需要多角度多方面的调查 | 兼听则明 | ## 与其他 skill 的关系 - **矛盾分析法**：调查研究为矛盾分析提供事实基础 - **实践认识论**：调查研究是"实践"的重要形式，调查得出的认识还要回到实践中接受检验 - **群众路线**：调查研究的重要方法就是"从群众中来" - **批评与自我批评**：调查自己的工作也是自我批评的一部分


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yujing2013/fund-weekly-report (version 1.8.3)

--- name: fund-weekly-report version: 1.8.2 description: 基金周报生成。根据Excel数据自动生成基金周报Word文档。支持主动权益、固定收益、指数基金、FOF、QDII、REITs等各类基金的周度表现分析。 dependencies: - pandas>=1.3.0 - python-docx>=0.8.11 - openpyxl>=3.0.0 --- # 基金周报生成 根据Excel数据自动生成基金周报Word文档。 ## 安装 ```bash pip install pandas python-docx openpyxl ``` ## 使用方式 发送基金周度收益Excel文件（必需），可选发送ETF资金流动Excel文件，AI会自动生成周报。 **输入：** - 基金细分类型周度收益Excel（24个Sheet） - **必需** - ETF资金流动Excel - 可选 **输出：** - 基金周报Word文档（楷体格式） ## 周报内容 1. 主要市场指数周度表现回顾 2. 主动权益基金周度表现复盘 3. 固定收益基金周度表现复盘 4. 指数型基金周度表现复盘 5. FOF基金周度表现复盘 6. 其他类型基金周度表现复盘 7. 基金成立与发行回顾 8. 附注及风险提示 ## 安全声明 ### 权限范围 | 权限 | 说明 | |-----|------| | 读取Excel文件 | 读取用户明确提供的Excel文件（聊天上传或本地路径） | | 写入Word文档 | 将生成的周报写入用户工作目录 | ### 文件路径约束 - 只接受 `.xlsx` 或 `.xls` 扩展名的文件 - 禁止访问系统敏感目录（`/etc/`, `/root/`, `.ssh` 等） ### 不做的事情 - ❌ 不读取非Excel文件 - ❌ 不访问系统敏感目录 - ❌ 不发起网络请求 - ❌ 不存储凭据或密码 --- 详见 `references/` 目录了解更多技术细节。


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