mcpField
R
rss-reader

rss-reader

github.com/winsorllc生産性072 回インストール35 週間前に更新
リポジトリ

rss-reader について

rss-readerは、RSSおよびAtomフィードを取得・解析するスキルです。コマンドラインツールやPythonの例を使って、記事のタイトル、日付、説明、リンクを抽出できます。

主な機能

  1. 01RSSおよびAtomフィードの取得
  2. 02記事タイトルとリンクの抽出
  3. 03新着記事と日付の一覧表示
  4. 04CLIツールまたはPythonでの解析

活用シーン

  1. 01ブログの新着記事の確認
  2. 02ニュースソースの更新監視
  3. 03複数フィードの記事の集約

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/winsorllc/upgraded-carnival --skill rss-reader

インストール後、Claude Code で/rss-readerを入力して読み込まれたか確認します。

詳細

RSS リーダースキル

RSS/Atom フィードを読み取り、解析します。

使用する場面

  • フィードから最新の記事を取得する
  • ニュースソースを購読する
  • ブログの更新を監視する
  • 複数のフィードを集約する

フィード情報

フィードの詳細を取得する
# Get feed info
curl -s "https://example.com/feed.xml" | head -20

# Check if RSS or Atom
curl -s "https://example.com/feed.xml" | head -1

フィードを解析する

xmlstarlet を使用する
# Install if needed
# apt install xmlstarlet

# List all items
curl -s "feed.xml" | xmlstarlet sel -t -m "//item" -v "title" -n

# Get latest 5 titles
curl -s "feed.xml" | xmlstarlet sel -t -m "//item[position() <= 5]" -v "title" -n
xmllint を使用する
# Parse with xmllint
curl -s "feed.xml" | xmllint --format - 2>/dev/null | head -50
Python を使用する
# Simple feed parser
python3 -c "
import xml.etree.ElementTree as ET
import urllib.request

url = 'https://example.com/feed.xml'
data = urllib.request.urlopen(url).read()
root = ET# Find channel.fromstring(data)


for item in root.findall('.//item'):
    title = item.find('title')
    if title is not None:
        print(title.text)
"
yq を使用する(利用できる場合)
# Convert RSS to YAML
curl -s "feed.xml" | yq -x '.rss.channel.item[]'

よく使うコマンド

フィード項目を一覧表示する
# Get all item titles
curl -s "feed.xml" | grep -o '<title>[^<]*</title>' | sed 's/<title>//;s/<\/title>//'

# With descriptions
curl -s "feed.xml" | grep -o '<title>[^<]*</title>\|<description>[^<]*</description>'
最新の項目を N 件取得する
# Latest 10 items with dates
curl -s "feed.xml" | grep -o '<item>.*</item>' | head -10 | \
  while read item; do
    echo "$item" | grep -o '<title>[^<]*</title>'
    echo "$item" | grep -o '<pubDate>[^<]*</pubDate>'
    echo "---"
  done
リンクを抽出する
# Get all article links
curl -s "feed.xml" | grep -o '<link>[^<]*</link>' | sed 's/<link>//;s/<\/link>//'

例

Hacker News RSS
curl -s "https://news.ycombinator.com/rss" | \
  grep -o '<title>[^<]*</title>' | sed 's/<title>//;s/<\/title>//' | head -20
TechCrunch
curl -s "https://techcrunch.com/feed/" | \
  grep -o '<title>[^<]*</title>' | head -15
GitHub トレンド
# GitHub doesn't have RSS, but you can use GitHub's API
curl -s "https://api.github.com/repos?sort=updated&per_page=10" | \
  jq '.[].full_name'

フィード URL

一般的な RSS フィードのパターン:

  • WordPress:/feed/ または /feed/rss/
  • Medium:/{username}/feed
  • YouTube:https://www.youtube.com/feeds/videos.xml?channel_id={id}
  • Twitter:Nitter または RSSHub を使用します

注意事項

  • RSS フィードによって要素名(item または entry)が異なる場合があります
  • Atom フィードでは <item> の代わりに <entry> を使用します
  • 一部のフィードでは User-Agent ヘッダーが必要です
  • 過剰なリクエストを避けるため、フィードのキャッシュを検討してください

コメント