An installable agent skill that gathers announcements, changelogs, model cards, and release notes from first-party AI company channels — and returns a linked, factual digest. It keeps collection separate from interpretation so readers can inspect the source and decide what matters.
Ask what AI companies announced, explicitly invoke /ai-digest-from-source, or opt in when the assistant offers to use it.
sources.json through RSS, web pages, and optional authorized social access.Current installation instructions for Claude and Codex live in the GitHub repository →
Trace a typical AI digest back to its origin and it runs four hops: the company publishes something, a trade outlet writes it up, an aggregator summarizes the write-up, a newsletter summarizes the summary. Each hop drops technical detail and adds framing. The result is often delayed and shaped by downstream editorial priorities.
This project skips the chain. Two rules define it.
Input: official sources only. If a company did not publish it on its own channel, it does not go in. No trade press, no aggregators. This has a real cost — leaks, investigations, and unannounced changes are permanently out of scope. I accept that trade, and in exchange every line traces to something a company put its own name on.
Output: traceable facts, not interpretation. Every item keeps the company, publish date, direct link, and a short factual description. The skill does not rank announcements or tell the reader what they mean. That boundary is the central product decision.
Once "official sources only" is the rule, the question is what counts as official. Sources are grouped by what kind of claim each one can support:
The technical tier is the most useful and the least read. A changelog is the least promotional document a company produces — it exists to serve developers. Model names often appear there before the announcement post.
I audited the initial source registry in September 2026. The table below is a representative nine-source sample from the 18 official channels now tracked. Feed availability and page access change, so these are dated observations rather than permanent guarantees.
| Source | RSS | How it gets read |
|---|---|---|
| OpenAI news | Yes | Feed — worked when scripted access to the HTML page did not |
| blog.google (+ Gemini) | Yes | Feed, per-product granularity |
| Google DeepMind | Yes | Feed |
| Hugging Face | Yes | Feed |
| Mistral | Yes | Feed |
| Qwen | Yes | Feed |
| Anthropic / Claude | No | Read the index page, then each post |
| DeepSeek | No | Read the index page, then each post |
| Kimi / Moonshot | No | Read the index page, then each post |
In this sample, six of nine sources exposed a usable feed. The other three had to be read as web pages. Company sites change structure, so the skill supports both collection methods and records source-specific quirks instead of assuming one route works everywhere.
/news/rss.xml returned normally. If I had tested only the page, I would have marked the source unavailable and been wrong. Checking for a feed before concluding that a source is closed is now a standing step.
The project began as AI Signal Weekly: a recurring editorial workflow. The reusable part turned out to be the source-collection layer underneath it. Separating that layer into an installable skill made the immediate job simpler — gather what the labs published — while keeping the newsletter as an optional publishing path.
The repo contains two things, and they are deliberately not combined:
SKILL.md and sources.json. Reads the sources, returns a list. This is what most people install.AGENTS.md, the static site, a worked example issue. Only needed if someone wants to publish a newsletter from the collected list.Keeping them separate follows from the second rule. Collecting is the product; writing it up is an optional extra step, and bundling them would have meant the tool does interpretation by default.
sources.json tags each entry with how to read it. Feeds are fetched and parsed. Pages without feeds are fetched as HTML, with the index read first and individual posts second. Social sources are read only when the host agent has authorized platform access; otherwise they are skipped and disclosed. The skill does not scrape or silently substitute a third-party account.
Trade press, excluded rather than demoted. The alternative was to keep it as a "context only, never lead" tier. A tier that exists but must never be cited will get cited eventually.
Instagram. Meta's API cannot read accounts that have not authenticated into your own app. But the access difficulty was not the deciding factor. What AI companies post on Instagram is visual presentation. My judgment was to stay with the launch post on the company's own site.
The current design assumes one person running it. Three things would need to change: