OpenClaw/clawhub-security-signals huggingface dataset:
Skill: tuanvidev/next-upgrade (version 0.1.0)

--- name: next-upgrade description: Upgrade Next.js to the latest version following official migration guides and codemods argument-hint: "[target-version]" --- # Upgrade Next.js Upgrade the current project to the latest Next.js version following official migration guides. ## Instructions 1. **Detect current version**: Read `package.json` to identify the current Next.js version and related dependencies (React, React DOM, etc.) 2. **Fetch the latest upgrade guide**: Use WebFetch to get the official upgrade documentation: - Codemods: https://nextjs.org/docs/app/guides/upgrading/codemods - Version-specific guides (adjust version as needed): - https://nextjs.org/docs/app/guides/upgrading/version-16 - https://nextjs.org/docs/app/guides/upgrading/version-15 - https://nextjs.org/docs/app/guides/upgrading/version-14 3. **Determine upgrade path**: Based on current version, identify which migration steps apply. For major version jumps, upgrade incrementally (e.g., 13 → 14 → 15). 4. **Run codemods first**: Next.js provides codemods to automate breaking changes: ```bash npx @next/codemod@latest <transform> <path> ``` Common transforms: - `next-async-request-api` - Updates async Request APIs (v15) - `next-request-geo-ip` - Migrates geo/ip properties (v15) - [REDACTED_SECRET] - Transforms dynamic imports (v15) 5. **Update dependencies**: Upgrade Next.js and peer dependencies together: ```bash npm install next@latest react@latest react-dom@latest ``` 6. **Review breaking changes**: Check the upgrade guide for manual changes needed: - API changes (e.g., async params in v15) - Configuration changes in `next.config.js` - Deprecated features being removed 7. **Update TypeScript types** (if applicable): ```bash npm install @types/react@latest @types/react-dom@latest ``` 8. **Test the upgrade**: - Run `npm run build` to check for build errors - Run `npm run dev` and test key functionality


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

--- name: iss-tracker description: Get the real-time location (latitude/longitude) of the International Space Station. bins: ["curl", "jq"] --- # ISS Tracker This skill provides the current geographic coordinates of the International Space Station using the Open Notify API. ### Current Location To get the current position of the ISS, run this command: ```bash curl -s "http://api.open-notify.org/iss-now.json" | jq -r '"Lat: \(.iss_position.latitude), Lon: \(.iss_position.longitude)"'


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wangchuang9523-gif/a4-to-a3-pdf (version 1.0.0)

--- name: a4-to-a3-pdf version: 1.0.0 description: 将文件夹中的图片按顺序两两合并为A3横向PDF（两张A4左右并排）。触发词：合并PDF、合成A3、两张A4合成一页、图片转PDF。 --- # A4 to A3 PDF Merger 将多张图片合并为 A3 横向 PDF，每页放置两张图片（左右并排）。 ## Usage ### 方法1：使用脚本（推荐） ```bash python scripts/merge_a4_to_a3.py <图片文件夹> <输出PDF路径> [dpi] ``` 示例： ```bash python scripts/merge_a4_to_a3.py "C:\Users\ZERO\Desktop\质保书" "C:\Users\ZERO\Desktop\输出.pdf" ``` ### 方法2：手动生成 如需自定义（如添加白边、调整尺寸），参考脚本逻辑自行修改。 ## Output Format - 页面尺寸：A3 横向（420mm × 297mm） - 每页：左右两张 A4 图片，无白边 - 分辨率：默认 300 DPI - 图片按数字顺序排列（1.jpg, 2.jpg, ...） ## Dependencies - Python 3.x - Pillow: `python -c "from PIL import Image"` 或 `python -m pip install Pillow`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: szx19970521/openclaw-mobile-pair (version 0.1.1)

--- name: openclaw-mobile-pair description: 一键生成 OpenClaw 手机控制中心连接码（自动读取本机 gateway token） user-invocable: true --- # OpenClaw Mobile Pair Use this skill to generate a mobile pairing code for OpenClaw control app users. ## Workflow 1. Ask for `BFF` URL only if not provided by the user. 2. Run `scripts/generate-mobile-pairing.ps1` to generate pairing code. 3. Return: - Pairing code - Output file path - Quick next step for mobile user ## Command Template ```powershell powershell -ExecutionPolicy Bypass -File scripts/generate-mobile-pairing.ps1 -BffBaseUrl "<https://api.yourdomain.com/>" -CopyToClipboard ``` ## Response Style - Keep it short and actionable. - If generation fails, state exact reason and how to fix it.

path: VERSION.txt
content: 0.1.0


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: jianweig200-commits/skills-public (version 1.0.0)

--- name: stock-query description: 查询股票实时行情。支持 A 股/港股/美股。使用方式：直接说股票代码或名称（如"贵州茅台股价"、"600519"、"腾讯控股"、"BABA"） --- # 股票查询技能 查询股票实时行情数据。 ## 使用方法 ### 自然语言查询 直接告诉我要查询的股票： - "贵州茅台股价多少" - "查一下 600519" - "腾讯控股今天涨跌如何" - "BABA 美股行情" ### 我会自动 1. 识别股票代码/名称 2. 使用网络搜索获取实时行情 3. 整理返回：当前价、涨跌幅、最高/最低、成交量等 ## 支持的市场 | 市场 | 示例 | 说明 | |------|------|------| | A 股 | 贵州茅台、600519、平安银行 | 沪深股市 | | 港股 | 腾讯控股、0700、阿里巴巴 -S | 香港交易所 | | 美股 | BABA、AAPL、TSLA | 纳斯达克/纽交所 | ## 输出信息 - 股票名称和代码 - 当前价格 - 涨跌幅度和百分比 - 最高价/最低价 - 今开/昨收 - 成交量/成交额 - 总市值 (如可获取) ## 数据来源 使用网络搜索获取实时股票数据，确保信息准确可靠。 ## 注意事项 1. 股市交易时间外显示最后成交价 2. 美股数据可能有 15 分钟延迟 3. 港股/A 股为实时数据 (交易时间内) 4. 如遇数据获取失败，会提示重试 ## 相关命令 ```bash # 手动查询 (备用) python /root/.openclaw/workspace/skills/stock-query/scripts/stock_query.py <代码> ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jeffaf/countries (version 1.0.0)

--- name: countries version: 1.0.0 description: "CLI for AI agents to lookup country info for their humans. Uses REST Countries API. No auth required." homepage: https://restcountries.com metadata: openclaw: emoji: "🌍" requires: bins: ["bash", "curl", "jq", "bc"] tags: ["countries", "geography", "reference", "api", "cli"] --- # Countries Lookup CLI for AI agents to lookup country info for their humans. "What's the capital of Mongolia?" — now your agent can answer. Uses REST Countries API (v3.1). No account or API key needed. ## Usage ``` "Tell me about Japan" "What countries are in South America?" "Which country has Tokyo as capital?" "Info on country code DE" ``` ## Commands | Action | Command | |--------|---------| | Search by name | `countries search "query"` | | Get details | `countries info <code>` | | List by region | `countries region <region>` | | Search by capital | `countries capital "city"` | | List all | `countries all` | ### Examples ```bash countries search "united states" # Find country by name countries info US # Get full details by alpha-2 code countries info USA # Also works with alpha-3 countries region europe # All European countries countries capital tokyo # Find country by capital countries all # List all countries (sorted) ``` ### Regions Valid regions: `africa`, `americas`, `asia`, `europe`, `oceania` ## Output **Search/list output:** ``` [US] United States — Washington D.C., Americas, Pop: 331M, 🇺🇸 ``` **Info output:** ``` 🌍 Japan Official: Japan Code: JP / JPN / 392 Capital: Tokyo Region: Asia — Eastern Asia Population: 125.8M Area: 377930 km² Languages: Japanese Currencies: Japanese yen (JPY) Timezones: UTC+09:00 Borders: None (island/isolated) Driving: left side Flag: 🇯🇵 🗺️ Map: https://goo.gl/maps/... ``` ## Notes - Uses REST Countries API v3.1 (restcountries.com) - No authentication or rate limits - Country codes: alpha-2 (US), alpha-3 (USA), or numeric (840) - Population formatted with K/M/B suffixes - All regions lowercase --- ## Agent Implementation Notes **Script location:** `{skill_folder}/countries` (wrapper to `scripts/countries`) **When user asks about countries:** 1. Run `./countries search "name"` to find country code 2. Run `./countries info <code>` for full details 3. Run `./countries region <region>` for regional lists 4. Run `./countries capital "city"` to find by capital **Common patterns:** - "What country is X in?" → search by name - "Tell me about X" → search, then info with code - "Countries in Europe" → region europe - "Capital of X" → info with code, check capital field - "What country has capital X?" → capital search **Don't use for:** Historical countries, disputed territories, non-sovereign regions.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: 786793119/habit-tracker-companion (version 1.0.0)

--- name: habit-tracker-companion slug: habit-tracker-companion version: 1.0.0 description: 习惯养成打卡助手，连续激励、数据统计、陪你养成好习惯。 homepage: https://github.com/786793119/miya-skills metadata: {"openclaw":{"emoji":"🎯","requires":{"bins":["python3"]},"os":["linux","darwin","win32"]}} --- # 习惯养成打卡 (Habit Tracker Companion) 陪你养成好习惯的打卡助手。 ## 功能 - 添加新习惯 - 打卡记录 - 连续打卡天数统计 - 完成率数据分析 - 连续激励（里程碑鼓励） ## 使用示例 ```bash # 添加习惯 python habit-tracker-companion.py add_habit "每天喝水" "每天喝8杯水" # 打卡 python habit-tracker-companion.py check_in 1 # 查看连续天数 python habit-tracker-companion.py get_streak 1 # 查看统计 python habit-tracker-companion.py get_stats 1 ``` ## 数据存储 - 习惯数据: `~/.memory/habits/habits.json` --- *By Miya - 2026*


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

--- name: weather-tools description: Get current weather and forecasts (no API key required). homepage: https://wttr.in/:help metadata: {"clawdbot":{"emoji":"🌤️","requires":{"bins":["curl"]}}} # Weather Get weather information using wttr.in (no API key required). ## Current weather ```bash curl wttr.in ``` Location-specific: ```bash curl wttr.in/Beijing ``` Compact output: ```bash curl wttr.in/?format=3 ``` ## Forecasts 3-day forecast: ```bash curl wttr.in/?1 ``` Tomorrow: ```bash curl wttr.in/?1T ``` Full forecast: ```bash curl wttr.in/?2 ``` ## Output formats Current temp only: ```bash curl wttr.in/?format=%t ``` Wind direction and speed: ```bash curl wttr.in/?format=%w ``` Full location name: ```bash curl wttr.in/?format=%l ``` Custom format: ```bash curl wttr.in/?format="%l: %c+%t+%w" ``` ## Examples Beijing current weather: ```bash curl wttr.in/Beijing ``` Shanghai 3-day forecast: ```bash curl wttr.in/Shanghai?1 ``` Compact format (any location): ```bash curl wttr.in/Tokyo?format=3 ``` Moon phase: ```bash curl wttr.in/?format=%m ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: olina1ye/email-apology-zh (version 1.0.0)

--- name: email-apology-zh description: > 专为客服、项目管理及日常职场场景设计的专业道歉邮件生成工具。适用于服务延误、 发货推迟、系统故障、数据错误、承诺未兑现等各类需要正式致歉的情况。能够生成 语气诚恳、结构清晰的道歉邮件/致歉函/补救邮件，包含问题说明、责任承担、具体 补救措施与后续预防方案，帮助快速挽回客户或合作方信任。同义词覆盖：道歉信、 延误通知、错误处理邮件、补救说明、致歉函。 tags: [道歉邮件, 致歉函, 客服, 项目管理, 延误通知, 错误处理, apology-email, customer-service] --- # 专业道歉邮件生成器 根据延误、错误或服务问题的具体情况，快速生成语气诚恳、附带解决方案的正式道歉邮件。 ## Tools Required - read - write ## Usage - "我们的系统昨晚出现故障导致用户数据丢失，帮我写一封道歉邮件发给受影响的客户" - "项目交付延误了两周，需要给甲方写一封致歉函，说明原因并给出补救计划" - "我们发错货了，帮我起草一封补救邮件，向客户道歉并说明退换货流程" - "因为内部沟通失误，报价单数字写错了，帮我写一封错误处理邮件向合作方道歉" ## Examples 输入：物流延误导致客户订单比承诺时间晚了5天，客户已多次催促，需要道歉并说明补偿方案（补偿50元优惠券） 输出： 主题：关于您的订单延误——诚挚致歉及补偿说明 尊敬的[客户姓名]您好， 首先，对于此次订单（订单号：XXXXXX）的配送延误，我们深感抱歉。您的包裹原定于[原定日期]送达，实际到货时间为[实际日期]，整整晚了5天，给您带来了极大不便，这完全是我方物流协调失误所致，责任在我们。 目前您的订单已于[日期]完成发货，预计[预计到达日期]内送达，您可通过以下链接实时追踪物流状态：[物流查询链接]。 为弥补本次延误给您造成的损失，我们已向您的账户发放50元无门槛优惠券，有效期90天，请查收。 我们已就本次事件对物流对接流程进行了全面复盘，并升级了订单延误预警机制，确保类似情况不再发生。 再次为本次失误向您诚挚致歉，感谢您的理解与支持。如有任何疑问，欢迎随时联系我们。 [发件人姓名] 敬上 [联系方式]


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

--- name: Podcast description: Create and grow podcasts by planning episodes, producing audio or video, generating clips, and building audience across formats. --- ## Core Workflow Every podcast follows: Concept → Plan → Record/Generate → Edit → Publish → Promote. Before starting ANY podcast: 1. **Format** — Solo, interview, panel, narrative, or AI-generated 2. **Niche** — Specific topic + audience (not "business" but "bootstrapped SaaS founders") 3. **Cadence** — Weekly, biweekly, or seasonal (consistency > frequency) ## Project Structure ``` ~/podcasts/<show>/ ├── brand/ # Cover art, intro/outro, music ├── episodes/ # One folder per episode │ └── 001/ │ ├── outline.md │ ├── recording.mp3 │ ├── transcript.md │ ├── show-notes.md │ └── clips/ ├── guests.md # Guest tracker + relationship notes └── analytics.md # Performance patterns ``` ## Episode Checklist Pre-production: - [ ] Topic researched, angle clear - [ ] Outline/script with hooks and transitions - [ ] Guest prep (if interview): questions + research Post-production: - [ ] Audio cleaned, levels normalized - [ ] Show notes with timestamps - [ ] 3-5 clips extracted for social - [ ] Thumbnail (if video) ## Quick Reference | Need | Load | |------|------| | Format-specific guidance (solo, interview, panel) | `formats.md` | | Audio and video production techniques | `production.md` | | AI-generated podcast creation | `ai-generation.md` | | Growth, SEO, social, monetization | `growth.md` | | Episode planning, scripts, show notes | `episodes.md` | | Tools, platforms, APIs | `tools.md` | ## Critical Rules 1. **Hook in first 30 seconds** — State the value, tease the best moment 2. **Consistency beats perfection** — Ship on schedule, improve incrementally 3. **Clips are growth engine** — Every episode = 3-5 social clips minimum 4. **Engage the niche** — Better to own a small audience than chase a big one 5. **Video is optional but powerful** — YouTube podcast search is growing fast


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: gbabyzs/aigc-risk-assessment (version 1.0.0)

# Risk Assessment - 风险评估工具 ## 功能说明 提供投资组合风险评估和仓位管理建议。 ## 核心功能 ### 风险指标 - VaR (风险价值) - CVaR (条件风险价值) - 波动率 - Beta 系数 - 夏普比率 ### 压力测试 - 历史情景模拟 - 极端市场测试 - 相关性断裂测试 ### 仓位管理 - 凯利公式 - 风险平价 - 最大仓位建议 ## 使用示例 ```python from risk_assessment import calculate_var, position_suggestion # 计算 VaR var_result = calculate_var(stock_code="300308", confidence=0.95) # 仓位建议 position = position_suggestion( total_capital=1000000, risk_tolerance=0.02, stock_price=534.80, stop_loss=0.10 ) ``` ## 安装依赖 ```bash pip install akshare pandas numpy scipy ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: bobbycats/feishu-probe-optimize (version 1.0.0)

