# Daily News Digest

> 定时抓取 RSS 源，用 LLM 生成中文新闻摘要，遵循 STATE.md 状态管理和 Maker/Checker 验证

- **Type:** Skill
- **Install:** `agentstack add skill-komagon-hermes-production-patterns-daily-news-digest`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Komagon](https://agentstack.voostack.com/s/komagon)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Komagon](https://github.com/Komagon)
- **Source:** https://github.com/Komagon/hermes-production-patterns/tree/main/examples/daily-news-digest

## Install

```sh
agentstack add skill-komagon-hermes-production-patterns-daily-news-digest
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Daily News Digest

> 实时演示 [conventions/](../conventions/) 中全部四条工程公约的完整集成：
> - **[state-file-pattern](../conventions/state-file-pattern.md)** — STATE.md 跨运行状态
> - **[control-flow-separation](../conventions/control-flow-separation.md)** — 抓取用代码 / 摘要用 LLM
> - **[maker-checker](../conventions/maker-checker.md)** — Checker 五维验证摘要质量
> - **[error-compact-pattern](../conventions/error-compact-pattern.md)** — 错误不炸上下文

## 工作流

### Step 1: 读取状态（确定性）✅

从 `STATE.md` 读取上次运行状态和 idempotency keys。

### Step 2: 抓取 RSS（确定性）✅

```python
# 零 LLM 成本。只处理上次运行后新增的文章。
import feedparser

for url in RSS_SOURCES:
    feed = feedparser.parse(url)
    new = [entry for entry in feed.entries
           if entry.id not in state.get("idempotency_keys", [])]
```

### Step 3: LLM 摘要（概率性）❌

```python
# 每日限 5 篇，控制 token 开销。
for article in new[:5]:
    summary = await llm.complete(
        f"按三点总结，每条不超过20字：\n标题：{article.title}\n{article.description}"
    )
```

### Step 4: Checker 验证（概率性）❌

独立 Agent 对摘要做五维评分，≥ 40/50 PASS。

### Step 5: 更新状态（确定性）✅

```python
state["progress"]["articles_summarized"] += len(passed)
state["idempotency_keys"].extend([a.id for a in processed])
atomic_write("STATE.md", state)  # 原子写入 + 文件锁
```

## 错误处理

```python
# 按 error-compact-pattern 压缩错误
try:
    feed = feedparser.parse(url)
except Exception as e:
    compact = f"[STEP_FAILED] fetch_rss@{now}\n  Error: {type(e).__name__} - {str(e)[:80]}\n  Recoverable: YES (retry with backoff)"
    context.append(compact)
```

## 输出格式

```markdown
# 新闻摘要 {YYYY-MM-DD}

## 📰 {article.title}
- {point 1}
- {point 2}
- {point 3}
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Komagon](https://github.com/Komagon)
- **Source:** [Komagon/hermes-production-patterns](https://github.com/Komagon/hermes-production-patterns)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-komagon-hermes-production-patterns-daily-news-digest
- Seller: https://agentstack.voostack.com/s/komagon
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
