agentleFS
spscreamspscream/ai-skills/skills/ai-daily/SKILL.md

ai-daily

Skill1 starsChanged 3 months agoMITView on GitHub

Fetch fresh AI news from RSS with dedup; emit structured digest for the editor.

  • Reads credentials
  • Installs packages

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. AITOP-NEWS/SKILLS★ 1same name
    2. BrickerP/Personal-Skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository2 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use when you need a fresh digest of AI news: daily briefing, channel/feed post, or a roundup of what happened in the last 24–48 hours.

    line 18

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

ai-daily

Fetches AI-industry news from RSS feeds, keeps only AI-relevant items (keyword filter), dedups against previously-sent headlines (exact + RapidFuzz), and outputs fresh items as a structured two-block digest for the LLM to format.

When to Use

Use when you need a fresh digest of AI news: daily briefing, channel/feed post, or a roundup of what happened in the last 24–48 hours.

How to Run

python scripts/fetch_news.py [--config config.yaml] [--dry-run] [--no-crawl]

--dry-run prints what a real run would emit but marks nothing as seen, so you can look at the output without consuming the items.

The script prints two blocks to stdout:

СТАТЬИ (заголовок | источник | дата | url):     <-- fresh items
СТАТЬИ-СОДЕРЖАНИЕ (заголовок === текст):        <-- short crawled content per item

The agent (LLM) reads these blocks and formats the final human-readable post. Dedup is built in: a repeat run returns only genuinely new items, so it is safe to call every day.

Config

Everything is configurable via config.yaml (or the defaults at the top of the script). Sample:

feeds:
  - name: TechCrunch AI
    url: https://techcrunch.com/category/artificial-intelligence/feed/
  - name: CNews                                   # Russian-language source
    url: https://www.cnews.ru/inc/rss/news.xml
    max_items: 40                                 # a firehose needs a wider window
max_items: 10                                     # default window per feed
feed_category_rules:                              # applied before the keywords
  TechCrunch AI:
    require_any: ["ai"]                           # keep only items tagged AI
  Ведомости:
    deny_top: ["политика", "общество"]            # drop whole sections
full_ai_feeds: ["TechCrunch AI", "HN LLM"]      # feeds assumed fully AI-relevant
# Matched as a whole word only. Vendor names go here when the name is also the
# start of an ordinary word: meta/metal, cohere/coherent.
ai_acronyms: ["ии", "ai", "llm", "gpt", "meta", "cohere", "gemini", "llama", ...]
# Matched at the start of a word, so endings may vary: "модел" -> "модель".
# Vendors, labs and model names live here too.
ai_keywords: ["искусственн", "модел", "claude", "openai", "deepseek", "anthropic",
              "nvidia", "mistral", "midjourney", "qwen", "gigachat", ...]
db_path: ./seen_ai_news.db                       # SQLite "seen" store (dedup)
max_hours: 48                                    # freshness window
crawl_max_chars: 1600
max_crawl: 14
tavily_api_key_env: TAVILY_API_KEY               # optional, for /extract content

Requires: python -m pip install feedparser requests rapidfuzz pyyaml

What the editor must do with this output

The keyword filter in the collector is deliberately generous: it is better to carry one item too many than to drop real news, because an item it rejects is never seen again. So the list you receive can contain something off topic, and dropping it is your job, not the collector's.

  • Judge by meaning, not by the words in the headline.
  • Drop anything that is not about AI. Say nothing about it — do not apologise for a short digest and do not list what you removed.
  • A short post beats a post with a stray item in it. Fewer items than you were aiming for is a normal outcome.
  • These belong in the digest even when the headline never says "AI": robotics, autonomous vehicles and drones, chips and hardware for training or inference, datacenters built for AI, funding rounds and valuations of AI companies, regulation and court cases about AI.

The last point matters. Told only to drop what is off topic, a model starts cutting anything whose headline lacks the word "AI" — a robotics funding round, for instance. Naming the profile of the channel is what keeps it in.

Output format (what the LLM turns into a post)

СТАТЬИ (заголовок | источник | дата | url):
Title | TechCrunch AI | 16.08 | https://...

СТАТЬИ-СОДЕРЖАНИЕ (заголовок === текст):
[Title]
<short text>
[КОНЕЦ]

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.