Skill: louishwh/news-brief-automation (version 1.0.0)

--- name: news-brief-automation description: Build, refine, or maintain recurring news-digest workflows that periodically collect items from sources such as Hacker News, GitHub Trending, Hugging Face, RSS feeds, blogs, and specific news sites; deduplicate against the newest prior report; save a Markdown brief in the workspace; and send the same summary to the user. Use when asked to set up scheduled news checks, daily/weekly digests, trend briefings, cron prompt files, or reusable report automation for “check news and send me a summary” tasks. --- # News Brief Automation Turn ad-hoc “go check the news and summarize it” work into a repeatable automation made of: - one prompt file under `automation/cron/` - one report folder under `reports/` - one stable output format - one explicit dedupe rule against the latest saved report ## Workflow 1. Identify the recurring job: - source set - cadence - selection criteria - output language - save location - delivery target 2. Prefer one prompt file per job under `automation/cron/<job-name>.md`. 3. Create a matching report directory under `reports/<topic>/`. 4. Instruct the agent to compare candidates against the newest saved report before drafting the final output. 5. Require “save first, send second” so future runs always have a concrete baseline for dedupe. 6. Make the format stable and easy to skim. 7. If a run has little novelty, emit a short incremental edition instead of padding the report. ## What A Good Cron Prompt Must Contain Each recurring prompt should explicitly define: - the goal - the schedule context - the priority sources to inspect - what counts as worth including - the required output structure - dedupe rules against the newest prior report - save path and filename convention - send-after-save behavior - fallback behavior if a source is unavailable Use direct instructions. Avoid fuzzy wording like “make it good” or “summarize nicely”. ## Good Defaults ### Source handling Prefer primary index pages first, then open individual links only when context is missing. Common defaults: - Hacker News: homepage + `newest` - GitHub: Trending - Hugging Face: hot/trending models, datasets, spaces - RSS/blogs: feed page first, article page second - Generic news sites: homepage/section page first, article page second ### Selection logic Prioritize items that are: - newly surfaced - rapidly rising - widely discussed - practically useful - unusually opinionated or technically deep For technical audiences, bias toward: - AI - developer tools - open source - infrastructure - security - data engineering - engineering practice ### Deduplication Always inspect the newest report in the target report folder. Keep only: - new items - items with clear rank/momentum change - items with meaningful new developments - previously seen items that deserve a shorter refreshed mention Drop or compress: - unchanged repeats - low-signal filler - items included yesterday/last run with no meaningful change If most candidates repeat prior coverage, explicitly publish an incremental short edition. ### Output structure Prefer Markdown with: - dated title - short “what matters now” section - numbered list of items - link for each item - one-line reason to care - optional discussion angle / watchpoint Keep tone concise and opinionated enough to be useful. ## File And Naming Conventions Use this layout unless the user asks otherwise: ```text automation/cron/<job-name>.md reports/<topic>/YYYY-MM-DD.md reports/<topic>/YYYY-MM-DD-HH00.md ``` Use date-only filenames for once-per-day reports. Use hour-stamped filenames for multiple runs per day. ## Common Patterns ### Daily digest Use when the user wants one higher-signal summary per day. Recommended traits: - 5-10 items - more synthesis - a “today’s observation” section - date-only filenames ### Intraday brief Use when the user wants multiple updates per day. Recommended traits: - 3-8 items - stronger dedupe - incremental mode when nothing major changed - hour-stamped filenames ### Mixed-source trend watch Use when combining 2-4 complementary sources like GitHub + Hugging Face + HN. Recommended traits: - sectioned output per source - final cross-source observations - avoid repeating the same project across sections unless the angle differs ## Editing Existing Automations When converting an existing one-off prompt into a reusable workflow: 1. Preserve the parts that already work: - source order - output shape - report path 2. Remove accidental details that do not generalize. 3. Keep the reusable operating logic: - fetch - select - dedupe - save - send 4. Move concrete examples and templates into `references/` so `SKILL.md` stays lean. ## Quality Bar Before Packaging Or Publishing Before packaging or publishing: - keep `SKILL.md` concise and trigger-focused - ensure the description clearly says when the skill should activate - provide at least one reusable prompt template in `references/` - avoid extra docs like README or changelog files inside the skill - package the exact skill folder - reject vague prompts that do not specify dedupe or save paths ## References - Read `references/examples.md` for concrete example automations. - Read `references/templates.md` for reusable cron prompt templates.

path: references/examples.md
content: # Examples

## Example 1: Hacker News recurring brief

Use a cron prompt like:

```md
# Hacker News 定时简报

目标：每天北京时间 10:00、12:00、14:00、16:00、18:00 获取 Hacker News 最新值得关注的资讯，整理后发给用户。

执行要求：

1. 优先查看 Hacker News 首页与 newest：
   - https://news.ycombinator.com/
   - https://news.ycombinator.com/newest
2. 必要时打开文章链接补充上下文，但不要陷入长篇阅读。
3. 选择 5-10 条最值得看的内容，优先：AI / 开发工具 / 开源 / infra / 数据工程 / 安全。
4. 输出为中文，包含：标题、今日重点、值得关注条目。
5. 发布前检查 `reports/hackernews/` 最近一份报告并去重：
   - 只保留新出现、新上升、或有明显新进展的条目。
   - 如果大多重复，就改发增量短版。
6. 保存到 `reports/hackernews/YYYY-MM-DD-HH00.md`。
7. 保存后，把相同 Markdown 发给用户。
8. 如果本轮没有强新内容，就说明这一轮偏平，并给 3 条仍值得看的链接。
```