# 飞书 Probe 优化 检测并优化飞书扩展的 probe 缓存配置，减少 API 调用次数。 ## 问题背景 OpenClaw 的飞书扩展在每次健康检查时会调用飞书 Bot API `/open-apis/bot/v3/info` 来验证连接状态。健康检查每分钟执行一次。 > **飞书免费额度**：每月 50,000 次（2026年3月） ### 默认配置 | 状态 | 缓存时间 | |------|---------| | 成功 | 10 分钟 | | 失败 | 1 分钟 | ### 默认情况下的 API 调用量 假设配置了 N 个飞书账号： - 每天调用：N × 24 × 60 = N × 1,440 次 - 每月调用：N × 43,200 次 如果配置 3 个飞书账号，每月调用 **129,600 次**，很容易超过飞书免费配额。 ## 优化方案 将缓存时间调整为更长间隔： | 状态 | 默认时间 | 优化后时间 | |------|---------|-----------| | 成功 | 10 分钟 | **24 小时** | | 失败 | 1 分钟 | **1 小时** | ### 优化后的 API 调用量 - 每天调用：N × 1 次 = N 次 - 每月调用：N × 30 次 3 个账号：每月仅 **90 次**，节省 **99.93%**。 ## 新增飞书账号 每增加一个飞书账号，每 24 小时会增加 1 次 API 调用（成功情况下）。配置本身无需修改，缓存机制自动适配所有账号。 | 账号数 | 每天调用 | 每月调用 | |--------|---------|---------| | 1 | 1 | 30 | | 3 | 3 | 90 | | 5 | 5 | 150 | | 10 | 10 | 300 | ## 更新 OpenClaw 后 OpenClaw 大版本更新时，`extensions/feishu/src/probe.ts` 文件会被覆盖，缓存时间会恢复到默认值（10分钟/1分钟）。 **更新后需要：** 1. 重新修改 `probe.ts` 中的缓存配置 2. 执行全量编译：`pnpm build` 3. 重启服务：`systemctl --user restart openclaw-gateway` 详见下文「使用步骤」。 ## 使用步骤 ### 步骤 1：定位文件 ```bash find ~/.openclaw/workspace/openclaw/extensions/feishu/src -name "probe.ts" ``` ### 步骤 2：修改配置 打开 probe.ts，找到这两行： ```typescript const PROBE_SUCCESS_TTL_MS = 10 * 60 * 1000; // 10 minutes const PROBE_ERROR_TTL_MS = 60 * 1000; // 1 minute ``` 修改为： ```typescript const PROBE_SUCCESS_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours const PROBE_ERROR_TTL_MS = 60 * 60 * 1000; // 1 hour ``` ### 步骤 3：全量编译 **重要：必须执行全量编译，禁止单扩展编译。** ```bash cd ~/.openclaw/workspace/openclaw pnpm build ``` ### 步骤 4：验证编译产物 检查 `dist/extensions/` 目录是否包含全部扩展（feishu、telegram 等）。如果只剩 feishu，说明编译方式错误。 ### 步骤 5：重启服务 ```bash systemctl --user restart openclaw-gateway ``` ### 步骤 6：验证服务状态 ```bash systemctl --user status openclaw-gateway ``` 确认服务正常运行（active (running)）。 ## 为什么必须全量编译？ 单扩展编译（如 `pnpm --filter feishu build`）会清空并覆盖 `dist/extensions/` 目录，导致其他扩展的编译产物被删除。 重启后服务会因配置校验失败而崩溃，并进入循环重启。 ## 故障排查 ### 服务重启后崩溃 ```bash journalctl --user -u openclaw-gateway -n 50 ``` - 报错 `plugin not found`：dist 目录不完整，需要重新执行全量编译 - 报错 `Config invalid`：检查 openclaw.json 中的扩展配置 ### 缓存未生效 确认修改的是 `extensions/feishu/src/probe.ts`（源码），不是 `dist/extensions/feishu/probe.js`（编译产物）。 ## 前后对比 | 指标 | 优化前（3账号） | 优化后（3账号） | 节省 | |------|----------------|----------------|------| | 每天调用 | 4,320 次 | 3 次 | 99.93% | | 每月调用 | 129,600 次 | 90 次 | 99.93% | | 每年调用 | 1,555,200 次 | 1,095 次 | 99.93% | ## 更多信息 - 飞书 Bot API 文档：https://open.feishu.cn/document/server-docs/bot-v3/bot-info - OpenClaw 飞书扩展：https://docs.openclaw.ai/channels/feishu


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector:  ()
Skill: elesingp2/clawhub-intro-skill (version 0.1.0)

