news-monitor

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

News Monitor

新闻监控

This skill finds recent news and developments on a topic and delivers a chronological briefing. The focus is on what's new — not a general overview.
此技能可查找某一主题的近期新闻与动态,并按时间顺序提供简报。核心聚焦于最新动态——而非通用概述。

Design principle: search results first, fetch sparingly

设计原则:优先搜索结果,谨慎获取内容

The news search tool already returns titles, snippets, dates, and sources for each result. That's enough to build most of the briefing without fetching any pages. Only fetch a page when a snippet is too vague to understand what actually happened and you need the full article to write a useful summary. Most of the time, 0–2 fetches is plenty. Never fetch more than 3 pages.
新闻搜索工具已返回每条结果的标题、摘要、日期和来源。无需获取页面内容即可构建大部分简报。仅当摘要过于模糊,无法了解实际发生的情况,且需要完整文章来撰写有用的摘要时,才获取页面内容。大多数情况下,0-2次获取已足够。绝对不要获取超过3个页面。

Tools available

可用工具

News search — the primary tool. Returns results sorted by date with timestamps and source outlets.
If an MCP news search tool is available (e.g.,
mcp__web_forager__duckduckgo_news_search
or
mcp__duckduckgo__duckduckgo_news_search
), prefer it:
mcp__web_forager__duckduckgo_news_search(query="your query", max_results=10)
Each result includes
title
,
url
,
snippet
,
date
, and
source
.
Without MCP, run the packaged Web Forager CLI with uvx:
bash
uvx --python '>=3.10,<3.14' web-forager news "your query" --max-results 10 --output-format json
If
uvx
cannot run the packaged CLI, use a direct
ddgs
fallback through uv without touching the current project environment:
bash
uv run --no-project --python '>=3.10,<3.14' --with 'ddgs>=9.5.2' python - <<'PY'
from ddgs import DDGS
results = DDGS().news(query="your query", max_results=10)
for r in results:
    print(r["date"], r["title"], r["url"], r["source"])
PY
General search — use an MCP search tool,
web-forager search
via uvx, or
DDGS().text()
via
uv run --no-project
only if news search returns too few results.
Fetch — use an MCP fetch tool or
curl -s "https://r.jina.ai/URL"
only when a snippet is too vague to summarize the event. Cap fetches with
max_length=3000
to avoid pulling giant pages.

新闻搜索——主要工具。返回按日期排序的结果,包含时间戳和来源媒体。
如果有MCP新闻搜索工具可用(例如
mcp__web_forager__duckduckgo_news_search
mcp__duckduckgo__duckduckgo_news_search
),优先使用:
mcp__web_forager__duckduckgo_news_search(query="your query", max_results=10)
每条结果包含
title
url
snippet
date
source
若无MCP工具,使用uvx运行打包的Web Forager CLI:
bash
uvx --python '>=3.10,<3.14' web-forager news "your query" --max-results 10 --output-format json
若无法通过uvx运行打包的CLI,则通过uv使用直接的
ddgs
回退方案,无需触碰当前项目环境:
bash
uv run --no-project --python '>=3.10,<3.14' --with 'ddgs>=9.5.2' python - <<'PY'
from ddgs import DDGS
results = DDGS().news(query="your query", max_results=10)
for r in results:
    print(r["date"], r["title"], r["url"], r["source"])
PY
通用搜索——仅当新闻搜索返回结果过少时,才使用MCP搜索工具、通过uvx运行
web-forager search
,或通过
uv run --no-project
使用
DDGS().text()
内容获取——仅当摘要过于模糊无法总结事件时,才使用MCP获取工具或
curl -s "https://r.jina.ai/URL"
。设置
max_length=3000
来限制获取内容,避免加载大页面。

News monitoring workflow

新闻监控工作流程

Step 1 — Determine scope

步骤1 — 确定范围

Before searching, clarify:
  • Topic: what exactly are we monitoring?
  • Time frame: did the user specify "this week", "last month", "since X"? If not, default to the last 2–4 weeks.
  • Angle: are they interested in everything, or a specific aspect (e.g., "funding news about X", "regulatory updates on Y")?
