ai-newsletter-chn-for-hermes
by @j3ffyang
Generate a daily AI news newsletter for a Chinese audience from fresh web sources. Return the newsletter body and article summaries in Simplified Chinese.
clawhub install ai-newsletter-chn-for-hermesπ About This Skill
name: ai-newsletter-daily description: > Generate a daily AI news newsletter for a Chinese audience from fresh web sources. Return the newsletter body and article summaries in Simplified Chinese. version: 1.0.0 author: Jeff Yang (https://github.com/j3ffyang) license: MIT platforms: [linux, macos, windows] metadata: hermes: tags: [AI, News, Newsletter] requires_toolsets: [web] requires_tools: [web_search, web_fetch] required_environment_variables: - name: BRAVE_API_KEY prompt: Enter your BRAVE API key help: Required for web search required_for: Web search - name: FIRECRAWL_API_KEY prompt: Enter your Firecrawl API key help: Required for web fetching required_for: Web fetching
AI Newsletter Daily
When to Use
Use for current AI/ML news, releases, research, funding, product launches, model updates, regulation, benchmarks, or practitioner-relevant developments.
Do not use for evergreen explainers, non-AI topics, or long-form research that is not meant to become a curated newsletter.
Procedure
1. Resolve inputs.
- Defaults: target_news_count=20, search_query="latest AI news today", search_time_window_days=2, max_search_results=60, min_articles_required=10, include_domains=[], exclude_domains=["youtube.com","reddit.com","facebook.com","x.com","twitter.com"], summary_model="host-default", max_scrape_retries=2.
- Clamp: target_news_count 1..50, search_time_window_days 1..14, max_search_results 20..120, min_articles_required 1..50, max_scrape_retries 0..5.
- If min_articles_required > target_news_count, set it to target_news_count.
2. Search and filter.
- Run web_search with search_query.
- If no usable results, retry once with "{search_query} generative AI LLM model open source enterprise".
- Keep only results with non-empty title and URL.
- Canonicalize URLs, drop duplicates, apply domain filters, and prefer fresh results.
3. Rank.
- Score 0..100 from AI-topic relevance, freshness, and title/snippet quality.
- Sort by score desc, published date desc, URL asc.
- Keep top target_news_count * 2 candidates.
4. Fetch, verify, summarize.
- Process candidates in order until target_news_count verified items are collected.
- Skip already processed canonical URLs.
- Fetch each candidate up to max_scrape_retries + 1 times with web_fetch.
- Verify title, domain, topic, and date against the search result.
- Skip inconsistent pages and record a warning.
- Summarize each accepted article in one plain-text paragraph, max ~80 words, focused on why it matters to AI practitioners.
5. Fallback.
- If collected items are fewer than min_articles_required, run one fallback search with "AI news today machine learning model release funding research".
- Process only new candidates and repeat the same filter/rank/fetch/verify/summarize flow.
6. Finalize.
- Keep only valid items with non-empty title, url, domain, summary, source_query, and numeric relevance_score.
- Remove duplicates by canonical URL.
- Sort by score desc, then published date desc.
- Truncate to target_news_count.
- Return newsletter_items, markdown_newsletter, and json_newsletter.
Verification
Accept items only if:
Record warnings for failed URLs, short reasons, and whether fallback search was used.
Output Format
markdown_newsletter:
json_newsletter:
datequerycountarticleswarningsLanguage Output
Return the newsletter body and all article summaries in Simplified Chinese. Preserve all source metadata unchanged (title, url, domain, published_at, relevance_score, source_query).