# ClawHub: Intro Skill Краткое описание - ClawHub — демонстрационный скилл, показывающий структуру для публикации в ClawHub. Что делает - Содержит описание, метаданные и примеры использования для публикации в реестр ClawHub. Установка (для пользователя) - CLI: `clawhub install clawhub-intro-skill` Публикация (для автора) - Пример команды (в каталоге скила): clawhub publish ./ --slug clawhub-intro-skill --name "ClawHub Intro Skill" --version 0.1.0 --tags latest Файлы в пакете - `SKILL.md` — этот файл, основной контент и инструкция. - `skill.json` — машинно-читаемые метаданные для реестра. - `README.md` — краткая инструкция и ссылки. - `example.md` — пример использования и демонстрация. Теги: demo, clawhub, tutorial Лицензия: MIT


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lknezic/reddit-post (version 1.0.0)

# Reddit Post Skill ## Use When Moving APPROVED drafts to shared/posted/ after Luka has manually posted them. Archiving. Updating active-tasks.md. ## Don't Use When Anything involving actually submitting content to Reddit — that is Luka's job, always. This skill handles post-posting bookkeeping only. --- ## Workflow ### After Luka Posts Luka will notify via Telegram with the Reddit URL of the posted content. When you receive confirmation: 1. Read the corresponding decision file in shared/decisions/ (status: APPROVED) 2. Copy the draft from shared/pending/ to shared/posted/ 3. Add the live Reddit URL to the top of the posted file 4. Delete the original from shared/pending/ 5. Update shared/memory/active-tasks.md — move from "Pending Decisions" to "Recently Completed" 6. Log to today's daily log: `shared/memory/[YYYY-MM-DD].md` ### Posted File Format ```markdown --- subreddit: r/thetagang posted_at: 2026-02-19T10:23:00 reddit_url: https://www.reddit.com/r/thetagang/comments/[id]/[slug]/ approved_by: Luka --- [Original draft content] ``` --- ## Outcome Tracking When Luka provides feedback after a post (reactions, upvotes, comments, rejections by mods), write a lesson signal to shared/memory/active-tasks.md in this format: ``` LESSON SIGNAL — [date] Subreddit: r/thetagang Post: shared/posted/[filename] Outcome: [approved by mods / removed / X upvotes / strong comments / weak engagement] Signal: [what this tells us — pattern or anti-pattern] ``` Manager will promote these signals into lessons.md on Sunday curation. --- ## What You Never Do - Never submit a post to Reddit yourself — Luka posts manually, always - Never move a draft to posted/ without a Reddit URL from Luka confirming it was posted - Never delete from pending/ until you have confirmed the file is in posted/


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: frankle1117/daily-news-report (version 1.0.2)

