跳到正文
cccskills
免费在 GitHub 公开

rss-agent

A powerful RSS subscription manager and reader. Use it to (1) Import/export OPML files, (2) Manage RSS feeds (add, remove, categorize), (3) Validate feed connectivity, (4) Schedule periodic updates via cron, (5) Fetch and summarize articles with a progressive disclosure approach.

中文简介正在准备中。当前显示原文说明。

shiquda/rss-agent星标 15(GitHub 15 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(4)

  • SKILL.md5.4 KB
  • LICENSE34.1 KB
  • README.md1.9 KB
  • scripts/rss.py21.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

RSS Agent

Manage and consume RSS feeds directly within OpenClaw. This skill replaces traditional RSS readers by providing AI-powered summaries, progressive exploration, and automated delivery.

Quick Start

Use the unified CLI to manage your subscriptions:

# List all feeds
python3 skills/rss-agent/scripts/rss.py list

# Add a new feed
python3 skills/rss-agent/scripts/rss.py add https://example.com/feed.xml --category Tech

# Fetch latest articles
python3 skills/rss-agent/scripts/rss.py fetch "Feed Name" --limit 5

# Check feed health
python3 skills/rss-agent/scripts/rss.py check

# Export to OPML
python3 skills/rss-agent/scripts/rss.py export -o my_feeds.opml

CLI Commands

list - List subscriptions

rss list                          # List all subscriptions
rss list --category Tech          # Filter by category
rss list --verbose                # Show URLs

add - Add subscription

rss add <url>                     # Basic add
rss add <url> --name "My Blog"    # Custom name
rss add <url> -c Tech -n "Blog"   # Specify category and name

remove - Remove subscription

rss remove "Feed Name"             # Remove by name
rss remove https://example.com/feed.xml  # Remove by URL

check - Health check

rss check                         # Check all feed status

Output example:

✅ Feed Name 1      # OK
⚠️  Feed Name 2      # Invalid content
❌ Feed Name 3      # Cannot access

fetch - Fetch content

rss fetch "Feed Name"             # Get latest 5 items
rss fetch "Feed Name" -n 10       # Get latest 10 items
rss fetch "Feed Name" -v          # Show links
rss fetch "Feed Name" --full-content  # Get full content (if supported)

digest - Daily digest

rss digest                        # Get today's updates
rss digest -d 2                   # Get last 2 days
rss digest -c "AI" --limit 5      # Filter by category

export - Export to OPML

rss export                        # Export as rss_export_YYYYMMDD.opml
rss export -o backup.opml         # Specify filename

import - Import from OPML

rss import follow.opml            # Import from OPML

Data Storage

  • Feed list: /root/.openclaw/workspace/rss_feeds.json
  • Schema:
[
  {
    "name": "Blog Name",
    "xmlUrl": "https://example.com/feed.xml",
    "htmlUrl": "https://example.com/",
    "category": "Technology"
  }
]

Automation (Cron)

Schedule periodic RSS updates using OpenClaw's cron tool:

Daily Summary Example

{
  "schedule": {"kind": "cron", "expr": "0 9 * * *"},
  "payload": {
    "kind": "agentTurn",
    "message": "Fetch latest 3 items from all RSS feeds in category 'AI', summarize them, and send a report"
  },
  "sessionTarget": "isolated"
}

Implementation Pattern

When asked to check RSS feeds, the agent will:

  1. Run python3 skills/rss-agent/scripts/rss.py list --category <cat> to get feed list
  2. Run python3 skills/rss-agent/scripts/rss.py fetch "<name>" for each feed
  3. Use web_fetch to get full article content if needed
  4. Summarize and format results

Full Content Extraction

Some RSS feeds provide full article content via content:encoded (RSS 2.0) or content (Atom) fields. Use the --full-content flag to extract and read articles directly:

# Read full article without opening browser
rss fetch "Feed Name" --limit 1 --full-content

# Check which feeds in your collection support full content
rss list --verbose

How it works:

  • RSS 2.0 feeds with content:encoded field → ✅ Full content available
  • Atom feeds with content field → ✅ Full content available
  • Feeds with only description/summary → ❌ Only summary available

Notes:

  • Full content extraction strips HTML tags for readability
  • If a feed doesn't provide full content, the CLI will show a warning
  • For feeds without full content, use web_fetch or browser tools as fallback

Progressive Reading

The skill supports a 3-level disclosure pattern:

Level 1 - Headlines: Quick overview with rss fetch Level 2 - Summaries: Agent summarizes interesting articles Level 3 - Full content: Use rss fetch --full-content or web_fetch for complete article

Example interaction:

User: "Check my RSS 'Tech' category"
→ Agent lists new articles from Tech feeds
User: "Tell me more about the AI article"
→ Agent fetches full content using rss fetch --full-content and summarizes
User: "Read the full article"
→ Agent displays the full content or uses TTS for audio playback

File Structure

skills/rss-agent/
├── SKILL.md              # This file
└── scripts/
    └── rss.py           # Main CLI (unified interface)

Tips

  • Use rss check periodically to clean up dead feeds
  • Use rss digest for quick daily updates overview
  • Categories help organize feeds for targeted reading
  • Combine with tts for audio news briefings
  • For complex websites blocked to web_fetch, use browser tool
  • Try rss fetch --full-content first before using web_fetch - it's faster for supported feeds

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

报告此技能的问题