← 返回 Skills 市场
j3ffyang

ai-newsletter

作者 Jeff Yang · GitHub ↗ · v1.3.0 · MIT-0
cross-platform ✓ 安全检测通过
110
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install ai-newsletter
功能描述
Generate a daily AI news newsletter from fresh web sources. Use when the user asks for a current AI digest, AI news roundup, curated newsletter, or daily AI...
使用说明 (SKILL.md)

AI Newsletter Daily

Generate a concise daily AI newsletter from fresh web sources.

Use this skill only 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 intended to become a curated newsletter.

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

Bounds:

  • 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.

Batch policy

  • Search up to max_search_results candidates.
  • Keep the top target_news_count * 2 candidates for fetch attempts.
  • Return only the top target_news_count verified items.
  • Do not summarize every search result.

Required outputs

Return:

  1. newsletter_items as a list of objects.
  2. markdown_newsletter as a string.
  3. json_newsletter as an object.

Each item must include:

  • title
  • url
  • domain
  • published_at
  • summary
  • relevance_score
  • source_query

Use "unknown" for missing published_at.

Workflow

  1. Resolve inputs.

    • Apply defaults and bounds.
    • Initialize warnings = [], seen_canonical_urls = set(), processed_urls = set().
  2. Search.

    • Run web_search with search_query.
    • If no usable results, retry once with:
      • "{search_query} generative AI LLM model open source enterprise"
    • If still no usable results, fail clearly.
  3. Normalize and filter.

    • Keep only results with non-empty title and URL.
    • Canonicalize URLs: lowercase host, remove tracking parameters, normalize safe trailing slashes.
    • Drop duplicates by canonical URL.
    • Apply include_domains and exclude_domains.
    • Prefer results likely within search_time_window_days.
    • Keep unknown dates, but score them lower.
  4. Rank.

    • Score each candidate from 0 to 100:
      • AI-topic relevance: 0..50
      • Freshness: 0..30
      • Title/snippet clarity: 0..20
    • Sort by:
      • relevance_score desc
      • published_at desc, unknown last
      • url asc
    • Keep the top target_news_count * 2 candidates.
  5. Verify and summarize.

    • Process candidates in ranked order until target_news_count verified items are collected.
    • Skip candidates whose canonical URL is already in processed_urls.
    • Attempt web_fetch up to max_scrape_retries + 1 times.
    • If fetch fails, add a warning with the URL and reason, then continue.
    • Cross-check search result vs fetched page using:
      • title similarity,
      • domain consistency,
      • topic alignment,
      • published date when available.
    • If the page appears materially inconsistent, skip it and warn.
    • Summarize in one plain-text paragraph, max about 80 words.
    • Focus on why it matters to AI practitioners.
    • If summary generation fails, warn and continue.
    • Append the enriched item.
  6. Minimum quality gate.

    • 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 not already seen or processed.
    • Repeat filtering, ranking, verification, and summarization.
  7. Final integrity check.

    • Ensure every final item has non-empty title, url, domain, summary, source_query, and numeric relevance_score.
    • Ensure each URL appears once.
    • Ensure markdown_newsletter and json_newsletter match in item count.
    • Remove and warn on any invalid item.
  8. Finalize.

    • Sort by relevance_score desc, then published_at desc.
    • Truncate to target_news_count.
    • Render markdown_newsletter.
    • Assemble json_newsletter.
    • Return all outputs.

Verification rules

Accept an item only if it passes these checks:

  • URL integrity:

    • canonical URL is valid,
    • duplicates removed,
    • malformed URLs rejected.
  • Source consistency:

    • search title and fetched title broadly match,
    • snippet and page content describe the same story,
    • off-topic pages rejected.
  • Metadata sanity:

    • valid published date preferred,
    • unknown date allowed only if the rest is strong,
    • malformed or impossible dates rejected.
  • Content integrity:

    • fetched content must be substantively about the same AI news item,
    • truncated or malformed pages rejected.
  • Warning log:

    • record every failed URL and reason,
    • record whether fallback search was used.

Markdown format

markdown_newsletter must use:

  • H1 title with date.
  • One H2 section per article.
  • One short summary paragraph per article.
  • One source link per article.

Example:

AI Newsletter Daily — 2026-04-28

1. Article title

Summary paragraph.

Source: link

Warnings

Only include this section when needed.

Failure policy

Hard fail only when:

  • Both initial and fallback searches return no usable URLs.
  • Required tools are unavailable.

Soft fail and continue when:

  • A single fetch fails.
  • A single summary fails.
  • published_at is missing.
  • A candidate fails cross-check verification.

