ninehills

news-aggregator-skill

6
0
# Install this skill:
npx skills add ninehills/skills --skill "news-aggregator-skill"

Install specific skill from multi-skill repository

# Description

Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 8 major sources: Hacker News, GitHub Trending, Product Hunt, 36Kr, Tencent News, WallStreetCN, V2EX, and Weibo. Best for 'daily scans', 'tech news briefings', 'finance updates', and 'deep interpretations' of hot topics.

# SKILL.md


name: news-aggregator-skill
description: "Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 8 major sources: Hacker News, GitHub Trending, Product Hunt, 36Kr, Tencent News, WallStreetCN, V2EX, and Weibo. Best for 'daily scans', 'tech news briefings', 'finance updates', and 'deep interpretations' of hot topics."


News Aggregator Skill

Fetch real-time hot news from multiple sources.

Tools

fetch_news.py

Usage:

### Single Source (Limit 10)
```bash
### Global Scan (Option 12) - **Broad Fetch Strategy**
> **NOTE**: This strategy is specifically for the "Global Scan" scenario where we want to catch all trends.

```bash
#  1. Fetch broadly (Massive pool for Semantic Filtering)
python3 scripts/fetch_news.py --source all --limit 15 --deep

# 2. SEMANTIC FILTERING:
# Agent manually filters the broad list (approx 120 items) for user's topics.

Single Source & Combinations (Smart Keyword Expansion)

CRITICAL: You MUST automatically expand the user's simple keywords to cover the entire domain field.
* User: "AI" -> Agent uses: --keyword "AI,LLM,GPT,Claude,Generative,Machine Learning,RAG,Agent"
* User: "Android" -> Agent uses: --keyword "Android,Kotlin,Google,Mobile,App"
* User: "Finance" -> Agent uses: --keyword "Finance,Stock,Market,Economy,Crypto,Gold"

# Example: User asked for "AI news from HN" (Note the expanded keywords)
python3 scripts/fetch_news.py --source hackernews --limit 20 --keyword "AI,LLM,GPT,DeepSeek,Agent" --deep

Only use --keyword for very specific, unique terms (e.g., "DeepSeek", "OpenAI").

python3 scripts/fetch_news.py --source all --limit 10 --keyword "DeepSeek" --deep

Arguments:

  • --source: One of hackernews, weibo, github, 36kr, producthunt, v2ex, tencent, wallstreetcn, all.
  • --limit: Max items per source (default 10).
  • --keyword: Comma-separated filters (e.g. "AI,GPT").
  • --deep: [NEW] Enable deep fetching. Downloads and extracts the main text content of the articles.

Output:
JSON array. If --deep is used, items will contain a content field associated with the article text.

Interactive Menu

When the user says "news-aggregator-skill ๅฆ‚ๆ„ๅฆ‚ๆ„" (or similar "menu/help" triggers):
1. READ the content of templates.md in the skill directory.
2. DISPLAY the list of available commands to the user exactly as they appear in the file.
3. GUIDE the user to select a number or copy the command to execute.

Smart Time Filtering & Reporting (CRITICAL)

If the user requests a specific time window (e.g., "past X hours") and the results are sparse (< 5 items):
1. Prioritize User Window: First, list all items that strictly fall within the user's requested time (Time < X).
2. Smart Fill: If the list is short, you MUST include high-value/high-heat items from a wider range (e.g. past 24h) to ensure the report provides at least 5 meaningful insights.
2. Annotation: Clearly mark these older items (e.g., "โš ๏ธ 18h ago", "๐Ÿ”ฅ 24h Hot") so the user knows they are supplementary.
3. High Value: Always prioritize "SOTA", "Major Release", or "High Heat" items even if they slightly exceed the time window.
4. GitHub Trending Exception: For purely list-based sources like GitHub Trending, strictly return the valid items from the fetched list (e.g. Top 10). List ALL fetched items. Do NOT perform "Smart Fill".
* Deep Analysis (Required): For EACH item, you MUST leverage your AI capabilities to analyze:
* Core Value (ๆ ธๅฟƒไปทๅ€ผ): What specific problem does it solve? Why is it trending?
* Inspiration (ๅฏๅ‘ๆ€่€ƒ): What technical or product insights can be drawn?
* Scenarios (ๅœบๆ™ฏๆ ‡็ญพ): 3-5 keywords (e.g. #RAG #LocalFirst #Rust).

6. Response Guidelines (CRITICAL)

Format & Style:
- Language: Simplified Chinese (็ฎ€ไฝ“ไธญๆ–‡).
- Style: Magazine/Newsletter style (e.g., "The Economist" or "Morning Brew" vibe). Professional, concise, yet engaging.
- Structure:
- Global Headlines: Top 3-5 most critical stories across all domains.
- Tech & AI: Specific section for AI, LLM, and Tech items.
- Finance / Social: Other strong categories if relevant.
- Item Format:
- Title: MUST be a Markdown Link to the original URL.
- โœ… Correct: ### 1. [OpenAI Releases GPT-5](https://...)
- โŒ Incorrect: ### 1. OpenAI Releases GPT-5
- Metadata Line: Must include Source, Time/Date, and Heat/Score.
- 1-Liner Summary: A punchy, "so what?" summary.
- Deep Interpretation (Bulleted): 2-3 bullet points explaining why this matters, technical details, or context. (Required for "Deep Scan").

Output Artifact:
- Always save the full report to reports/ directory with a timestamped filename (e.g., reports/hn_news_YYYYMMDD_HHMM.md).
- Present the full report content to the user in the chat.

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.