Spotify ha publicado shunt, un plugin para Claude Code que deriva a un modelo más barato las tareas de leer ficheros grandes y generar código repetitivo, y uno de sus responsables asegura que con él ha reducido de media un 90 % los tokens que consume en las lecturas masivas. Lo explica Dimitri Mazmanov, Principal Product Manager de Spotify, en un artículo del blog de ingeniería de la compañía publicado el 3 de septiembre. El plugin es de código abierto y está en GitHub, pero solo funciona con Portal, la plataforma para desarrolladores de Spotify.
Las claves de shunt, el plugin de Spotify para Claude Code, en 20 segundos
- shunt bloquea las lecturas de ficheros de más de 350 líneas y las envía a otro modelo configurado en Portal.
- Spotify habla de un ahorro medio del 90 % en cuatro escenarios sobre un monorepo Java.
- Requiere una instancia de Portal con AiKA y no delega la edición ni el razonamiento.
La idea de partida es que buena parte del trabajo de un agente de programación no es razonar, sino leer y escribir. Mazmanov lo resume diciendo que la mayoría de lo que hace un agente de código por él no es pensar, sino entrada y salida. Cuando Claude abre un fichero de miles de líneas para responder a una pregunta concreta, todo ese texto entra en su contexto y se factura como tokens de entrada de un modelo caro. shunt intercepta esas operaciones y se las pasa a un modelo más económico, que devuelve solo un resumen o el código generado.
El artículo enmarca el problema en el coste. Mazmanov cita una previsión de Gartner según la cual el gasto en programación con IA superará el de los salarios de los desarrolladores en 2028, y datos según los que una cuarta parte de los responsables de ingeniería gasta entre 200 y 500 dólares al mes por desarrollador en tokens, con casos de más de 2.000 dólares. Son cifras que aporta el autor como contexto, no mediciones de Spotify.
Cómo funciona: ganchos, scripts y skills
shunt se organiza en tres capas. La primera son ganchos (hooks) de tipo PreToolUse: antes de que Claude ejecute una lectura, el plugin comprueba el tamaño del fichero y la bloquea si supera las 350 líneas, un umbral que se cambia con la variable SHUNT_MIN_LINES. También detecta los comandos cat, head, tail, less y more sobre ficheros grandes. Las lecturas acotadas, con desplazamiento o límite de líneas, y los ficheros pequeños pasan sin problema.
La segunda capa son dos scripts que llaman a la CLI de Portal. bulk-read envía los ficheros y una pregunta a un «modo» llamado bulk-reader, que devuelve la respuesta. code-write manda una especificación y ficheros de referencia a un modo code-writer y puede escribir el resultado directamente en disco, de forma que Claude nunca llega a leer el código generado. La tercera capa son dos skills que indican a Claude cuándo debe usar cada script. Los modos son agentes declarativos de AiKA, el asistente de IA de Portal, y en los ejemplos de Spotify usan Gemini 2.5 Flash, aunque se puede configurar cualquier modelo disponible en la instancia.
La instalación se hace desde el propio Claude Code añadiendo el marketplace spotify/portal-ai-plugins, instalando los plugins portal y shunt y ejecutando /portal:setup en una sesión nueva. Hace falta además jq y, sobre todo, una instancia de Portal con AiKA activado.
Qué ahorra y qué no puede delegar
El 90 % es el ahorro medio de tokens en lecturas masivas en cuatro escenarios probados sobre un monorepo Java, según el artículo, que no publica los recuentos absolutos de tokens. El README del repositorio habla de ahorros de entre el 82 % y el 94 % en lecturas de ficheros grandes y tareas de generación. Mazmanov reconoce que el ahorro en la generación de código es más difícil de medir. Tampoco hay una comparación del coste final, ya que el modelo de Portal también consume tokens, aunque más baratos.
El propio autor detalla los límites. La edición no se puede delegar, porque los resúmenes del modelo secundario no dan números de línea fiables. El razonamiento tampoco: en una de las pruebas, el modelo de Portal pasó por alto un fallo de seguridad entre hilos que Claude sí detectó. Cada llamada añade entre 10 y 30 segundos de latencia, así que no compensa para lecturas pequeñas. Según el README, el generador de código no tiene un gancho que lo fuerce y depende de que Claude decida usarlo, cada llamada es independiente y no conserva los turnos anteriores, y las peticiones demasiado grandes se rechazan para que se dividan.
Quien no use Portal puede aplicar parte de la idea con otros medios, como las técnicas para no quemar tokens en Claude Code que ya repasamos o un enrutador de modelos como Claude Model Router.
Preguntas frecuentes
¿Qué es shunt?
Un plugin de código abierto de Spotify para Claude Code que envía la lectura de ficheros grandes y la generación de código repetitivo a un modelo más barato configurado en Portal.
¿Se puede usar sin Portal de Spotify?
No. Necesita una instancia de Portal con AiKA activado y los modos bulk-reader y code-writer.
¿Cuántos tokens ahorra?
Spotify habla de un 90 % de media en lecturas masivas en cuatro escenarios, y el README de entre un 82 % y un 94 %. No hay mediciones independientes ni recuentos absolutos publicados.
¿Qué tareas no delega?
La edición de código, la depuración, las decisiones de arquitectura y los ficheros de menos de 350 líneas, que sigue gestionando Claude.
Fuentes:













