feedsmith について
Feedsmith v3以降でRSS、Atom、RDF、JSON Feed、OPMLを解析・生成するための開発者向けスキルです。構造を保つ型付きAPIと、バージョン固有の動作や移行事項を扱います。
主な機能
- 01RSS、Atom、RDF、JSON Feed、OPMLの解析
- 02対応フィード形式とOPMLの生成
- 03形式別の型付き構造
- 04フィード形式の判定ガイド
- 05v2からv3への移行案内
活用シーン
- 01既知の形式のフィード解析
- 02混在または未知のフィードソースの処理
- 03JSON Feed、RSS、Atom、OPMLの生成
- 04プロジェクトのFeedsmith v2からの移行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dobroslavradosavljevic/ skills --skill feedsmithインストール後、Claude Code で/feedsmithを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/formats-namespaces.mdgenerating.mdmigration-v2-to-v3.mdparsing.mdsource-map.md詳細
Feedsmith
このスキルは、構造を保持する型付き API で RSS、Atom、RDF、JSON Feed、OPML を解析・生成する Feedsmith v3+(feedsmith)向けです。ドキュメント:feedsmith.dev。スナップショット 3.0.1(2026-10-01)。
ワークフロー
- ローカル環境を確認します。
- インストール済みの
feedsmithのバージョン(bun pm ls feedsmith/bun info feedsmith)。このスキルの対象は 3.x です。latestは 3.0.1(ESM ビルドでは.mjsファイルが同梱されるようになりました。3.0.0 から API の変更はありません)。 - 解析、生成、OPML、形式の判定のみのどの用途かを確認します。
- 日付:文字列のまま扱うのか、
parseDateFnを使うのか、生成時にDateを使うのかを確認します。 - v2 の名残:
feedsmith/types、{ lenient: true }、フラットな Atom 文字列、文字列形式の RSS 人物情報、単数形のdc.*フィールド、Rss/Atom/Json/Rdf型名前空間。
- インストール済みの
- 形式が分かっている場合は専用パーサーを優先します。不明または混在したソースにのみ
parseFeedを使います。 - タグに差異があればドキュメントを更新します。source-map.md から始めてください。
- 詳細は以下を参照します。
- 解析/判定/日付/エラー:parsing.md
- 生成、厳格モード、スタイルシート、OPML の追加項目:generating.md
- 形式、名前空間、型:formats-namespaces.md
- v2 から v3 への破壊的変更:migration-v2-to-v3.md
- コマンド例では
bun/bunxを優先します。
基本方針
- 構造を保持する — 独自の「汎用フラット化フィード」レイヤーを作らず、形式固有のフィールドと名前空間(
feed.itunes、item.dcなど)を読み取ります。 - 解析時、日付はデフォルトで文字列です。変換には
parseDateFnを使います。この関数内で発生したエラーは握りつぶされません。 - 生成はデフォルトで寛容です(すべてのフィールドが任意)。コンパイル時に仕様上必須のフィールドを適用し、日付に
Dateを使うには{ strict: true }を指定します。 - Atom のテキスト/コンテンツはオブジェクトです。
title?.value、content?.valueを使います(文字列そのものではありません)。 - RSS の人物情報はオブジェクトです。
{ email?, name?, link? }を使います("a@b (Name)"形式の文字列ではありません)。linkは解析専用です。 - 型はメインエントリーから取得します:
RssFeed、AtomFeed、JsonFeed、RdfFeed、Opml、AnyFeed。feedsmith/typesはありません。 - RDF の生成には対応していません(
generateRdfFeedは実装予定です)。JSON Feed/RSS/Atom/OPML の生成には対応しています。generateJsonFeedは文字列ではなくオブジェクトを返します。 - 汎用の
Errorだけでなく、DetectError|MalformedError|ParseError|GenerateErrorを捕捉します。 - 形式が分かっている場合は専用パーサーを使います(判定ヒューリスティックより高速で信頼性が高いです)。
検証
リポジトリが提供するコマンドを優先します。該当する項目を実施します。
bun pm ls feedsmith/bun info feedsmith— 3.x であることを確認します。- 往復テスト:フィクスチャを解析 → 主要フィールドをアサート → 生成 → 再解析のスモークテスト。
- アップグレード後に Atom
.value/RSSPerson/dc.creators(複数形)/number型のitunes.durationを型チェックします。 - 厳格な生成:必須フィールドが不足している場合、
{ strict: true }によってコンパイル時に失敗することを確認します。 - 不正な XML や誤った形式を対象に、専用エラークラスを使ったエラーパステストを実施します。
実施したチェックと実施しなかったチェック、および残っているバージョン/タグに関する前提を報告します。
コメント
Markdown 対応