OpenClaw/clawhub-security-signals huggingface dataset:
Skill: jie/invoice-processing (version 1.0.0)

**WORKFLOW SKILL** — Process and organize invoice PDFs using `main.py`. USE FOR: Organizing invoices in a directory when the user provides a keyword. Capabilities include: 1. Fixing `.pdf` extensions (files ending in `?` or `？`). 2. Removing duplicate files based on MD5 hash. 3. Removing invalid files (e.g. containing "行程单"). 4. Checking PDF contents for a mandatory missing `keyword`. 5. Calculating the grand total amount from all valid invoices. DO NOT USE FOR: General Python debugging or other non-invoice related tasks. INVOKES: Terminal tool to run `python main.py process <keyword> -d <dir>` # Instructions for the Agent When the user asks you to process or organize invoices (e.g., "整理 ./fapiao 里 的发票，关键字是 银河科技;腾讯"): 1. **Extract Arguments**: - `dir`: The target directory. If the user does not specify a directory, safely default to the current directory (`.`) or ask the user if it is ambiguous. - `keyword`: The target keyword to check inside the PDFs (e.g., a company name). Note: Multiple keywords can be provided separated by a semicolon `;` (e.g., `CompanyA;CompanyB`). 2. **Handle Missing Keyword**: - You MUST prompt the user for the `<keyword>` if it is missing from their request. Do not guess it. 3. **Execute Command**: - Construct and run the following terminal command (replacing placeholders with extracted values): `python main.py process <keyword> -d <dir>` 4. **Report Results**: - After the script completes, summarize the printed results for the user (files fixed, dupes removed, files moved to `<dir>/invoices`, and files moved to `<dir>/invoices/unknown`, plus the grand total).

path: requirements.txt
content: PyMuPDF


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: shaoxiang616/claude-md-auto (version 0.1.0)

# CLAUDE.md 自动发现技能 自动发现并加载项目根目录的 CLAUDE.md 文件，参考 Claude Code 实现。 ## 功能 1. 自动查找 ./CLAUDE.md 和 ./ CLAUDE.md 2. 支持 @include 指令 3. 最大 40000 字符限制 4. 逆序加载（后面的文件优先级更高） ## 触发条件 - 当用户发送消息时自动执行 - 无需用户手动调用 ## 实现 - 使用 fs.readFileWithinRoot 读取文件 - 遍历当前工作目录向上查找 - 解析 @include 指令 - 注入到系统上下文


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: geoion/xmind-generator (version 1.0.3)

--- name: xmind-generator description: Generate XMind mind map files (.xmind) from Markdown outlines or plain text descriptions. Use when a user asks to create a mind map, visualize a structure, or export to XMind format. Supports both Markdown outline syntax (# headings, - bullets, indentation) and free-form text descriptions. Output is saved as a .xmind file in the workspace directory, openable directly in XMind app. runtime: node --- # XMind Generator Generate `.xmind` files from Markdown outlines or plain text using the XMind SDK. ## Script `scripts/generate_xmind.js` — main generator. Requires Node.js and the `xmind` npm package. ## Installation **Install dependencies before first use:** ```bash cd <skill_dir> npm install ``` ## Usage ```bash # From Markdown outline file node scripts/generate_xmind.js --input outline.md --output /path/to/output.xmind # From inline text (use \n for newlines) node scripts/generate_xmind.js --text "# Root\n- Branch 1\n - Leaf\n- Branch 2" --output output.xmind # From stdin echo "..." | node scripts/generate_xmind.js --output output.xmind ``` **Always run from the skill directory:** ```bash cd <skill_dir> ``` **Default output location:** the OpenClaw workspace directory. ## Input Format Both formats are supported: **Markdown outline:** ```markdown # Root Topic - Main Branch 1 - Sub topic 1 - Sub topic 2 - Main Branch 2 - Sub topic 3 - Leaf node ``` **Plain text / free-form description:** When user provides a description instead of an outline, first convert it to Markdown outline structure, then pass to the script. ## Workflow 1. If user provides a Markdown outline → pass directly to script via `--text` or `--input` 2. If user provides a plain text description → convert to Markdown outline first, then generate 3. Output file goes to workspace directory unless user specifies otherwise 4. Confirm the output path to the user after generation


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: waynevaughan/cortex-ai (version 1.0.0)

--- name: cortex description: "Persistent memory for AI agents by Sigma Labs. Knowledge graph, hybrid search, entity tracking, and structured recall across sessions. File-based, git-tracked, zero-LLM." --- # Cortex Persistent memory for AI agents. Built by [Sigma Labs](https://github.com/sigmalabs-ai). - **Mind** — Behavioral memory. Decisions, lessons, preferences, and 19 typed entries with decay, reinforcement, and consolidation. - **Vault** — Document store with CRUD and hybrid search. Every write is a git commit. - **Observer** — Automatic memory extraction from conversations. - **Search** — Hybrid (BM25 + semantic + temporal). File-based, git-tracked. ## Links - GitHub: [sigmalabs-ai/cortex](https://github.com/sigmalabs-ai/cortex) - Original v1: [waynevaughan/cortex](https://github.com/waynevaughan/cortex) (est. Feb 13, 2026) - License: MIT


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: btizzy/owl-market-research (version 1.0.0)

--- name: market-research description: Conduct comprehensive market research including competitive analysis, industry trends, customer profiling, and opportunity identification. version: 1.0.0 author: OWL tags: [research, market-analysis, competitive-intelligence, strategy] --- # Market Research Skill ## Purpose Conduct thorough market research to identify opportunities, understand competition, and inform business decisions. ## When to Use - Evaluating a new market or niche - Researching competitors - Identifying customer pain points - Validating a business idea - Preparing for sales outreach ## How It Works ### Step 1: Define Research Questions What do you need to know? - Market size and growth rate - Key competitors and their positioning - Customer demographics and pain points - Pricing benchmarks - Trends and opportunities ### Step 2: Gather Data Sources to check: 1. **Industry reports**: IBISWorld, Statista, Gartner 2. **Competitor websites**: Products, pricing, positioning 3. **Reviews**: G2, Trustpilot, Reddit, forums 4. **Social media**: LinkedIn, Twitter, industry groups 5. **Job postings**: Indeed, LinkedIn (reveals company priorities) 6. **Financial data**: Crunchbase, SEC filings, press releases ### Step 3: Analyze and Synthesize Create a structured report: 1. **Market overview**: Size, growth, trends 2. **Competitive landscape**: Key players, positioning, strengths/weaknesses 3. **Customer profile**: Demographics, pain points, buying behavior 4. **Opportunity assessment**: Gaps, underserved segments, trends 5. **Recommendations**: Actionable next steps ## Output Format ```markdown # Market Research Report: [Industry/Niche] ## Executive Summary [2-3 sentence overview of key findings] ## Market Overview - **Size**: $[X]B - **Growth**: [X]% CAGR - **Trends**: [Key trends] ## Competitive Landscape | Competitor | Positioning | Strengths | Weaknesses | Price Range | |------------|-------------|-----------|------------|-------------| | [Name] | [Description] | [List] | [List] | $[X-$Y] | ## Customer Profile - **Demographics**: [Age, location, income] - **Pain points**: [List] - **Buying behavior**: [Description] ## Opportunities 1. [Opportunity 1] 2. [Opportunity 2] 3. [Opportunity 3] ## Recommendations 1. [Actionable recommendation] 2. [Actionable recommendation] ``` ## Tips - Start with Google searches for "[industry] market size 2026" - Check Reddit for unfiltered customer opinions - Look at job postings to understand company priorities - Use the "similar sites" tool to find competitors - Check review sites for common complaints (opportunities)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lumenclaw-cloud/filtrix-image-gen (version 1.0.2)

--- name: filtrix-image-gen description: Generate and edit images through Filtrix Remote MCP. Use when users ask to create images or refine existing ones. Supports gpt-image-1, nano-banana, and nano-banana-2 through one MCP endpoint. --- # Filtrix Image Gen (MCP) This skill is MCP-only. - Endpoint: `https://mcp.filtrix.ai/mcp` - Auth: `Authorization: Bearer <FILTRIX_MCP_API_KEY>` - Primary tools: - `generate_image_text` - `edit_image_text` - `get_account_credits` Available MCP tools: - `get_account_credits` - `generate_image_text` - `edit_image_text` ## Setup Required: - `FILTRIX_MCP_API_KEY` Optional: - `FILTRIX_MCP_URL` (default: `https://mcp.filtrix.ai/mcp`) ## Generate ```bash python scripts/generate.py \ --prompt "..." \ [--mode gpt-image-1|nano-banana|nano-banana-2] \ [--size 1024x1024|1536x1024|1024x1536|auto] \ [--resolution 1K|2K|4K] \ [--search-mode] \ [--enhance-mode] \ [--idempotency-key KEY] \ [--output PATH] ``` ## Edit Use this when user wants iterative refinement, style transfer, background changes, object replacement, etc. ```bash python scripts/edit.py \ --prompt "make the sky sunset orange and add volumetric light" \ (--image-path /path/to/input.png | --image-url https://...) \ [--mode gpt-image-1|nano-banana|nano-banana-2] \ [--size 1024x1024|1536x1024|1024x1536|auto] \ [--resolution 1K|2K|4K] \ [--search-mode] \ [--enhance-mode] \ [--idempotency-key KEY] \ [--output PATH] ``` ## Mode Mapping - `gpt-image-1`: general quality route - `nano-banana`: fast generation route - `nano-banana-2`: advanced generation route ## Recommended Workflow 1. First pass with `generate_image_text` (`scripts/generate.py`). 2. Use `edit_image_text` (`scripts/edit.py`) for targeted changes. 3. Use a new `idempotency_key` for each new edit intent. ## Idempotency `idempotency_key` prevents duplicate billing on retries. If omitted, scripts auto-generate one UUID-based key. ## References - [MCP Tools Reference](references/mcp-tools.md) - [gpt-image-1 Mode](references/gpt-image-1.md) - [nano-banana Mode](references/nano-banana.md) - [nano-banana-2 Mode](references/nano-banana-2.md) - [Prompt Guide](references/prompts.md)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: liuboacean/qclaw-result-checker (version 1.2.0)

--- name: QClaw任务结果查询 description: | 通过 QClaw 查询 WorkBuddy 任务执行结果。当用户想要： - 查看任务是否完成 - 获取任务执行结果 - 查任务状态 - 询问"刚才那个任务怎么样了" - "结果出来了吗" - 想知道 WorkBuddy 执行了什么 触发词：任务结果、查结果、看结果、任务完成了吗、结果出来了吗、工作做完了吗、WorkBuddy结果、任务状态 version: 1.0.0 --- # QClaw → WorkBuddy 结果查询 当用户询问任务结果、任务状态时，查询队列并返回结果。 ## 核心逻辑 **先列出所有已完成的任务，再获取结果。** ```bash # 1. 列出所有已完成/有结果的任务 python3 ~/.workbuddy/skills/qclaw-workbuddy-bridge/scripts/qclaw_queue.py list --status done # 2. 获取指定任务ID的详细结果 python3 ~/.workbuddy/skills/qclaw-workbuddy-bridge/scripts/qclaw_queue.py result <task_id> ``` ## 使用流程 ### 流程 1：用户说"结果出来了吗" → 主动检查 ```bash # 检查是否有已完成的任务（未查询过的） python3 ~/.workbuddy/skills/qclaw-workbuddy-bridge/scripts/qclaw_queue.py list --status done ``` - **有结果** → 拉取最新一个 done 任务的结果，格式化展示给用户 - **没有 done 任务** → 检查是否有 pending/processing 任务，告知当前状态 - **全部为空** → 告知用户还没有已提交的任务 ### 流程 2：用户给了任务ID → 直接查 ```bash python3 ~/.workbuddy/skills/qclaw-workbuddy-bridge/scripts/qclaw_queue.py result <task_id> ``` ### 流程 3：用户问"之前提交了什么任务" → 历史列表 ```bash # 查看所有任务（不限状态） python3 ~/.workbuddy/skills/qclaw-workbuddy-bridge/scripts/qclaw_queue.py list ``` ## 结果展示模板 ### 有结果时 ``` ✅ WorkBuddy 任务已完成 🆔 任务编号: <task_id> 📋 任务描述: <description> 📝 执行结果: <summary> <details>: <details> 📁 附件: <file_path or "无"> <完整的 result 输出> ``` ### 任务进行中时 ``` ⏳ 任务正在处理中 🆔 任务编号: <task_id> 📋 任务描述: <description> 🔄 当前状态: <status> 📍 位置: WorkBuddy 执行队列 请稍后再来查询结果，预计还需要 5-15 分钟。 ``` ### 没有任务时 ``` 📭 暂无已完成的 WorkBuddy 任务 目前队列中没有已执行完毕的任务。 如需提交新任务，请说"帮我把 XXX 交给 WorkBuddy 执行"。 ``` ## 注意事项 - `result <task_id>` 只对 `status=done` 的任务有效 - 如果任务状态是 `error`，展示错误信息而非结果 - 优先展示最新完成的任务（队列中最后一条 done 记录） - 不要主动轮询，每用户查询一次就查一次


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kaising-openclaw1/xiaoming-password-manager (version 1.0.0)

--- name: password-manager description: 密码管理器 - 安全存储、随机生成、自动填充 --- # Password Manager 密码管理工具，安全存储和生成密码。 ## 功能 - ✅ 密码加密存储 - ✅ 随机密码生成 - ✅ 密码强度检测 - ✅ 自动填充 - ✅ 密码泄露检测 ## 使用 ```bash # 生成密码 clawhub pass generate --length 16 --symbols # 存储密码 clawhub pass add --site github.com --username user # 获取密码 clawhub pass get --site github.com # 检测强度 clawhub pass check --password "mypassword" ``` ## 定价 | 版本 | 价格 | 功能 | |------|------|------| | 免费版 | ¥0 | 10 个密码 | | Pro 版 | ¥49 | 无限密码 | | 订阅版 | ¥12/月 | Pro+ 云同步 |

path: README.md
content: # Password Manager 🔐

密码管理工具。

## 安装

```bash
npx clawhub@latest install password-manager
```

## 安全特性

- AES-256 加密
- 本地存储
- 主密码保护
- 不上传云端 (免费版)

## 注意事项

- 牢记主密码
- 定期备份
- 启用双因素认证


path: _meta.json
content: {"name":"password-manager","version":"1.0.0","author":"小鸣 🦞","tags":["password","security","encrypt","manager"],"requires":{"bins":["curl"]}}


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yuyonghao-123/yuyonghao-evaluation-suite (version 0.1.2)

# Evaluation Suite - OpenClaw 评估体系 **版本**: 0.1.0 **功能**: RAG评估 + 推理评估 + 幻觉检测 ## 功能特性 - **RAG 评估**: 检索质量、答案相关性、上下文准确性 - **推理评估**: 逻辑推理能力测试 - **幻觉检测**: 检测 AI 生成内容中的幻觉 - **批量评估**: 支持批量测试用例评估 - **统一接口**: 一致的评估 API ## 安装 ```bash cd skills/evaluation-suite npm install ``` ## 快速开始 ```javascript import { Evaluator } from './src/evaluator.js'; // 创建评估器 const evaluator = new Evaluator({ rag: { threshold: 0.7 }, reasoning: { threshold: 0.8 }, hallucination: { threshold: 0.5 } }); // RAG 评估 const ragResult = await evaluator.evaluate('rag', { query: '什么是 OpenClaw?', retrievedDocs: ['OpenClaw 是一个 AI 助手框架...'], generatedAnswer: 'OpenClaw 是一个 AI 助手框架' }); console.log('RAG Score:', ragResult.score); // 幻觉检测 const hallucinationResult = await evaluator.evaluate('hallucination', { context: 'OpenClaw 是一个框架', generatedText: 'OpenClaw 是一个编程语言' }); console.log('Hallucination:', hallucinationResult.isHallucination); ``` ## API 参考 ### Evaluator #### 构造函数 ```javascript new Evaluator(config) ``` **参数**: - `config.rag.threshold` - RAG 评估阈值 (默认: 0.7) - `config.reasoning.threshold` - 推理评估阈值 (默认: 0.8) - `config.hallucination.threshold` - 幻觉检测阈值 (默认: 0.5) #### evaluate(type, params) 运行评估 ```javascript // RAG 评估 await evaluator.evaluate('rag', { query: '问题', retrievedDocs: ['文档1', '文档2'], generatedAnswer: '生成的答案' }); // 推理评估 await evaluator.evaluate('reasoning', { problem: '推理问题', solution: '解决方案', expectedAnswer: '期望答案' }); // 幻觉检测 await evaluator.evaluate('hallucination', { context: '上下文', generatedText: '生成的文本' }); ``` #### batchEvaluate(type, testCases) 批量评估 ```javascript const results = await evaluator.batchEvaluate('rag', [ { query: 'Q1', retrievedDocs: [...], generatedAnswer: 'A1' }, { query: 'Q2', retrievedDocs: [...], generatedAnswer: 'A2' } ]); ``` ### RAGEvaluator #### evaluate(params) 评估 RAG 质量 ```javascript import RAGEvaluator from './src/rag-eval.js'; const evaluator = new RAGEvaluator({ threshold: 0.7 }); const result = await evaluator.evaluate({ query: '问题', retrievedDocs: ['文档1', '文档2'], generatedAnswer: '答案' }); // 返回: { score, relevanceScore, contextScore, passed } ``` ### ReasoningEvaluator #### evaluate(params) 评估推理能力 ```javascript import ReasoningEvaluator from './src/reasoning-eval.js'; const evaluator = new ReasoningEvaluator({ threshold: 0.8 }); const result = await evaluator.evaluate({ problem: '逻辑问题', solution: '解决步骤', expectedAnswer: '期望答案' }); // 返回: { score, logicScore, completenessScore, passed } ``` ### HallucinationDetector #### detect(params) 检测幻觉 ```javascript import HallucinationDetector from './src/hallucination-detector.js'; const detector = new HallucinationDetector({ threshold: 0.5 }); const result = await detector.detect({ context: '原始上下文', generatedText: '生成的文本' }); // 返回: { isHallucination, score, indicators } ``` ## 测试 ```bash npm test ``` ## License MIT


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal:  | SkillSpector: clean (LOW)
Skill: parkertoddbrooks/wip-license-guard (version 1.9.72)

--- name: wip-license-guard description: License compliance for your own repos. Ensures correct copyright headers, dual-license blocks, and LICENSE files across all source files. license: MIT interface: [cli, skill] metadata: display-name: "License Guard" version: "1.0.0" homepage: "https://github.com/wipcomputer/wip-ai-devops-toolbox" author: "Parker Todd Brooks" category: dev-tools capabilities: - copyright-enforcement - license-compliance - license-file-check requires: bins: [node, git] openclaw: requires: bins: [node, git] install: - id: node kind: node package: "@wipcomputer/wip-license-guard" bins: [wip-license-guard] label: "Install via npm" emoji: "📜" --- # wip-license-guard License compliance for your own repos. Ensures correct copyright, dual-license blocks, LICENSE files, and README license sections. ## When to Use This Skill - Before a release, to verify all files have correct license headers - After adding new source files to a repo - To enforce the MIT/AGPL dual-license pattern - To standardize README license sections across all your repos ## CLI ```bash wip-license-guard check [path] # audit repo against config wip-license-guard check --fix [path] # auto-fix LICENSE, CLA, copyright issues wip-license-guard init [path] # interactive setup wip-license-guard init --from-standard # apply WIP Computer defaults (no prompts) wip-license-guard readme-license [path] # audit README license sections wip-license-guard readme-license --dry-run # preview what would change wip-license-guard readme-license --fix # apply standard block to all READMEs ``` ### readme-license Scans all repos for README license sections. Three modes: - **No flags**: audit only. Reports non-standard, missing, and sub-tool READMEs that shouldn't have license sections. - **--dry-run**: preview. Shows what each README has now and what would change. No files touched. - **--fix**: apply. Replaces non-standard sections with the standard dual MIT/AGPLv3 block. Removes license sections from sub-tool READMEs. Works on a single repo or a directory of repos: ```bash wip-license-guard readme-license /path/to/one-repo wip-license-guard readme-license /path/to/directory-of-repos ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: haoleizhang/riskshield (version 1.0.0)

--- name: riskshield description: RiskShield 案件审批自动化。使用 Playwright 浏览器自动化完成审批，支持 Pass/Refuse 两种操作。 --- # RiskShield 案件审批自动化 Skill ## 功能 - ✅ **浏览器模式**：使用 Playwright 控制无头浏览器完成审批 - ✅ 审批通过（PASS）- 填写 Credit Amount - ✅ 审批拒绝（REFUSE）- 选择 Refuse Code - ✅ 自动验证审批结果 - ✅ 后台运行，不影响工作 ## 系统信息 | 项目 | 值 | |------|-----| | 系统 URL | `https://riskshield.dcsuat.com` | | 账号 | `taskAccount` | | 密码 | `ZIdongshenpi1.` | ## 使用方法 ### 前提条件 ```bash # 确保 Playwright 已安装 cd ~/.openclaw/workspace/skills/riskshield/scripts npm install playwright npx playwright install chromium ``` ### 运行审批 ```bash node ~/.openclaw/workspace/skills/riskshield/scripts/risk_approve.js <案件号> <操作> [拒绝码] [审批金额] ``` ### 参数说明 | 参数 | 必填 | 说明 | 默认值 | |------|------|------|--------| | 案件号 | ✅ | 要审批的案件编号 | - | | 操作 | ✅ | `pass` 或 `refuse` | - | | 拒绝码 | ❌ | 拒绝原因代码（仅 refuse 时使用） | `CA_TRUE_HIT` | | 审批金额 | ❌ | 审批金额（仅 pass 时使用） | `100` | ### 示例 ```bash # 审批通过（默认金额 100） node ~/.openclaw/workspace/skills/riskshield/scripts/risk_approve.js 2604151000000598528 pass # 审批通过（指定金额 50000） node ~/.openclaw/workspace/skills/riskshield/scripts/risk_approve.js 2604151000000598528 pass 100 50000 # 审批拒绝（使用默认拒绝码 CA_TRUE_HIT） node ~/.openclaw/workspace/skills/riskshield/scripts/risk_approve.js 2604151000000598528 refuse # 审批拒绝（指定拒绝码） node ~/.openclaw/workspace/skills/riskshield/scripts/risk_approve.js 2604151000000598528 refuse REJ_POA_FAKE ``` ## 审批流程 ``` 1. 登录系统 ↓ 2. 选择搜索类型: 案件编号 (No.) ↓ 3. 输入案件号并搜索 ↓ 4. 验证案件状态（必须是 Pending/审理中） ↓ 5. 获取审批页面 URL（从 Approval 链接） ↓ 6. 打开审批详情页（新标签页） ↓ 7. 点击 "Decision Information" 选项卡 ↓ 8. 填写审批表单: - PASS: ManualApprovalResult → Pass, Credit Amount → 金额 - REFUSE: ManualApprovalResult → Refuse, Refuse Code → 拒绝码 ↓ 9. 点击 Submit 提交 ↓ 10. 验证案件状态变为 Closed/已结案 ``` ## 常用拒绝码 | 拒绝码 | 说明 | |--------|------| | `CA_TRUE_HIT` | CA真命中 | | `REJ_POA_FAKE` | POA伪造 | | `POA/POI` | POA/POI问题 | | `GRAPHIC_EDITOR` | 图片编辑器检测 | | `EXPIRATION_DATE` | 过期日期 | | `WRONG_USER_REGION` | 用户区域错误 | | `jumioH5Address_Check_<_100` | 地址检查失败 | ## 文件路径 | 文件 | 路径 | |------|------| | 主脚本 | `~/.openclaw/workspace/skills/riskshield/scripts/risk_approve.js` | | 旧版脚本 | `~/.openclaw/workspace/skills/riskshield/scripts/browser_approve_v*.js` | | Token 存储 | `~/.openclaw/workspace/skills/riskshield/token.json` | ## 注意事项 1. **已结案案件无法重复审批** - 脚本会检查案件状态 2. **后台运行** - 使用 headless 模式，不显示浏览器窗口 3. **自动验证** - 提交后会自动搜索案件确认状态变化 4. **审批链接时效性** - 每次打开详情页的 URL 不同，脚本会自动获取最新链接


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: xuyongliang-eccom/daily-briefing-generator (version 1.0.0)

--- name: daily-briefing-generator description: 每日简报生成器。自动聚合多个信息源（RSS、网页、Tavily搜索），生成结构化每日简报，支持定时推送。当用户需要：生成每日行业简报、汇总多渠道资讯、制作早报/晚报、定时推送简报给团队时使用此技能。 --- # Daily Briefing Generator 每日简报生成器。聚合多源资讯，生成结构化每日简报并推送。 ## 核心能力 1. **多源聚合** — RSS订阅、网页抓取、Tavily搜索 2. **内容去重** — 智能合并相似内容 3. **结构化输出** — 按行业/主题分类的简报格式 4. **定时推送** — 每日定时推送到企业微信/飞书/钉钉 ## 快速开始 ### 生成今日简报 ```bash python3 scripts/generate_briefing.py \ --sources "AI科技,电商,政策" \ --max-items 10 \ --output ./daily_briefing.md ``` ### 订阅 RSS 并生成简报 ```bash python3 scripts/generate_briefing.py \ --rss ./feeds.txt \ --output ./daily.md ``` ### 创建每日定时推送 ```bash python3 scripts/schedule_briefing.py \ --sources "AI科技" \ --schedule "0 8 * * *" \ --channel wecom \ --timezone "Asia/Shanghai" ``` ## 脚本说明 ### scripts/generate_briefing.py 生成每日简报。 ```bash python3 scripts/generate_briefing.py \ --sources "<关键词1,关键词2>" \ --max-items <数量> \ --output <文件> \ [--rss <rss文件路径>] ``` **参数：** - `--sources`: 逗号分隔的信息源关键词 - `--max-items`: 每类最大条目数 - `--output`: 输出文件路径 - `--rss`: RSS订阅文件（每行一个URL） ### scripts/schedule_briefing.py 创建每日简报定时推送任务。 ```bash python3 scripts/schedule_briefing.py \ --sources "<关键词>" \ --schedule "<cron>" \ --channel <wecom|feishu|ddingtalk> \ [--timezone <时区>] ``` ## 输出格式 ```markdown # 每日简报 — YYYY-MM-DD ## 今日要点 - 概要1 - 概要2 ## 行业动态 ### AI / 科技 1. [标题](链接) — 摘要 2. ... ### 电商 / 零售 1. ... ## 政策风向 1. ... ## 本周关注 1. ... --- *由 daily-briefing-generator 生成 | YYYY-MM-DD* ``` ## 推荐 RSS 订阅配置 在 `feeds.txt` 中每行一个 RSS 地址，例如： ``` https://feeds.example.com/tech https://feeds.example.com/ecommerce ```


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