Agent Skills
› NeverSight/learn-skills.dev
› rss-automation
rss-automation
GitHub用于RSS/Atom订阅源的自动化聚合与监控。支持解析、关键词过滤、去重跟踪,并可定时检查后将新内容推送至Telegram或Slack等通知渠道,实现自动化的内容追踪。
Trigger Scenarios
用户需要监控特定网站或博客的最新动态
需要定期汇总并分发技术新闻或学术文章
希望将多个RSS源的新条目推送到即时通讯软件
Install
npx skills add NeverSight/learn-skills.dev --skill rss-automation -g -y
SKILL.md
Frontmatter
{
"name": "rss-automation",
"description": "RSS feed aggregation and monitoring. Parse RSS\/Atom feeds, filter entries, track new items, and integrate with notification channels for automated content monitoring."
}
RSS Automation
Monitor and aggregate RSS/Atom feeds for automated content tracking and notification.
Capabilities
- Parse RSS 2.0 and Atom feeds
- Filter entries by keywords, date, author
- Track seen/new entries to avoid duplicates
- Push new items to Telegram, Slack, or other channels
- Schedule periodic feed checks via cron
Usage
Parse a Feed
import feedparser
feed = feedparser.parse("https://example.com/feed.xml")
for entry in feed.entries[:10]:
print(f"{entry.title} - {entry.link}")
print(f" Published: {entry.get('published', 'N/A')}")
Monitor Multiple Feeds
import feedparser, json, hashlib
from pathlib import Path
SEEN_FILE = Path("~/.openclaw/rss-seen.json").expanduser()
def load_seen():
if SEEN_FILE.exists():
return json.loads(SEEN_FILE.read_text())
return {}
def save_seen(seen):
SEEN_FILE.write_text(json.dumps(seen))
def check_feed(url, seen):
feed = feedparser.parse(url)
new_entries = []
for entry in feed.entries:
entry_id = hashlib.md5(entry.link.encode()).hexdigest()
if entry_id not in seen.get(url, []):
new_entries.append(entry)
seen.setdefault(url, []).append(entry_id)
return new_entries
Cron Integration
Set up a cron job to check feeds periodically:
Schedule: every 2 hours
Payload: "Check RSS feeds and push new items"
Dependencies
pip install feedparser
Feed Sources Examples
| Source | Feed URL |
|---|---|
| Hacker News | https://hnrss.org/frontpage |
| TechCrunch | https://techcrunch.com/feed/ |
| ArXiv CS.AI | http://arxiv.org/rss/cs.AI |
| GitHub Trending | Use web scraping instead |
Important Notes
- Some feeds require User-Agent headers
- Rate limit feed checks (don't poll more than every 15 minutes)
- Store seen entries persistently to survive restarts
Version History
- e0220ca Current 2026-07-05 21:58


