/ ディレクトリ / プレイグラウンド / media-library-organizer-skill
● コミュニティ Innei ⚡ 即起動

media-library-organizer-skill

作者 Innei · Innei/media-library-organizer-skill

Jellyfin/Plex/Emby向けにメディアライブラリを整備します。不要ファイルの削除、散在するエピソードの統合、フォルダ名の正規化、TMDBとの照合による欠落チェックを行います。

メディアサーバー向けに映画・テレビ・アニメのライブラリを体系的に整理するClaude Codeスキル(スタンドアロンのbashスクリプト付き)です。ディレクトリをスキャンし、不要ファイル(.DS_Store、SMB残留ファイル、空ディレクトリ)を削除し、タイトル+年+品質に基づいて重複を統合し、散在するリリースグループのフォルダをまとめ、Title (Year) 形式に正規化し、TMDBと照合して欠落エピソードを検出します。段階的な安全設計:明らかな不要ファイルの削除のみ自動実行され、重要な変更はユーザーの承認を待ちます。

なぜ使うのか

主な機能

ライブデモ

実際の動作

media-library-organizer-skill.replay ▶ 準備完了
0/0

インストール

作者のリポジトリ · Claude Skills の公式ドキュメント

ユースケース

実用的な使い方: media-library-organizer-skill

散らかったダウンロードライブラリをJellyfin向けに整備する

👤 混沌としたダウンロードフォルダを抱えるホームメディアサーバーユーザー ⏱ ~60 min intermediate

使うタイミング: リリースグループ名で散らかったフォルダをJellyfinに読み込ませる前に使用します。

フロー
  1. スキャンと分析
    Use media-library-organizer on /media/downloads. Scan-only — list junk, duplicates, scattered episodes.✓ コピーしました
    → 不要ファイル / 重複 / 散在の3セクションで構成されたレポート
  2. 不要ファイルの自動削除(安全ティア)
    Proceed with junk cleanup (.DS_Store, SMB metadata, empty dirs).✓ コピーしました
    → 小規模な削除のみ、リスクのある操作なし
  3. 重複の確認と統合
    Now consolidate duplicates — I'll approve each.✓ コピーしました
    → タイトル/年/品質を表示しながら1件ずつ承認
  4. フォルダ名の正規化
    Rename to Title (Year) format — warn if anything is currently seeding.✓ コピーしました
    → リネーム前にシード警告が表示される
  5. TMDBによる検証
    Cross-check episode counts against TMDB — list missing.✓ コピーしました
    → 作品ごとの欠落エピソード一覧

結果: Jellyfin/Plexがすべてのメディアを認識し、欠落箇所が明確になります。

注意点
  • リネームによりアクティブなトレントシードが壊れる — スキルが警告を出します。リネーム前にトレントを停止するか、ハードリンクを作成してください
  • 異なる品質のバージョンを統合すると高品質版を失う可能性がある — スキルは高品質を優先しますが、確認前に必ずダブルチェックしてください
組み合わせ: filesystem

複数リリースグループが混在するアニメライブラリを整理する

👤 アニメコレクター ⏱ ~45 min intermediate

使うタイミング: アニメライブラリに1作品あたり3つのリリースグループが異なるフォルダに散在している場合に使用します。

フロー
  1. スキャン
    Scan /anime for scattered-episode patterns across release groups.✓ コピーしました
    → 作品ごとの統合候補
  2. 作品ごとに正規バージョンを選択
    For each candidate, pick the highest-quality release group and merge others into it (or trash).✓ コピーしました
    → 整理された作品別フォルダ

結果: 1作品につき1フォルダ、統一された命名規則で整理されます。

組み合わせ

他のMCPと組み合わせて10倍の力を

media-library-organizer-skill + filesystem

同じセッション内でNFOファイルやカスタムサイドカーファイルを編集する

While organizing, also add .nfo files for each movie with TMDB id.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
scan root path 整理セッションの開始時 0 — local
clean_junk root path, safe_only=true 最初の破壊的パス 0
merge_duplicates duplicate pair list 重複の承認後 0
normalize_names root path クリーンアップ完了後 0
verify_tmdb show paths, TMDB_API_KEY 完全性チェック時 TMDB free quota

コストと制限

運用コスト

APIクォータ
TMDB:ホームライブラリ用途には十分な無料枠があります
呼び出しあたりのトークン
低 — スキルは主にシェル操作のオーケストレーションを行います
金額
無料
ヒント
まずスキャンのみ実行してください。クリーンアップを決定するまで、完全な分析にトークンを消費する必要はありません

セキュリティ

権限、シークレット、影響範囲

最小スコープ: Filesystem read/write on the library root only
認証情報の保管: TMDBキーは環境変数に保存
データ送信先: 完全性チェック用のTMDB API(公開メタデータのみ)
絶対に付与しない: Run as root on the media disk — use a user with write on just the library

トラブルシューティング

よくあるエラーと対処法

すべてが「junk」として検出される

メディア以外のフォルダを指定している可能性があります。ルートパスを確認してください

確認: ls /media/downloads
TMDB verifyが401を返す

TMDB_API_KEYが未設定または誤っています

確認: curl https://api.themoviedb.org/3/movie/550?api_key=$TMDB_API_KEY
リネーム後もJellyfinが検出しない

ライブラリの再スキャンを強制実行し、フォルダ名がJellyfinの期待する命名規則と一致しているか確認してください

代替案

media-library-organizer-skill 他との比較

代替案代わりに使う場面トレードオフ
FileBotGUIと組み込みルールを使いたい場合有料、Claudeとの連携なし
tinyMediaManager不要ファイル削除よりもメタデータ管理を重視する場合統合・散在エピソード処理の機能なし

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る