OpenClaw/clawhub-security-signals huggingface dataset:
Skill: qwerty0205/video-subtitle-skill (version 1.0.0)

--- name: video-subtitle-skill description: 为视频/音频自动生成字幕，支持多语言识别、翻译、说话人分离、字幕烧入视频 --- # 视频字幕生成器 (Video Subtitle Generator) 基于 SenseAudio ASR API，为视频或音频文件自动生成字幕。 ## 核心功能 1. **语音识别** — 自动识别视频/音频中的语音内容，生成带时间戳的字幕 2. **多语言支持** — 支持中文、英文、日文、韩文等 20+ 种语言 3. **字幕翻译** — 识别后可自动翻译成目标语言 4. **说话人分离** — 多人对话场景自动区分不同说话人 5. **字幕烧入** — 将生成的字幕直接烧入视频输出新文件 6. **多格式输出** — 支持 SRT / VTT / TXT / JSON 格式 ## 使用方式 用户说出类似以下请求时触发此 Skill： - "帮我给这个视频加字幕" - "识别这个音频的内容并生成字幕" - "把这个英文视频翻译成中文字幕" - "帮我总结一下这个视频讲了什么" ## 执行步骤 ### 第一步：检查 API 密钥 ```bash echo "SENSEAUDIO_API_KEY=$SENSEAUDIO_API_KEY" ``` **如果 `SENSEAUDIO_API_KEY` 为空，必须先向用户询问，说明在 https://senseaudio.cn 注册获取。不要直接运行脚本让它报错。** ### 第二步：运行脚本生成字幕 ```bash # 基础用法 python scripts/video_subtitle.py "/path/to/video.mp4" --output outputs/ # 指定语言 + 翻译 python scripts/video_subtitle.py "/path/to/video.mp4" --language zh --translate en # 生成字幕并烧入视频 python scripts/video_subtitle.py "/path/to/video.mp4" --burn --font-size 28 # 说话人分离 python scripts/video_subtitle.py "/path/to/meeting.mp4" --model pro --speaker ``` 注意：如果环境变量 `SENSEAUDIO_API_KEY` 已设置，无需 `--senseaudio-api-key`。 ### 第三步：内容总结（如用户需要） 脚本会输出纯文本转写结果（`*.txt`）。如果用户需要视频内容总结，**你（Claude）直接读取这个 txt 文件并总结**，不需要调用外部 LLM。 ### 第四步：返回结果 将生成的字幕文件路径（和烧入后的视频路径）返回给用户。 ## ASR 模型选择 | 模型 | 参数值 | 特点 | 适用场景 | |------|--------|------|---------| | 极速版 | `lite` | 毫秒级响应、30+ 语言 | 低成本批量转写 | | 标准版 | `standard` | 功能全面、性价比高 | **通用转写、视频字幕（推荐）** | | 专业版 | `pro` | 高精度、说话人分离 | 会议记录、访谈、多人场景 | | 深度版 | `deepthink` | 智能纠错、方言增强 | 方言/术语较多的场景 | ## 环境要求 - Python 3.10+，依赖：`requests` - 系统依赖：`ffmpeg`（音频提取和字幕烧入）、`fonts-noto-cjk`（中日韩字幕烧入需要） - `SENSEAUDIO_API_KEY` — SenseAudio API 密钥（唯一需要的密钥） ## 参数说明 | 参数 | 说明 | 默认值 | |------|------|--------| | `input` | 输入视频/音频文件路径（必填） | - | | `--output` | 输出目录 | 输入文件同级 subtitle_output/ | | `--model` | ASR 模型 (lite/standard/pro/deepthink) | standard | | `--language` | 音频语言代码 (zh/en/ja 等) | 自动检测 | | `--translate` | 翻译目标语言代码 | 不翻译 | | `--speaker` | 启用说话人分离 | 否 | | `--sentiment` | 启用情感分析 | 否 | | `--burn` | 将字幕烧入视频 | 否 | | `--font-size` | 烧入字幕字体大小 | 24 | | `--format` | 字幕格式 (srt/vtt/both) | srt | | `--senseaudio-api-key` | SenseAudio API 密钥 | 环境变量 | ## 输出文件 | 文件 | 说明 | |------|------| | `文件名.srt` | SRT 格式字幕 | | `文件名.vtt` | VTT 格式字幕（需指定 --format vtt/both） | | `文件名.txt` | 纯文本转写结果 | | `文件名_detail.json` | 详细识别结果（含时间戳、说话人等） | | `文件名_subtitled.mp4` | 烧入字幕的视频（需指定 --burn） | ## 支持的语言代码 zh(中文) en(英文) ja(日文) ko(韩文) fr(法语) de(德语) es(西班牙语) pt(葡萄牙语) ru(俄语) it(意大利语) ar(阿拉伯语) yue(粤语) nl(荷兰语) id(印尼语) ms(马来语) th(泰语) tr(土耳其语) vi(越南语) 等


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: heihu123/douyin-download-video (version 1.0.0)

--- name: "视频下载器" description: "使用yt-dlp和ffmpeg下载各种网站的视频。支持YouTube、B站、抖音等所有yt-dlp支持的网站。当用户要求下载视频、保存视频、抓取视频时调用此技能。" --- # 视频下载器 使用yt-dlp和ffmpeg下载各种网站的视频，支持所有yt-dlp支持的网站。 ## 功能特点 - 支持所有yt-dlp支持的网站（YouTube、B站、抖音、快手、Instagram、Twitter等） - 自动下载并合并视频和音频流 - 默认下载1080p MP4格式 - 自动安装和更新yt-dlp - 自动检测和使用ffmpeg进行视频合并 ## 快速开始 最简单的下载方式： ```bash python download_video.py "视频URL" ``` 这会下载视频到用户下载目录（`~/Downloads`），文件名使用视频标题。 技能会自动： - 下载并设置ffmpeg（如果未安装） - 检查并安装yt-dlp（如果未安装） - 合并视频和音频流 ## 选项 ### 质量设置 使用`-q`或`--quality`指定视频质量： - `best`：最高质量 - `1080p`：全高清（默认） - `720p`：高清 - `480p`：标清 - `360p`：较低质量 示例： ```bash python download_video.py "URL" -q 1080p ``` ### 格式选项 指定输出格式： - `mp4`（默认）：最兼容的格式 - `webm`：现代格式 - `mkv`：Matroska容器 示例： ```bash python download_video.py "URL" -q 1080p ``` ### 只下载音频 使用`-a`或`--audio-only`只下载音频： ```bash python download_video.py "URL" -a ``` ### 自定义输出目录 使用`-o`或`--output`指定输出目录： ```bash python download_video.py "URL" -o "D:/Videos" ``` ## 完整示例 1. 下载1080p MP4视频到用户下载目录： ```bash python download_video.py "https://www.youtube.com/watch?v=VIDEO_ID" ``` 2. 下载B站视频： ```bash python download_video.py "https://www.bilibili.com/video/BV..." ``` 3. 只下载音频为MP3： ```bash python download_video.py "URL" -a ``` 4. 下载720p视频： ```bash python download_video.py "URL" -q 720p ``` 5. 下载到指定目录： ```bash python download_video.py "URL" -o "D:/Videos" ``` ## 工作原理 技能使用`yt-dlp`和`ffmpeg`： - 自动下载并设置ffmpeg（如果未安装） - 自动检查并安装yt-dlp（如果未安装） - 获取视频信息 - 选择最佳的视频和音频流 - 使用内置ffmpeg合并视频和音频流 - 支持广泛的视频网站和格式 ## 重要说明 - 默认下载到用户下载目录：`~/Downloads` - 视频文件名自动从视频标题生成 - ffmpeg会自动下载到技能目录（`.trae/skills/视频下载器/ffmpeg/`） - 较高质量的视频可能需要更长的下载时间和更多磁盘空间 - 某些网站可能需要使用浏览器cookies进行认证 ## 使用浏览器cookies（可选） 对于需要登录的视频，可以使用浏览器cookies： ```bash yt-dlp "URL" --cookies-from-browser chrome yt-dlp "URL" --cookies-from-browser edge yt-dlp "URL" --cookies-from-browser firefox ``` ## 常见问题 1. **403 Forbidden错误**：YouTube等网站的反爬虫机制，可以尝试： - 更新yt-dlp：`pip install --upgrade yt-dlp` - 使用浏览器cookies - 筭待一段时间后重试 2. **视频质量不理想**：尝试使用不同的格式选择器或使用浏览器cookies 3. **ffmpeg下载失败**：如果自动下载ffmpeg失败，可以手动下载并解压到技能目录的`ffmpeg/`文件夹


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: kofna3369/sentinel-1-ultimate (version 2.0.0)

