● コミュニティ
Innei
⚡ 即起動
media-library-organizer-skill
作者 Innei · Innei/media-library-organizer-skill
Jellyfin/Plex/Emby向けにメディアライブラリを整備します。不要ファイルの削除、散在するエピソードの統合、フォルダ名の正規化、TMDBとの照合による欠落チェックを行います。
メディアサーバー向けに映画・テレビ・アニメのライブラリを体系的に整理するClaude Codeスキル(スタンドアロンのbashスクリプト付き)です。ディレクトリをスキャンし、不要ファイル(.DS_Store、SMB残留ファイル、空ディレクトリ)を削除し、タイトル+年+品質に基づいて重複を統合し、散在するリリースグループのフォルダをまとめ、Title (Year) 形式に正規化し、TMDBと照合して欠落エピソードを検出します。段階的な安全設計:明らかな不要ファイルの削除のみ自動実行され、重要な変更はユーザーの承認を待ちます。
なぜ使うのか
主な機能
- 不要ファイルの削除:SMB残留ファイル、.DS_Store、空ディレクトリ
- タイトル/年/品質に基づくフォルダ間の重複統合
- リリースグループをまたぐ散在エピソードの統合
Title (Year) 標準形式へのフォルダ名変更- TMDBとの照合によるエピソード完全性チェック
- 段階的な安全設計 — 破壊的操作には確認が必要
- リネーム前のトレントシード警告
ライブデモ
実際の動作
media-library-organizer-skill.replay
▶ 準備完了
ユースケース
実用的な使い方: media-library-organizer-skill
使うタイミング: リリースグループ名で散らかったフォルダをJellyfinに読み込ませる前に使用します。
フロー
-
スキャンと分析
Use media-library-organizer on /media/downloads. Scan-only — list junk, duplicates, scattered episodes.✓ コピーしました
→ 不要ファイル / 重複 / 散在の3セクションで構成されたレポート
-
不要ファイルの自動削除(安全ティア)
Proceed with junk cleanup (.DS_Store, SMB metadata, empty dirs).✓ コピーしました
→ 小規模な削除のみ、リスクのある操作なし
-
重複の確認と統合
Now consolidate duplicates — I'll approve each.✓ コピーしました
→ タイトル/年/品質を表示しながら1件ずつ承認
-
フォルダ名の正規化
Rename to Title (Year) format — warn if anything is currently seeding.✓ コピーしました
→ リネーム前にシード警告が表示される
-
TMDBによる検証
Cross-check episode counts against TMDB — list missing.✓ コピーしました
→ 作品ごとの欠落エピソード一覧
結果: Jellyfin/Plexがすべてのメディアを認識し、欠落箇所が明確になります。
注意点
- リネームによりアクティブなトレントシードが壊れる — スキルが警告を出します。リネーム前にトレントを停止するか、ハードリンクを作成してください
- 異なる品質のバージョンを統合すると高品質版を失う可能性がある — スキルは高品質を優先しますが、確認前に必ずダブルチェックしてください
使うタイミング: アニメライブラリに1作品あたり3つのリリースグループが異なるフォルダに散在している場合に使用します。
フロー
-
スキャン
Scan /anime for scattered-episode patterns across release groups.✓ コピーしました
→ 作品ごとの統合候補
-
作品ごとに正規バージョンを選択
For each candidate, pick the highest-quality release group and merge others into it (or trash).✓ コピーしました
→ 整理された作品別フォルダ
結果: 1作品につき1フォルダ、統一された命名規則で整理されます。
組み合わせ
他のMCPと組み合わせて10倍の力を
同じセッション内でNFOファイルやカスタムサイドカーファイルを編集する
While organizing, also add .nfo files for each movie with TMDB id.✓ コピーしました
コストと制限
運用コスト
- 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
- merge_duplicatesを実行する前に、承認済みであっても必ずバックアップ(または少なくともスナップショット)を取得してください。
- シード警告はトレントクライアントの状態が読み取り可能であることに依存しています。検出できない場合は、手動でシードを停止してください。
トラブルシューティング
よくあるエラーと対処法
すべてが「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 他との比較
| 代替案 | 代わりに使う場面 | トレードオフ |
| FileBot | GUIと組み込みルールを使いたい場合 | 有料、Claudeとの連携なし |
| tinyMediaManager | 不要ファイル削除よりもメタデータ管理を重視する場合 | 統合・散在エピソード処理の機能なし |