/ Directorio / Playground / media-library-organizer-skill
● Comunidad Innei ⚡ Instantáneo

media-library-organizer-skill

por Innei · Innei/media-library-organizer-skill

Prepara bibliotecas de medios para Jellyfin/Plex/Emby — limpia basura, fusiona episodios dispersos, normaliza nombres de carpetas, verifica completitud contra TMDB.

Una skill de Claude Code (con scripts bash independientes) que organiza sistemáticamente bibliotecas de películas / TV / anime para servidores de medios. Escanea directorios, elimina basura (.DS_Store, residuos SMB, directorios vacíos), fusiona duplicados por título+año+calidad, consolida carpetas de grupos de lanzamiento dispersas, normaliza a Title (Year), y verifica referencias cruzadas con TMDB para señalar episodios faltantes. Seguridad por niveles: solo los borrados genuinamente-basura se ejecutan sin confirmación — los cambios sustanciales esperan tu aprobación.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

media-library-organizer-skill.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "media-library-organizer-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "media-library-organizer-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/Innei/media-library-organizer-skill",
          "~/.claude/skills/media-library-organizer-skill"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add media-library-organizer-skill -- git clone https://github.com/Innei/media-library-organizer-skill ~/.claude/skills/media-library-organizer-skill

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: media-library-organizer-skill

Prepara una biblioteca de descargas desordenada para Jellyfin

👤 Usuarios de servidores de medios caseros con una carpeta de descargas caótica ⏱ ~60 min intermediate

Cuándo usarlo: Antes de apuntar Jellyfin a una carpeta llena de caos nombrado por grupos de lanzamiento.

Requisitos previos
  • Skill instalada — git clone https://github.com/Innei/media-library-organizer-skill ~/.claude/skills/media-library-organizer-skill
  • Clave API de TMDB para verificaciones de completitud — themoviedb.org -> Configuración -> API -> clave gratuita
Flujo
  1. Escanea y analiza
    Usa media-library-organizer en /media/downloads. Solo escaneo — lista basura, duplicados, episodios dispersos.✓ Copiado
    → Informe con 3 secciones: basura / duplicados / dispersos
  2. Limpieza automática de basura (nivel seguro)
    Continúa con la limpieza de basura (.DS_Store, metadatos SMB, directorios vacíos).✓ Copiado
    → Borrados pequeños, nada arriesgado
  3. Confirma y fusiona duplicados
    Ahora consolida duplicados — aprobaré cada uno.✓ Copiado
    → Aprobaciones una por una con título/año/calidad mostrados
  4. Normaliza nombres de carpetas
    Renombra al formato Title (Year) — advierte si algo se está sembrando actualmente.✓ Copiado
    → Advertencia de semilla aparece antes de renombrados
  5. Verifica a través de TMDB
    Verifica cruzada los recuentos de episodios contra TMDB — lista los faltantes.✓ Copiado
    → Lista de episodios faltantes por programa

Resultado: Jellyfin/Plex reconoce todo; los vacíos faltantes son explícitos.

Errores comunes
  • El renombrado rompe una semilla torrent activa — La skill advierte; detén el torrent o crea un hard-link antes de renombrar
  • Fusionar versiones de diferente calidad pierde la buena — La skill prioriza mayor calidad — verifica dos veces antes de confirmar
Combinar con: filesystem

Consolida una biblioteca de anime con grupos de lanzamiento mixtos

👤 Coleccionistas de anime ⏱ ~45 min intermediate

Cuándo usarlo: Tu biblioteca de anime tiene 3 grupos de lanzamiento por programa en diferentes carpetas.

Flujo
  1. Escanea
    Escanea /anime para patrones de episodios dispersos entre grupos de lanzamiento.✓ Copiado
    → Candidatos de fusión por programa
  2. Elige la versión canónica por programa
    Para cada candidato, elige el grupo de lanzamiento de mayor calidad y fusiona otros en él (o bórralo).✓ Copiado
    → Carpetas limpias por programa

Resultado: Una carpeta por programa con nombres consistentes.

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

media-library-organizer-skill + filesystem

Edita archivos NFO o sidecars personalizados durante la misma sesión

Mientras organizas, también agrega archivos .nfo para cada película con el id de TMDB.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
scan ruta raíz Inicio de cualquier sesión de organización 0 — local
clean_junk ruta raíz, safe_only=true Primer paso destructivo 0
merge_duplicates lista de pares duplicados Después de aprobar duplicados 0
normalize_names ruta raíz Después de la limpieza 0
verify_tmdb rutas de programas, TMDB_API_KEY Verificación de completitud cuota gratuita de TMDB

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
TMDB: nivel gratuito generoso para bibliotecas caseras
Tokens por llamada
Bajo — la skill orquesta principalmente shell
Monetario
Gratuito
Consejo
Solo escaneo primero; no gastes tokens en el análisis completo hasta que te hayas comprometido con la limpieza

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: Lectura/escritura del sistema de archivos solo en la raíz de la biblioteca
Almacenamiento de credenciales: Clave TMDB en env
Salida de datos: API de TMDB para verificaciones de completitud (solo metadatos públicos)
No conceder nunca: Ejecuta como root en el disco de medios — usa un usuario con escritura solo en la biblioteca

Resolución de problemas

Errores comunes y soluciones

Todo marcado como 'basura'

Lo apuntaste a una carpeta que no es de medios — confirma la raíz

Verificar: ls /media/downloads
La verificación de TMDB devuelve 401

TMDB_API_KEY faltante o incorrecto

Verificar: curl https://api.themoviedb.org/3/movie/550?api_key=$TMDB_API_KEY
Jellyfin aún no detecta después del renombrado

Fuerza el reescaneo de la biblioteca; verifica que la carpeta coincida con la nomenclatura esperada de Jellyfin

Alternativas

media-library-organizer-skill vs otros

AlternativaCuándo usarlaContrapartida
FileBotQuieres una GUI con reglas predefinidasDe pago, sin bucle Claude
tinyMediaManagerEnfocado en metadatos en lugar de limpieza de basuraSin fusión / manejo de episodios dispersos

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills