| name | headlines |
| description | Fetch top news headlines from major international RSS feeds (Reuters, AP, BBC, etc.). No API key required. Tools: http. |
Headlines Skill
Fetches top news headlines from public RSS feeds of major international news outlets and press agencies. No API key required โ RSS is free and public.
Tools
| Tool | Purpose |
|---|
http | GET requests to RSS feed URLs with response_format: "text" |
scheduler | Schedule automatic daily news briefings |
tts | Read headlines aloud |
RSS Feed Sources
๐ International / Global
| Outlet | Language | RSS URL |
|---|
| BBC News (Top Stories) | EN | https://feeds.bbci.co.uk/news/rss.xml |
| BBC News (World) | EN | https://feeds.bbci.co.uk/news/world/rss.xml |
| AP (Associated Press) โ Top News | EN | https://apnews.com/hub/ap-top-news?format=rss |
| AP (World News) | EN | https://apnews.com/hub/world-news?format=rss |
| Al Jazeera | EN | https://www.aljazeera.com/xml/rss/all.xml |
| Deutsche Welle | EN | https://rss.dw.com/rdf/rss-en-all |
| France 24 | EN | https://www.france24.com/en/rss |
| RFI (Radio France Int.) | EN | https://www.rfi.fr/en/rss |
| Euronews | EN | https://www.euronews.com/rss |
๐ฉ๐ช Germany (Deutsch)
| Outlet | Content | RSS URL |
|---|
| Tagesschau (ARD) | Top stories | https://www.tagesschau.de/xml/rss2 |
| Spiegel Online | Top headlines | https://www.spiegel.de/schlagzeilen/tops/index.rss |
| Spiegel Online | All | https://www.spiegel.de/schlagzeilen/index.rss |
| Zeit Online | All | https://newsfeed.zeit.de/all |
| FAZ | Current | https://www.faz.net/rss/aktuell/ |
| Stern | All | https://www.stern.de/feed/standard/all/ |
| Heise Online | Tech | https://www.heise.de/rss/heise-top-atom.xml |
| n-tv | All | https://www.n-tv.de/rss |
| Deutsche Welle | DE | https://rss.dw.com/rdf/rss-de-all |
๐ฆ๐น Austria (รsterreich)
| Outlet | Content | RSS URL |
|---|
| ORF News | All | https://rss.orf.at/news.xml |
| Der Standard | All | https://www.derstandard.at/rss |
| Die Presse | Current | https://diepresse.com/rss |
๐จ๐ญ Switzerland (Schweiz)
| Outlet | Language | RSS URL |
|---|
| SRF News | DE | https://www.srf.ch/news/bnf/rss/1922 |
| NZZ | DE | https://www.nzz.ch/recent.rss |
๐ฌ๐ง United Kingdom
| Outlet | RSS URL |
|---|
| BBC (Top Stories) | https://feeds.bbci.co.uk/news/rss.xml |
| The Guardian (World) | https://www.theguardian.com/world/rss |
| The Guardian (UK) | https://www.theguardian.com/uk/rss |
| Sky News | https://feeds.skynews.com/feeds/rss/home.xml |
| The Independent | https://www.independent.co.uk/news/rss |
๐ซ๐ท France
| Outlet | Language | RSS URL |
|---|
| Le Monde | FR | https://www.lemonde.fr/rss/une.xml |
| Le Figaro | FR | https://www.lefigaro.fr/rss/figaro_actualites.xml |
| RFI | FR | https://www.rfi.fr/fr/rss |
๐บ๐ธ USA
| Outlet | RSS URL |
|---|
| AP Top News | https://apnews.com/hub/ap-top-news?format=rss |
| NPR News | https://feeds.npr.org/1001/rss.xml |
| CNN World | http://rss.cnn.com/rss/edition_world.rss |
๐ฎ๐น Italy / ๐ช๐ธ Spain
| Outlet | Language | RSS URL |
|---|
| ANSA (Italy) โ Top News | IT | https://www.ansa.it/sito/notizie/topnews/topnews_rss.xml |
| ANSA (Italy) โ World | IT | https://www.ansa.it/sito/notizie/mondo/mondo_rss.xml |
| EFE (Spain) | ES | https://www.efe.com/efe/espana/1/rss |
Topic-specific BBC RSS feeds
| Topic | URL |
|---|
| Technology | https://feeds.bbci.co.uk/news/technology/rss.xml |
| Science | https://feeds.bbci.co.uk/news/science_and_environment/rss.xml |
| Business | https://feeds.bbci.co.uk/news/business/rss.xml |
| Health | https://feeds.bbci.co.uk/news/health/rss.xml |
| Sport | https://feeds.bbci.co.uk/sport/rss.xml |
| UK | https://feeds.bbci.co.uk/news/uk/rss.xml |
| World | https://feeds.bbci.co.uk/news/world/rss.xml |
How to fetch headlines
Basic RSS fetch
{
"method": "GET",
"url": "https://feeds.bbci.co.uk/news/rss.xml",
"response_format": "text"
}
The response is XML. Key parsing rules:
- Each news item is inside
<item>...</item> (RSS) or <entry>...</entry> (Atom, e.g. Heise)
- Extract:
<title>, <description>, <pubDate> (or <updated> for Atom), <link>
- Ignore the first
<title> tag โ it belongs to the <channel> (feed name), not a news item
- Strip HTML tags and
<![CDATA[...]]> wrappers from descriptions
- Present max 5โ10 headlines to avoid overwhelming the user
Workflows
"What are today's top headlines?"
http โ GET https://feeds.bbci.co.uk/news/rss.xml with response_format: "text"
- Parse XML: extract first 5โ7
<item> titles and descriptions
- Summarise: "Here are today's top headlines from BBC News: 1. โฆ 2. โฆ 3. โฆ"
"Read me the German news"
http โ GET https://www.tagesschau.de/xml/rss2 with response_format: "text"
- Parse first 5 items
- Summarise in the user's configured language
"What's happening in Austria?"
http โ GET https://news.orf.at/stories/rss/ with response_format: "text"
- Parse and summarise top 5 stories (ORF publishes large amounts of APA wire content)
"Tech news"
http โ GET https://www.heise.de/rss/heise-top-atom.xml with response_format: "text"
- Note: Heise uses Atom format โ items are in
<entry> tags, not <item>
- Summarise top 5 tech stories
"Give me a global news overview"
Fetch 2โ3 feeds from different regions, deduplicate overlapping stories, present a combined summary:
http โ GET BBC RSS (global English perspective): https://feeds.bbci.co.uk/news/rss.xml
http โ GET AP RSS (US/wire perspective): https://apnews.com/hub/ap-top-news?format=rss
http โ GET Al Jazeera RSS (alternative perspective): https://www.aljazeera.com/xml/rss/all.xml
- Merge, remove duplicates, summarise 7โ10 unique headlines
"Read me the news every morning at 7"
datetime โ absolute with base: "tomorrow", time: "07:00", output_unit: "milliseconds"
scheduler โ create with:
label: "Daily News Briefing"
instruction: "Fetch the top 5 headlines from https://feeds.bbci.co.uk/news/rss.xml using the http tool (method: GET, response_format: text). Parse the XML and extract the titles. Then read them aloud via TTS."
trigger_at_ms: timestamp from step 1
recurrence_type: "daily"
recurrence_time: "07:00"
- Confirm: "I'll read you the BBC headlines every morning at 7."
"French news in French"
http โ GET https://www.france24.com/fr/rss with response_format: "text"
- Parse and summarise in French (AFP wire content via France 24)
"News from multiple countries"
Fetch one feed per requested country:
- Germany โ Tagesschau
- Austria โ ORF
- Switzerland โ SRF
- Global โ BBC or AP
Recommended source combinations
| Goal | Best sources |
|---|
| Global top stories (EN) | BBC + AP + Al Jazeera |
| German-speaking region | Tagesschau + ORF + SRF |
| Germany only | Tagesschau + Spiegel |
| Austria only | ORF + Der Standard |
| Switzerland only | SRF + NZZ |
| France / AFP content | France 24 + RFI |
| Tech news | Heise + BBC Tech |
| Neutral / multi-perspective | Deutsche Welle (available in 30+ languages via https://rss.dw.com/rdf/rss-{lang}-all) |
Deutsche Welle language codes: en, de, fr, es, ar, pt, ru, zh, uk, tr, id, sw, ha, am, bn, fa
Output format rules
- Voice (TTS): Read 3โ5 headlines. One sentence each. Name the source: "According to BBC News: โฆ"
- Text response: List 5โ10 headlines with source name and one-line description
- Always mention the time/date of the headline if available from
<pubDate>
- Never dump raw XML at the user โ always summarise in natural language
- If a feed returns an HTTP error, fall back to an alternative source
- Summarise in the user's configured language, even if the feed is in a different language
- Atom feeds (e.g. Heise) use
<entry> instead of <item> and <updated> instead of <pubDate>
Notes
- Always use
response_format: "text" for RSS feeds (they return XML, not JSON)
- No
auth_provider needed โ all listed feeds are public
- The
http tool truncates responses at 5000 characters โ sufficient for 10โ15 headlines
- For best voice results, fetch only 1 feed and read 3โ5 headlines
- Fetch multiple feeds only when the user asks for a cross-source overview