搜索前,明确以下内容:
  • 主题:我们要监控的具体内容是什么?
  • 时间范围:用户是否指定了“本周”、“上月”、“自X以来”?若未指定,默认过去2-4周。
  • 角度:用户是否对所有内容感兴趣,还是特定方面(例如“X的融资新闻”、“Y的监管更新”)?

Step 2 — Search

步骤2 — 搜索

Run 1–2 news searches with different angles to get good coverage:
  • "[topic]"
    as the base query
  • A second query with a more specific angle if relevant (e.g., "[topic] announcement", "[topic] policy", "[topic] release")
Include the current year in queries to bias toward recent results.
运行1-2次不同角度的新闻搜索以获取全面覆盖:
  • 基础查询为
    "[topic]"
  • 若相关,可使用更具体角度的二次查询(例如“[topic] 公告”、“[topic] 政策”、“[topic] 发布”)
在查询中包含当前年份,以偏向近期结果。

Step 3 — Deduplicate and filter

步骤3 — 去重与筛选

From the combined news results:
  • Group articles about the same event (multiple outlets covering the same story)
  • Pick the best source for each event (prefer the one with the most informative snippet)
  • Discard anything outside the relevant time frame
  • Discard duplicates or near-duplicates
  • Aim for 3–7 distinct events
从合并的新闻结果中:
  • 将报道同一事件的文章分组(多个媒体报道同一新闻)
  • 为每个事件选择最佳来源(优先选择摘要信息最丰富的来源)
  • 剔除超出相关时间范围的内容
  • 剔除重复或近乎重复的内容
  • 目标保留3-7个不同事件

Step 4 — Selective fetch (only if needed)

步骤4 — 选择性获取(仅在需要时)

Look at your filtered results. For each event, ask: "Can I write a useful 2–4 sentence summary from the title + snippet alone?" If yes, don't fetch. If the snippet is cryptic or you need key details (numbers, names, outcomes), fetch that one page with
max_length=3000
.
查看筛选后的结果。对于每个事件,问自己:“仅通过标题+摘要,我能否撰写一段有用的2-4句摘要?”如果可以,无需获取。如果摘要晦涩难懂,或需要关键细节(数字、名称、结果),则使用
max_length=3000
获取该页面。

Step 5 — Deliver the briefing

步骤5 — 交付简报

Organize chronologically (most recent first) and present as a news briefing.

按时间顺序(最新优先)整理,并以新闻简报的形式呈现。

Output format

输出格式

undefined
undefined

[Topic] — News Briefing

[主题] — 新闻简报

Period: [time frame covered] Last updated: [today's date]
周期:[涵盖的时间范围] 最新更新:[今日日期]

Headlines

头条新闻

  • [One-line summary of event 1] — [date]
  • [One-line summary of event 2] — [date]
  • [One-line summary of event 3] — [date]
  • [事件1的一句话摘要] — [日期]
  • [事件2的一句话摘要] — [日期]
  • [事件3的一句话摘要] — [日期]

Details

详细内容

[Event 1 title] — [date]

[事件1标题] — [日期]

[2–4 sentences: what happened, why it matters, what's next] Source: Title
[2-4句话:发生了什么、重要性、后续发展] 来源:标题

[Event 2 title] — [date]

[事件2标题] — [日期]

[2–4 sentences] Source: Title
[2-4句话] 来源:标题

[Event 3 title] — [date]

[事件3标题] — [日期]

[2–4 sentences] Source: Title
[2-4句话] 来源:标题

What to watch

值得关注的内容

[1–2 sentences about upcoming events, expected announcements, or unresolved threads that the user might want to follow up on]

Keep it tight. The user wants to catch up quickly, not read essays. If there's genuinely
no recent news, say so — "No significant developments found in [time frame]" is a valid
and useful answer.
[1-2句话:用户可能想要跟进的即将发生的事件、预期公告或未解决的事项]

保持内容简洁。用户希望快速了解情况,而非阅读长篇大论。若确实没有近期新闻,直接说明——“在[时间范围]内未发现重大动态”是有效且有用的回复。