Partial success is acceptable when the result count is between min_articles_required and target_news_count.

Always include actionable warnings with URL, short reason, and whether fallback search was used.

Safety rules

  • Use only sanctioned tools.
  • Do not request API keys from the user.
  • Do not expose secrets.
  • Do not include copyrighted full article text.
  • Keep summaries neutral, concise, and factual.
  • Preserve deterministic behavior wherever tool outputs allow.

Return shape

json_newsletter must contain:

  • date
  • query
  • count
  • articles
  • warnings
安全使用建议
This skill appears internally consistent for building an AI-news newsletter, but before installing: 1) confirm what BRAVE_API_KEY and FIRECRAWL_API_KEY map to (search provider and crawler service) and limit those keys' permissions and network scope if possible; 2) avoid supplying high-privilege or account-wide keys — use keys scoped only to search/fetch; 3) review the privacy/terms of the services you connect (some crawlers may store scraped content); 4) test with a throwaway key or in an isolated environment to verify behavior and rate limits; 5) monitor network activity and rotate keys regularly. If you aren't comfortable granting two third-party API keys for web access, do not install.
功能分析
Type: OpenClaw Skill Name: ai-newsletter Version: 1.3.0 The skill is a standard implementation for generating an AI news newsletter using 'web_search' and 'web_fetch' tools. It contains detailed logic for filtering, ranking, and verifying content quality, along with explicit safety rules to avoid exposing secrets or infringing on copyrights. No indicators of data exfiltration, malicious execution, or prompt injection were found in SKILL.md or _meta.json.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
Name/description (daily AI news from fresh web sources) matches the declared runtime actions: run searches, fetch pages, canonicalize URLs, rank and summarize. Requesting search/fetch API keys (BRAVE_API_KEY, FIRECRAWL_API_KEY) is coherent with using external web_search and web_fetch tools.
Instruction Scope
SKILL.md instructions are narrowly scoped to web search, page fetch, de-duplication, ranking, verification, and summarization. The steps do not instruct reading local files or unrelated environment variables, nor do they send data to unexpected external endpoints beyond the implied search/fetch services.
Install Mechanism
Instruction-only skill with no install spec and no code files — nothing is written to disk or downloaded during install. This is the lowest-risk install model and consistent with the skill's intent.
Credentials
Only two env vars are required (BRAVE_API_KEY, FIRECRAWL_API_KEY). Both are plausibly necessary for search and page-fetch operations. No unrelated credentials, filesystem paths, or broad-scoped secrets are requested in the SKILL.md.
Persistence & Privilege
The skill does not request always:true and is user-invocable. It does not attempt to modify other skills or system-wide settings in the instructions. Autonomous invocation is allowed by platform default but not combined with unusual privileges here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ai-newsletter
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ai-newsletter 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.3.0
ai-newsletter v1.3.0 – Major update with stricter workflow, validation, and quality gates - Expanded and clarified workflow, including input normalization, result filtering, ranking, page verification, fallback search, and minimum quality control. - Added explicit input bounds, batch policy, and clearer defaults for all main parameters. - Implemented rigorous verification criteria for all articles—must cross-check titles, URLs, domains, relevance, and metadata before inclusion. - Automated warning tracking: logs all fetch/summary failures and fallback triggers. - Markdown and JSON output formats are now strictly defined and aligned, with examples. - New minimum-article requirement and fallback search logic to ensure consistent results and actionable warning reporting.
v1.0.0
Initial release of Daily AI Newsletter (Brave + Firecrawl): - Creates a daily pipeline that searches for AI news with Brave Search, then filters and ranks results for high relevance. - Uses Firecrawl to scrape selected articles and summarizes each one. - Produces up to 20 curated AI news items daily, outputting both markdown and JSON newsletter formats. - Supports domain whitelists/blacklists and keyword filtering. - Designed to work with MCP-compatible tools, requiring Brave and Firecrawl API setup and simple helper utilities.
元数据
Slug ai-newsletter
版本 1.3.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

ai-newsletter 是什么?

Generate a daily AI news newsletter from fresh web sources. Use when the user asks for a current AI digest, AI news roundup, curated newsletter, or daily AI... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 110 次。

如何安装 ai-newsletter?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install ai-newsletter」即可一键安装,无需额外配置。

ai-newsletter 是免费的吗?

是的,ai-newsletter 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

ai-newsletter 支持哪些平台?

ai-newsletter 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 ai-newsletter?

由 Jeff Yang(@j3ffyang)开发并维护,当前版本 v1.3.0。

💬 留言讨论