## Example 2: GitHub + Hugging Face daily trends

Use a cron prompt like:

```md
# 每日 GitHub / Hugging Face 趋势榜

目标：每天北京时间 10:00 获取 GitHub 和 Hugging Face 的趋势内容，整理成 Markdown 保存到工作区，并发给用户。

执行要求：

1. 获取 GitHub Trending 与 Hugging Face 热门内容。
2. 输出为中文，分为：GitHub 趋势、Hugging Face 趋势、今日观察。
3. 发布前检查 `reports/trends/` 最近一份报告并去重：
   - 同一项目若昨日已写且无明显变化，不要重复展开。
   - 优先写新上榜、新冲高、或最值得关注的变化。
4. 至少覆盖 GitHub 5 个项目、Hugging Face 5 个条目；若新增不多，可明确说明。
5. 保存到 `reports/trends/YYYY-MM-DD.md`。
6. 保存后，把完整 Markdown 发给用户。
7. 若某个站点不可用，要在文中说明，并尽量完成可访问部分。
```

## Design notes

- “先保存，后发送” 很重要：这样后续去重才有稳定依据。
- 高频简报不要强凑条数；增量价值比表面完整更重要。
- 对热点榜单，用户通常更在意“为什么值得看”，不是机械抄榜。
- 输出格式要固定，便于后续迁移到 cron、agent session、或别的自动化系统。


path: references/templates.md
content: # Templates

## Template: intraday technical news brief

```md
# <主题> 定时简报

目标：按 <北京时间/用户时区 + 时段> 获取 <来源> 的最新内容，筛选真正值得看的更新，整理成 Markdown 保存到工作区，并发给用户。

执行要求：

1. 优先查看这些入口：
   - <入口 1>
   - <入口 2>
   - <入口 3>
2. 必要时打开原文补充上下文，但不要陷入长篇阅读。
3. 选择 <3-8 / 5-10> 条最值得看的内容，优先：
   - <方向 1>
   - <方向 2>
   - <方向 3>
4. 输出必须使用 <语言>，格式如下：

```md
# <主题>（YYYY-MM-DD HH:mm TZ）

## 今日重点
- 用 1-2 句话概括这轮最值得看的变化

## 值得关注
1. 标题
   - 链接：URL
   - 为什么值得看：一句话
   - 讨论点 / 值得关注的角度：一句话
```

5. 发布前先检查 `reports/<topic>/` 里最近一份报告并去重：
   - 只保留新出现、新上升、或有明显新进展的条目。
   - 如果候选内容大多重复，就改发增量短版，不要硬凑数量。
   - 同一项目若上轮已写且无明显变化，只允许一句话带过或直接省略。
6. 保存到：`reports/<topic>/<filename-rule>.md`
7. 保存完成后，把同样内容发给用户。
8. 如果这轮没有明显高价值新内容，要明确说明，并给 <2-3> 条仍可一看的链接。
9. 如果某个来源临时打不开，要在文中说明，不要静默失败。
```

## Template: daily multi-source trend digest

```md
# 每日 <主题> 趋势摘要

目标：每天 <时间> 查看 <来源 A>、<来源 B>、<来源 C> 的趋势内容，做成一份去重后的日报，保存到工作区，并发给用户。

执行要求：

1. 先查看：
   - <来源 A>
   - <来源 B>
   - <来源 C>
2. 必要时补充打开单条链接，但以高层浏览为主。
3. 输出必须使用 <语言>，结构如下：

```md
# <主题>（YYYY-MM-DD）

## <来源 A>
1. 名称
   - 链接：URL
   - 简介：一句话
   - 值得关注的点：一句话

## <来源 B>
1. 名称
   - 链接：URL
   - 简介：一句话
   - 值得关注的点：一句话

## 今日观察
- 用 3-5 条 bullet 总结今天的风向变化。
```

4. 发布前检查 `reports/<topic>/` 最近一份报告并去重：
   - 昨天已写且今天无明显变化的内容，不要重复展开。
   - 优先保留新上榜、新冲高、或出现新信号的项目。
   - 如果去重后数量不足，可以明确说明“今日新增不多”。
5. 保存到：`reports/<topic>/YYYY-MM-DD.md`
6. 保存完成后，把完整 Markdown 发给用户。
7. 如果某个来源不可用，要明确写出受影响部分，并尽量完成其余来源。
```

## Template tuning notes

- 高频 brief 的关键不是覆盖率，而是增量价值。
- 低信号时宁可短，也不要编出“满额”报告。
- 固定格式比花哨格式更适合长期自动化。
- “先保存后发送”必须写死，不然下次去重会漂。


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