--- name: sentinel-1-ultimate description: Portable USB AI agent with 7 guardians for offline sovereignty on Windows --- # SENTINEL-1 ULTIMATE > **STATUS:** BETA > **VERSION:** Complete Package (includes koboldcpp) > **PLATFORM:** Windows 10/11 (USB 3.1) ## What is SENTINEL-1? A **portable AI agent** that runs from a USB drive with zero installation, zero trace, and full offline capability. Includes 7 security guardians for maximum protection. ## Features - **7 Guardians** (Morgana's security checks) - **BitLocker encryption** on vault folder - **Offline mode** — no internet required once models installed - **Portable** — runs on any Windows PC - **Sovereign** — your data stays with you - **Includes Koboldcpp** (622MB, ready to run) ## What's Included - `koboldcpp/` — Koboldcpp executable (622MB) ✅ - `agent/sentinel/` — Sentinel agent Python files - `skills/` — Skills system - `Lancer_Sentinel.bat` — Windows launcher - `README_EN.md` — Complete English documentation - `MODELS_INSTALL.md` — Model download instructions - `docs/` — Quick guide + Update ritual - `vault/` — Encrypted storage ## Quick Start 1. Copy SENTINEL-1-EN folder to USB drive 2. Run `Lancer_Sentinel.bat` 3. Download models (see MODELS_INSTALL.md) 4. Start chatting! ## Security 7 Guardians verify every launch: 1. BitLocker Vault Protection 2. Pre-Chasse Test (Gemma validation) 3. USB Speed Check 4. Environment Verification 5. Memory Validation 6. Anonymous Mode 7. Guardian Protocol ## Credits Axioma Cluster (Ezekiel build, Morgana verification, Merlin guardian) For Alexandre's brother — sovereign AI in your pocket. Built with ❤️ by Axioma Stellaris - 2026


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: luoqianchenguni-max/a2a-market-compute-ledger (version 0.2.0)

--- name: a2a-market-compute-ledger description: Manage compute account ledgers, frozen balances, charge events, and settlement records for A2A commerce flows. Use when implementing or operating compute billing, debit, freeze, unfreeze, and audit trails. --- # a2a-Market Compute Ledger Build and operate the compute ledger module for RealMarket A2A runtime. Current status: scaffold-first skill for early registration. Keep APIs stable, add production logic incrementally. ## Scope - Own `ComputeAccount` domain object, balance snapshots, and immutable transaction journal. - Support reserve/freeze before negotiation and final debit after order confirmation. - Emit billing events to event bus for reputation, websocket push, and finance logs. ## Suggested Project Layout - `app/domain/entities/compute_account.py` - `app/application/services/billing_service.py` - `app/infrastructure/db/ledger_repository.py` - `app/infrastructure/tasks/reconcile_ledger.py` ## Minimum Contracts (MVP P0) 1. `freeze(account_id, amount, reason)` returns hold id and expiry. 2. `capture_hold(hold_id, order_id)` converts hold to settled charge. 3. `release_hold(hold_id)` unlocks unused balance. 4. `list_ledger_entries(account_id, from_ts, to_ts)` returns ordered journal records. ## Event Mapping - On hold created: emit `INTENT_CREATED` + billing extension payload. - On charge captured: emit `ORDER_CREATED` and settlement payload. - On charge finalized: emit `PAYMENT_SUCCEEDED`. ## Guardrails - Use integer minor units for money; avoid float math. - Enforce idempotency key on every mutating operation. - Keep journal append-only; never rewrite posted entries. ## Implementation Backlog - Add double-entry validation rules. - Add monthly statement export and audit tooling. ## Runtime Implementation - Status: implemented in local runtime package. - Primary code paths: - `runtime/src/domain/compute-ledger.js` - Validation: covered by `runtime/tests` and `npm test` in `runtime/`.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: dinghaibin/weather-tool (version 1.0.0)

--- name: weather-tool description: Get current weather and forecasts. Use when user needs to check current weather, get forecast for travel planning, or monitor weather conditions. --- # Weather Tool Get current weather and forecasts. ## Quick Start ```bash # Current weather python scripts/weather.py Beijing # Forecast python scripts/weather.py Beijing --forecast 3 ``` ## Usage ```bash python scripts/weather.py [LOCATION] [OPTIONS] Options: --forecast DAYS Forecast days (1-7) --json Output as JSON --celsius Use Celsius (default) --fahrenheit Use Fahrenheit ``` ## Examples ```bash # Current weather python scripts/weather.py Beijing # 3-day forecast python scripts/weather.py Shanghai --forecast 3 # JSON output python scripts/weather.py "New York" --json ``` ## Features - Current weather conditions - Multi-day forecasts - Temperature in C/F - JSON output - Multiple location support


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: flute/clawnetwork-node (version 1.1.0)

--- name: clawnetwork description: Earn CLAW by running a 20MB blockchain node. Your OpenClaw agent becomes a miner — 4 min setup, zero cost. Built for OpenClaw and all AI agents. user-invocable: true metadata: openclaw: requires: bins: [] --- You have access to ClawNetwork blockchain capabilities through the `clawnetwork` plugin. ## Available Operations ### Check node status Call `clawnetwork.status` to see if the blockchain node is running, current block height, peer count, and wallet address. ### Check balance Call `clawnetwork.balance` with optional `address` param. Defaults to your own wallet. ### Transfer CLAW Call `clawnetwork.transfer` with `to` (64-char hex address) and `amount` (in CLAW). Always confirm with the user before executing transfers. ### Register agent identity Call `clawnetwork.agent-register` with optional `name` to register your on-chain identity. ### Get testnet CLAW Call `clawnetwork.faucet` to receive free CLAW on testnet/devnet. ### Register a service Call `clawnetwork.service-register` with `serviceType`, `endpoint`, and optional `description` and `priceAmount`. ### Search services Call `clawnetwork.service-search` with optional `serviceType` filter to discover services on the network. ## Important Rules - Never transfer CLAW without explicit user confirmation - Always show the full recipient address before transfers - Validate addresses are 64-character hex strings - Report balances in human-readable format (e.g., "1.5 CLAW" not "1500000000") - If the node is offline, suggest running `openclaw clawnetwork start`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: fengerzh/umeng-stats (version 1.0.0)

--- name: umeng-stats description: > Query Umeng (友盟) app statistics including U-APM crash/error data and U-App analytics. Covers: crash stats, ANR counts, error trends, affected users, daily active users, new users, launches, total users, and all-app summaries. Use when the user asks about: 崩溃统计, 友盟数据, U-APM, crash stats, ANR, error rate, 活跃用户, 新增用户, 启动次数, 累计用户, 友盟统计, app稳定性, or any Umeng analytics question. Supports all 20 configured apps (工作台, 微小助, 企业服务, 微信服务, etc.). --- # Umeng Stats Query 友盟 U-APM (crash) and U-App (analytics) data via Open API. ## Config Apps and credentials: `skills/umeng-crash-stats/config.json` Resolve skill dir relative to `~/.openclaw/workspace`. ## Query Script ```bash python3 scripts/query_crash.py \ --app <name_or_key> \ --type <crash|today|yesterday|allapps> \ [--date YYYY-MM-DD|today|yesterday] \ [--crash-type all|java|ios|native|anr|custom|freeze] \ [--days N] [--json] [--list-apps] ``` Resolve `scripts/` relative to `skills/umeng-crash-stats/`. ### Query Types | --type | Service | Description | |--------|---------|-------------| | `crash` | U-APM | 崩溃/错误统计（按小时） | | `today` | U-App | 今日实时数据 | | `yesterday` | U-App | 昨日统计数据 | | `allapps` | U-App | 全产品汇总 | ### Crash Types (--crash-type, only for type=crash) | Value | Description | |-------|-------------| | all (0) | 全部崩溃 | | java/ios (1) | Java/iOS 崩溃 | | native (2) | Native 崩溃 | | anr (3) | ANR | | custom (4) | 自定义异常 | | freeze (5) | 卡顿 | ### Examples ```bash # 工作台昨天数据（活跃/新增/启动） python3 scripts/query_crash.py --app 工作台 --type yesterday # 企业服务昨天崩溃 python3 scripts/query_crash.py --app 企业服务 --type crash # 微小助今天实时数据 python3 scripts/query_crash.py --app 微小助 --type today # 全产品汇总 python3 scripts/query_crash.py --type allapps # 列出所有已配置 app python3 scripts/query_crash.py --list-apps ``` ## Supported Apps (in config.json) 工作台, 微小助, 企业服务, 微信服务, 企微服务, QQ服务, 新QQ服务, 飞书服务, 抖音服务, 小红书服务, WA商业版服务, WA个人版服务, 加微助手, 应用管理, Linkunion, 成长星, 违禁词, 管控助手, 拨号盘, 工作台_ios ## API Details - Gateway: `https://gateway.open.umeng.com` - U-APM: `umeng.quickbird.server.getStatTrend` (signed with `com.umeng.uapm`) - U-App: `getTodayData`, `getYesterdayData`, `getAllAppData` (signed with `com.umeng.uapp`) - Rate limit: 5 calls/second - Max date range (crash): 90 days - Signing: HMAC-SHA1 on `urlPath + sorted_param_kv`, key=`apiSecurity`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: k2-l/my-crypto-signal-skill (version 1.0.5)

--- name: crypto-signal description: > Crypto trading signal, price prediction, market analysis for any Binance pair (BTC, ETH, SOL, USDT...). Trigger on: crypto, signal, buy, sell, "should I buy", trade, CPI, Fed, macro news. --- # Crypto Signal Skill ## Rules - NEVER print raw JSON or file contents; summarize key fields only. - NEVER invent probability forecasts or advice beyond what the script outputs. - After `signal` completes: write `llm_judgment` into the signal JSON (1-2 sentences max), then run `verify`. Do NOT do anything else. - When reading any `.json` file, extract only: direction, confidence, score, key factor votes, news_summary. Discard the rest. ## Setup Credentials: `~/.openclaw/credentials/crypto-signal.json` (auto-created, chmod 600). **Required:** `News_apiKey` / `NEWSAPI_KEY` · **Optional:** `CP_apiKey`/`CRYPTOPANIC_KEY`, `Bian_apiKey`/`BINANCE_API_KEY`, `proxy`/`HTTPS_PROXY` (mainland China: `http://127.0.0.1:7890`) ## Usage `SCRIPT=~/.openclaw/workspace/skills/my-crypto-signal-skill/scripts/crypto_signal.py` - `run <SYMBOL> [--skip-news]` — full pipeline (3m/15m/30m/1h → news → signal) - `fetch <SYMBOL> [--interval 3m|15m|30m|1h]` — market data only - `news <SYMBOL>` — news only · `signal <SYMBOL> [--skip-news]` — signal only - `verify signals/<file>.json` — verify 30min later · `report` — hit rate summary - `schedule <SYMBOL> [--dry-run]` — adaptive news loop ## Scoring Per-timeframe weighted tech score (1h×4, 30m×3, 15m×2, 3m×1) + news sentiment + extreme-keyword veto (±3). ≥+3=BUY/HIGH · +2=BUY/MED · -1~+1=HOLD · -2=SELL/MED · ≤-3=SELL/HIGH ## Scheduler NewsAPI 100 req/day: normal 30min; NFP/CPI 12:30UTC→5min/60min; Fed 18:00UTC→5min/90min; opens→10min/30min. Hard stop 95 req, resets UTC midnight.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: adacapo21/indigo-ipfs (version 1.0.0)

--- name: indigo-ipfs description: "Store and retrieve data on IPFS and query collector UTXOs for the Indigo Protocol." allowed-tools: Read, Glob, Grep license: MIT metadata: author: indigoprotocol version: '0.1.0' --- # Indigo IPFS & Collector Store and retrieve data on IPFS and query collector UTXOs for the Indigo Protocol on Cardano. ## MCP Tools ### store_on_ipfs Store text content on IPFS. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `text` | string | Yes | Text content to store on IPFS | **Returns:** The IPFS content identifier (CID) for the stored content. --- ### retrieve_from_ipfs Retrieve content from IPFS by CID. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `cid` | string | Yes | IPFS content identifier (CID) | **Returns:** The text content stored at the given CID. --- ### get_collector_utxos Get collector UTXOs for fee distribution. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `length` | number | No | Maximum number of UTXOs to return | **Returns:** A list of collector UTXOs with their values and assets. ## Sub-Skills - [IPFS Storage](sub-skills/ipfs-storage.md) — Store and retrieve data on IPFS - [Collector](sub-skills/collector.md) — Query collector UTXOs for fee distribution ## References - [MCP Tools Reference](references/mcp-tools.md) — Detailed tool parameters and return types - [Concepts](references/concepts.md) — IPFS content addressing and collector fee distribution


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: odinbot33/oee-content-humanizer (version 1.0.0)

# 🐾 Humanizer — AI Content De-Robotifier > by Odin's Eye Enterprises — Ancient Wisdom. Modern Intelligence. Strip the AI out of AI-generated text. Makes content sound like a human wrote it. ## What It Does 1. **Detects** AI tells (buzzwords, tone inflation, repetitive structure) 2. **Rewrites** with natural cadence, contractions, varied rhythm 3. **Tunes** output for specific platforms (Twitter, LinkedIn, Blog, Email, Telegram) ## Trigger Phrases - "humanize this text" - "make this sound human" - "de-robotify this" - "rewrite this naturally" - "strip the AI from this" ## Usage ```bash # Direct argument python humanize.py "Your AI-sounding text here" --channel twitter # Pipe from stdin echo "In today's rapidly evolving landscape..." | python humanize.py --channel linkedin # Detection only (no rewrite) python humanize.py -d "Let's delve into this transformative tapestry" # General rewrite (no specific channel) python humanize.py "text here" ``` ## Channels | Channel | Style | |------------|-------------------------------------| | `twitter` | Punchy, <280 chars, direct | | `linkedin` | Professional but conversational | | `blog` | Longer form, personal voice | | `email` | Brief, clear, action-oriented | | `telegram` | Casual, concise | | `general` | Natural prose (default) | ## Requirements - Python 3.10+ (stdlib only — no pip installs) - `ANTHROPIC_API_KEY` environment variable - Uses Claude Haiku for cost efficiency ## For Agents When asked to humanize text, run from the skill directory: ```bash python humanize.py "TEXT" --channel CHANNEL ``` Stdout = clean rewritten text. Stderr = detection info. <!-- 🐾 a raven left paw prints in the snow -->


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: 52yuanchangxing/issue-reproducer (version 1.0.0)

--- name: issue-reproducer version: 1.0.0 description: "把 bug 描述整理成可复现步骤、环境、预期与实际结果和最小复现条件。；use for bug, reproduction, qa workflows；do not use for 伪造日志, 忽略用户给出的环境差异." author: OpenClaw Skill Bundle homepage: https://example.invalid/skills/issue-reproducer tags: [bug, reproduction, qa, engineering] user-invocable: true metadata: {"openclaw":{"emoji":"🐞","requires":{"bins":["python3"]},"os":["darwin","linux","win32"]}} --- # 问题复现整理器 ## 你是什么 你是“问题复现整理器”这个独立 Skill，负责：把 bug 描述整理成可复现步骤、环境、预期与实际结果和最小复现条件。 ## Routing ### 适合使用的情况 - 把这个 bug 描述整理成可复现单 - 生成最小复现条件 - 输入通常包含：报错描述、环境信息、复现线索 - 优先产出：问题摘要、环境、补充采样建议 ### 不适合使用的情况 - 不要伪造日志 - 不要忽略用户给出的环境差异 - 如果用户想直接执行外部系统写入、发送、删除、发布、变更配置，先明确边界，再只给审阅版内容或 dry-run 方案。 ## 工作规则 1. 先把用户提供的信息重组成任务书，再输出结构化结果。 2. 缺信息时，优先显式列出“待确认项”，而不是直接编造。 3. 默认先给“可审阅草案”，再给“可执行清单”。 4. 遇到高风险、隐私、权限或合规问题，必须加上边界说明。 5. 如运行环境允许 shell / exec，可使用： - `python3 "{baseDir}/scripts/run.py" --input <输入文件> --output <输出文件>` 6. 如当前环境不能执行脚本，仍要基于 `{baseDir}/resources/template.md` 与 `{baseDir}/resources/spec.json` 的结构直接产出文本。 ## 标准输出结构 请尽量按以下结构组织结果： - 问题摘要 - 环境 - 复现步骤 - 预期结果 - 实际结果 - 补充采样建议 ## 本地资源 - 规范文件：`{baseDir}/resources/spec.json` - 输出模板：`{baseDir}/resources/template.md` - 示例输入输出：`{baseDir}/examples/` - 冒烟测试：`{baseDir}/tests/smoke-test.md` ## 安全边界 - 会强调缺失信息，不自动判断根因。 - 默认只读、可审计、可回滚。 - 不执行高风险命令，不隐藏依赖，不伪造事实或结果。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: lukasosterheider/supermarket-offer-watcher (version 0.2.0)

--- name: buy-it-cheaper description: Save a personal grocery product watchlist and check nearby supermarket deals automatically by radius. Use when the user wants to track products (e.g., coffee pads), configure home location, choose radius, and set daily or weekly deal alerts with notifications. --- # Supermarket Offer Watcher ## Overview Use this skill to maintain a local product watchlist and run recurring nearby-offer checks across supermarket chains. Configurable after installation: - Home location (text) - Radius (km) - Product list - Check frequency (**daily** or **weekly**) - Check time and timezone Default data file: - `/data/workspace/data/supermarkt-watchlist.json` ## Quick setup Run from the skill folder. 1) Initialize config: ```bash python3 scripts/watchlist.py init --location "<ZIP CITY>" --radius-km 15 --mode daily --time 07:00 --tz Europe/Berlin ``` 2) Add products: ```bash python3 scripts/watchlist.py add "Senseo Coffee Pads" --aliases "Senseo Pads" --stores "REWE,EDEKA,Lidl,Aldi,Kaufland,Netto,Penny" ``` 3) Inspect config: ```bash python3 scripts/watchlist.py list ``` ## Manage configuration later Update location/radius: ```bash python3 scripts/watchlist.py set-home --location "00001 Berlin" --radius-km 20 ``` Update schedule: ```bash # daily at 07:00 python3 scripts/watchlist.py set-schedule --mode daily --time 07:00 --tz Europe/Berlin # weekly on monday at 07:00 python3 scripts/watchlist.py set-schedule --mode weekly --weekday monday --time 07:00 --tz Europe/Berlin ``` Remove product: ```bash python3 scripts/watchlist.py remove "Senseo Coffee Pads" ``` ## Offer-check workflow 1. Load watchlist config from `/data/workspace/data/supermarkt-watchlist.json`. 2. For each product, run 2–4 `web_search` queries (product + "offer/deal" + location + optional chain). 3. Open promising result pages using `web_fetch`. 4. Validate each hit before reporting: - Product (or alias) is explicit - Store/chain is clear - Date window is currently valid (today/in current week) - Price or discount is visible 5. Deduplicate same product/store/date combinations. 6. Send compact alert summary. ## Alert format Use this line format per valid deal: `✅ <Product> — <Store> — <Price/Discount> — valid until <Date> — <URL>` If no safe deals are found, send: `No reliable nearby offers found today.` ## Cron setup guidelines Use `cron.add` with `sessionTarget: "isolated"` and `payload.kind: "agentTurn"`. - Daily cron expression: `0 7 * * *` - Weekly cron expression example (Monday): `0 7 * * 1` - Always set timezone from config (e.g., `Europe/Berlin`). In the cron prompt, instruct the agent to: - read watchlist config, - run offer checks, - report only validated deals.


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