# Daily News Brief ## Purpose 每日定时抓取、处理和推送新闻资讯的 skill。支持全量模式和重点领域模式，自动去重、分类、排序和改写新闻，输出结构化的日报。 ## Capabilities - 定时抓取多个新闻源（财联社、IT之家、36氪等） - 智能去重：URL去重、标题规范化去重、多源事件优先级去重 - 显式规则分类：政策类、上市公司、非上市公司/产业动态 - 一句话新闻改写：保留关键数据，行业研报级表达 - 智能排序：按分类优先级、主题相关性、数据完整性、时间新鲜度 - 支持全量模式和重点领域监控模式 - Markdown格式输出，支持Telegram推送 ## Configuration ### config/default.json ```json { "mode": "all", // "all" 或 "focused" "focus_topics": ["robot", "real_estate", "ai"], "sources": { "primary": ["cls", "ithome", "36kr"], "backup": ["jiemian", "yicai", "zqrb", "xinhua", "ssnews", "mnjs", "gov"] }, "schedule": ["08:00", "17:30", "22:30"], "max_items": 15, "include_links": true, "timezone": "Asia/Shanghai", "include_keywords": [], "exclude_keywords": ["广告", "推广", "营销"] } ``` ## Source Retention Rules 1. 同一事件多来源时优先保留财联社 2. 如果没有财联社，则保留信息最完整、关键数据最全的一条 3. 最终日报里同一事件只保留一条 ## Classification Rules ### 政策类 标题或正文出现这些关键词时优先归为政策： - 政府、政策、国务院、发改委、工信部、证监会、财政部、商务部 - 标准、规划、指导意见、通知、方案、办法、条例 ### 上市公司 标题或正文里出现股票代码或明确识别为上市公司： - （603xxx.SH）、（000xxx.SZ）、（688xxx.SH）、（xxxx.HK） ### 非上市公司 / 产业动态 不属于政策类，也不属于上市公司时归到这里 ## Processing Pipeline ``` 定时触发 → 配置加载 → 新闻源抓取 → 数据标准化 → 去重 → 过滤 → 分类 → 改写 → 排序 → 截取 → 输出 → 推送 ``` ## Fixed Rewrite Prompt ```typescript const REWRITE_PROMPT = `请将我提供的新闻按照以下规则改写成"一句话新闻"： 1. 结构要求： * 用 1–2 句完成整条新闻。 * 主题要明确，突出核心事件（如发布、布局、出货、融资、合作、产品突破等）。 2. 内容要求： * 必须保留所有关键数据（如营收、出货量、占比、市场份额、融资金额、注册资本等）。 * 保持文字简洁、行业研报级表达。 3. 风格要求： * 参考以下格式风格： "【公司名】关键动作 + 场景落地/战略意义；关键数据（出货/市占率/营收/利润等）。" 同时要遵守： - 不编造数字 - 不增加无依据判断 - 公司名、政策名、股票代码、技术术语必须保留准确`; ``` ## Output Format ```markdown # 每日日报｜YYYY-MM-DD HH:mm ## 一、政策 - 【机构名】关键动作 + 场景落地/战略意义；关键数据（出货/市占率/营收/利润等）。 - 【机构名】关键动作 + 场景落地/战略意义；关键数据（出货/市占率/营收/利润等）。 ## 二、上市公司 - 【公司名】关键动作 + 场景落地/战略意义；关键数据（出货/市占率/营收/利润等）。 - 【公司名】关键动作 + 场景落地/战略意义；关键数据（出货/市占率/营收/利润等）。 ## 三、非上市公司 / 产业动态 - 【公司名/机构名】关键动作 + 场景落地/战略意义；关键数据（出货/市占率/营收/利润等）。 - 【公司名/机构名】关键动作 + 场景落地/战略意义；关键数据（出货/市占率/营收/利润等）。 ``` ## Manual Triggers - `daily-news-brief run` - 立即执行一次 - `daily-news-brief test` - 测试模式运行（不发送推送） - `daily-news-brief config` - 查看当前配置 ## Implementation Requirements 1. **Source Fetchers**: 每个fetcher输出统一结构 {title, source, published_at, url, summary, full_text} 2. **Normalizer**: 统一不同来源的数据格式 3. **Deduper**: URL去重 + 标题规范化去重 + 语义相似去重预留 4. **Classifier**: 显式规则分类，避免复杂NLP 5. **Rewriter**: 固定prompt，先写占位函数 6. **Ranker**: 按分类优先级、主题相关性、数据完整性、时间新鲜度排序 7. **Scheduler**: 支持Asia/Shanghai时区的三个定时任务 8. **Deliverer**: Telegram发送函数


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