● 社群
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 交叉比對以確認劇集完整性
- 分層安全機制——破壞性操作需確認
- 重新命名前發出 Torrent 做種警告
即時演示
實際使用效果
media-library-organizer-skill.replay
▶ 就緒
使用場景
實戰用法: media-library-organizer-skill
何時使用: 在將 Jellyfin 指向一個充滿發布組命名混亂的資料夾之前執行。
步驟
-
掃描與分析
Use media-library-organizer on /media/downloads. Scan-only — list junk, duplicates, scattered episodes.✓ 已複製
→ 包含三個區塊的報告:垃圾檔案 / 重複項目 / 分散劇集
-
自動清理垃圾(安全層級)
Proceed with junk cleanup (.DS_Store, SMB metadata, empty dirs).✓ 已複製
→ 少量刪除操作,無風險內容
-
確認並合併重複項目
Now consolidate duplicates — I'll approve each.✓ 已複製
→ 逐一顯示標題/年份/畫質以供確認
-
統一資料夾命名
Rename to Title (Year) format — warn if anything is currently seeding.✓ 已複製
→ 重新命名前顯示做種警告
-
透過 TMDB 驗證
Cross-check episode counts against TMDB — list missing.✓ 已複製
→ 每部劇集的缺失集數清單
結果: Jellyfin/Plex 能辨識所有內容;缺少的集數一目了然。
注意事項
- 重新命名導致正在做種的 Torrent 中斷 — 技能會發出警告;重新命名前請先停止做種或建立硬連結
- 合併不同畫質版本時遺失了較好的版本 — 技能會優先保留較高畫質的版本——確認前請仔細核對
何時使用: 你的動漫庫中每部作品分散在不同資料夾下有 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).✓ 已複製
→ 每部作品各有一個命名一致的資料夾
結果: 每部作品只有一個資料夾,且命名一致。
組合
與其他 MCP 搭配,撬動十倍槓桿
在同一個工作階段中編輯 NFO 檔案或自訂附屬檔案
While organizing, also add .nfo files for each movie with TMDB id.✓ 已複製
成本與限制
運行它的成本
- API 配額
- TMDB:免費方案對家用媒體庫來說非常充裕
- 每次呼叫 Token 數
- 低——技能主要是協調 shell 指令
- 費用
- 免費
- 提示
- 先執行僅掃描模式;確定要進行清理後再執行完整分析,避免浪費 token
安全
權限、密鑰、影響範圍
最小權限: 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 前務必先備份(或至少建立快照)——即使有確認機制也不例外。
- 做種警告功能需要能讀取 Torrent 用戶端的狀態;若無法偵測到,請手動停止做種。
故障排查
常見錯誤與修復
Everything flagged as 'junk'
你指定的路徑不是媒體資料夾——請確認根目錄是否正確
驗證: ls /media/downloads
TMDB verify returns 401
TMDB_API_KEY 未設定或設定錯誤
驗證: curl https://api.themoviedb.org/3/movie/550?api_key=$TMDB_API_KEY
Jellyfin still doesn't detect after rename
強制重新掃描媒體庫;確認資料夾名稱符合 Jellyfin 預期的命名格式
替代方案
media-library-organizer-skill 對比其他方案
| 替代方案 | 何時用它替代 | 權衡 |
| FileBot | 你想要有圖形介面且內建規則的工具 | 需付費,無 Claude 整合循環 |
| tinyMediaManager | 你的需求側重於後設資料管理而非垃圾清理 | 不支援合併或分散劇集處理 |