Claude Code Plugins

Community-maintained marketplace

Feedback

Fetch and parse RSS feeds from provided URLs. Use this skill when you need to gather news articles from RSS sources.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name: rss-fetch description: Fetch RSS/Atom feeds via curl. Use this skill to gather news and articles 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)

Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"' | jq .

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

RSS_URL="https://hnrss.org/frontpage"

curl -s "$RSS_URL" | 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