Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Creates a personalised daily newspaper from RSS feeds and web sources. Ported from the BACH news system (news.py + newspaper_generator.py). Own SQLite store (no Origin-DB). feedparser optional — XML fallback via stdlib. PDF export via Edge Headless (msedge.exe).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 189% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 132% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 142% | 0% |
<img src="banner.png" width="100%" alt="tageszeitung banner">
> Deutsch — Offizielle Deutsch-Version / Documento Oficial en Deutsch.
Fetch articles from configured RSS feeds and web sources, sort them by category and render them as an HTML/PDF daily newspaper. Articles are stored locally in tageszeitung/store.db and marked as read.
| Phrase | Action | |---|---| | "Create my daily newspaper" | Fetch articles + render PDF | | "Daily newspaper for today" | Render today's newspaper | | "Add feed URL]" | Register RSS source | | "Show my sources" | Output source list | | "Fetch news" | Fetch all sources (no render) |
news_sources.bash# Add source (Deutsch) python tageszeitung_core.py add-source "Heise" rss https://www.heise.de/rss/heise-atom.xml --category tech # Fetch all sources (Deutsch) python tageszeitung_core.py fetch # Render daily newspaper (HTML + PDF if Edge available) (Deutsch) python tageszeitung_core.py render [--date 2026-06-22] [--out /path/] # List sources (Deutsch) python tageszeitung_core.py sources # Unread articles (Deutsch) python tageszeitung_core.py items [--limit 50] [--category tech] # Mark article as read (Deutsch) python tageszeitung_core.py read <item_id> # Alternative store (e.g. for tests) (Deutsch) python tageszeitung_core.py --store /tmp/t.db sources --dry-run
| Property | Value | |---|---| | Type | SQLite | | Path (default) | skills/assist/tageszeitung/store.db | | Override | --store <path> or env TAGESZEITUNG_STORE | | Tables | news_sources, news_items |
sqlCREATE TABLE IF NOT EXISTS news_sources ( id TEXT PRIMARY KEY, name TEXT NOT NULL, type TEXT NOT NULL DEFAULT 'rss', -- rss | web url TEXT NOT NULL UNIQUE, category TEXT DEFAULT 'Allgemein', schedule TEXT DEFAULT 'daily', is_active INTEGER DEFAULT 1, last_fetched TEXT, fetch_count INTEGER DEFAULT 0, error_count INTEGER DEFAULT 0, last_error TEXT, created_at TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS news_items ( id TEXT PRIMARY KEY, source_id TEXT NOT NULL REFERENCES news_sources(id), title TEXT NOT NULL, content TEXT, summary TEXT, url TEXT, author TEXT, published_at TEXT, fetched_at TEXT NOT NULL, is_read INTEGER DEFAULT 0, category TEXT, UNIQUE(source_id, url) );
msedge.exe in the system PATH or MSEDGE_PATH env. Without Edge only HTML is rendered.assist/prefs.json (tageszeitung_max_per_category, default: 5).store.db.hub/news.py — origin (read-only)hub/_services/newspaper/newspaper_generator.py — origin (read-only)| Version | Date | Change | |---|---|---| | 0.1.0 | 2026-06-22 | Initial creation — BACH schema ported, own store, feedparser optional |
Other measured skills in the registry, with their headline benchmark lift.