Agent Skills: RSS Feed Fetcher

RSS feed API for fetching news and articles. Use when user mentions "RSS", "feed", "RSS reader", "fetch feed", or asks to get news from RSS sources.

UncategorizedID: vm0-ai/vm0-skills/rss-fetch

Install this agent skill to your local

pnpm dlx add-skill https://github.com/vm0-ai/vm0-skills/tree/HEAD/rss-fetch

Skill Files

Browse the full folder contents for rss-fetch.

Download Skill

Loading file tree…

rss-fetch/SKILL.md

Skill Metadata

Name
rss-fetch
Description
RSS feed API for fetching news and articles. Use when user mentions "RSS", "feed", "RSS reader", "fetch feed", or asks to get news from RSS sources.

RSS Feed Fetcher

Use curl to fetch and parse RSS/Atom feeds from any source.

RSS feeds return XML that can be parsed with xmllint or converted to JSON.


When to Use

Use this skill when you need to:

  • Fetch news articles from RSS feeds
  • Monitor blog updates or content sources
  • Aggregate content from multiple feeds
  • Track topics via RSS subscriptions

Prerequisites

No API key required. RSS feeds are public.

Optional tools for parsing:

  • xmllint (for XML parsing)
  • jq (for JSON output)

How to Use

1. Fetch Raw RSS Feed

curl -s "https://hnrss.org/frontpage" | head -100

2. Parse RSS with xmllint

Extract titles from RSS feed:

curl -s "https://hnrss.org/frontpage" | xmllint --xpath '//item/title/text()' - 2>/dev/null

Extract titles and links:

curl -s "https://hnrss.org/frontpage" | xmllint --format - | grep -E '<title>|<link>' | head -20

3. Get Items with Details

curl -s "https://hnrss.org/frontpage" | xmllint --xpath '//item' - 2>/dev/null | xmllint --format - | head -50

4. Parse Atom Feeds

Atom feeds use <entry> instead of <item>:

curl -s "https://github.com/blog.atom" | xmllint --xpath '//entry/title/text()' - 2>/dev/null

Popular RSS Feeds

| Source | URL | |--------|-----| | Hacker News | https://hnrss.org/frontpage | | HN Best | https://hnrss.org/best | | TechCrunch | https://techcrunch.com/feed/ | | Ars Technica | https://feeds.arstechnica.com/arstechnica/index | | The Verge | https://www.theverge.com/rss/index.xml | | Reddit (any sub) | https://www.reddit.com/r/programming/.rss | | GitHub Blog | https://github.blog/feed/ |


Examples

Fetch Hacker News Top Stories

curl -s "https://hnrss.org/frontpage?count=10" | xmllint --xpath '//item/title/text()' - 2>/dev/null | tr '\n' '\n'

Get Story Links

curl -s "https://hnrss.org/frontpage?count=5" | grep -oP '<link>\K[^<]+' | grep -v hnrss

Fetch Multiple Feeds

FEEDS=(
  "https://hnrss.org/frontpage?count=5"
  "https://techcrunch.com/feed/"
)

for feed in "${FEEDS[@]}"; do
  echo "=== $feed ==="
  curl -s "$feed" | xmllint --xpath '//item/title/text()' - 2>/dev/null | head -5
  echo ""
done

Extract Title, Link, and Date

curl -s "https://hnrss.org/frontpage?count=3" | xmllint --format - | awk '
  /<item>/ { in_item=1 }
  /<\/item>/ { in_item=0; print "---" }
  in_item && /<title>/ { gsub(/<[^>]*>/, ""); print "Title: " $0 }
  in_item && /<link>/ { gsub(/<[^>]*>/, ""); print "Link: " $0 }
  in_item && /<pubDate>/ { gsub(/<[^>]*>/, ""); print "Date: " $0 }
  '

Save Feed to File

curl -s "https://hnrss.org/frontpage" -o /tmp/hn-feed.xml
xmllint --xpath '//item/title/text()' /tmp/hn-feed.xml

HN RSS Options

Hacker News RSS (hnrss.org) supports parameters:

| Parameter | Description | |-----------|-------------| | count=N | Number of items (default 20) | | points=N | Minimum points | | comments=N | Minimum comments | | q=keyword | Search keyword |

# Top stories with 100+ points
curl -s "https://hnrss.org/frontpage?points=100&count=10"

# Search for "AI" topics
curl -s "https://hnrss.org/frontpage?q=AI&count=10"

RSS vs Atom Format

| Element | RSS | Atom | |---------|-----|------| | Container | <item> | <entry> | | Title | <title> | <title> | | Link | <link> | <link href="..."> | | Summary | <description> | <summary> | | Date | <pubDate> | <published> |


Guidelines

  1. Check feed format: Use head first to see if it's RSS or Atom
  2. Use xmllint: Best tool for XPath queries on XML
  3. Handle errors: Some feeds may be slow or rate-limited
  4. Respect robots.txt: Don't hammer feeds with requests
  5. Cache results: Feeds don't update every second