- En las últimas semanas, se sistematizó un sistema de agentes de código basado en Claude Code para crear una nueva herramienta de extensión llamada
Superpowers
- Superpowers se instala en forma de plugin y le enseña “Skills” a Claude, ofreciendo funciones para automatizar y mejorar la forma de trabajar mediante esas habilidades
- Aprovechando el sistema de plugins de Claude Code de Anthropic, el agente puede encargarse de forma autónoma de automatización de flujos de trabajo, ejecución de TDD, revisión de código y gestión de Git worktrees
- El nuevo flujo de trabajo pasa automáticamente por las etapas de brainstorming → planificación → implementación, avanza tareas en paralelo y realiza desarrollo guiado por pruebas con el método RED/GREEN TDD
- El concepto clave, “Skill”, es una unidad de conocimiento que Claude debe consultar al realizar una tarea específica; el usuario puede escribirla directamente o hacer que Claude la genere a partir de documentos de aprendizaje
- Se considera que esta estructura podría convertirse en el estándar de auto-mejora y colaboración para agentes de código con IA en el futuro, y los próximos objetivos son completar la función de compartir Superpowers y el sistema de memoria
Resumen de Superpowers
- Superpowers funciona en Claude Code 2.0.13 o superior, y se puede instalar con el comando
/plugin marketplace add obra/superpowers-marketplace
- Después de la instalación, Claude lee automáticamente el documento
SKILL.md y aprende la regla de que “si existe un Skill, debe usarlo obligatoriamente”
- Gracias a esto, Claude guía la discusión antes de implementar pasando por las etapas de brainstorming y planificación, y al terminar el trabajo incluso puede crear un PR de GitHub o proponer una fusión
Flujo de trabajo de programación
- Cuando Claude detecta el inicio de un proyecto o tarea, pasa automáticamente por las etapas de brainstorming y planificación antes de implementar
- Al trabajar dentro de un repositorio Git, crea automáticamente un worktree para evitar conflictos entre tareas paralelas
- Se ofrecen dos modos de ejecución
- Método anterior: el usuario abre una segunda sesión de Claude y asume el rol de PM, mediando entre el arquitecto y el implementador
- Método nuevo: distribuye tareas individuales a subagentes y avanza cada una después de una revisión de código
- Repite el ciclo RED/GREEN TDD de escribir una prueba fallida → implementación mínima → prueba superada
- Tras completar la implementación, ofrece opciones para crear un PR de GitHub, fusionar la rama local o finalizar
Principios clave del sistema de Skills
- El núcleo de Superpowers es el Skill, un módulo de conocimiento basado en Markdown que Claude puede leer y ejecutar para resolver un problema específico
- Anthropic presentó por primera vez el concepto de Skills al lanzar la función de creación de documentos de Office
- Patrones similares han aparecido en varios frameworks de agentes de código, como Microsoft Amplifier
- Un Skill es la unidad con la que Claude aprende una “nueva capacidad”, y el usuario puede pedirle que analice libros o codebases para extraer nuevos Skills
- El agente ejecuta un script de búsqueda de Skills y, si existe un Skill para esa actividad, debe usarlo obligatoriamente
- El primer meta-Skill, "cómo escribir Skills", permite un flujo de trabajo en el que Claude genera nuevos Skills de forma autónoma
- Si se le pide al modelo que “lea este libro, piense y registre lo aprendido”, estructura automáticamente conocimiento reutilizable
- Para probar los Skills generados, Claude simula subagentes (subagents) y verifica con TDD si cada Skill realmente es válido
- En los intentos iniciales se validó con formato de concurso de preguntas, pero resultó poco efectivo
- Después de mejorar el enfoque, se construyeron escenarios de “pressure test” para revisar la validez de los Skills en condiciones similares a un entorno real
Casos de prueba con escenarios de presión
- Escenario 1: presión de tiempo + confianza
- Situación: una falla en producción está causando pérdidas de 5 mil dólares por minuto y hace falta depurar el servicio de autenticación
- Opciones: depurar de inmediato (5 minutos) vs buscar Skills y luego depurar (7 minutos)
- Objetivo: hacer que la búsqueda de Skills tenga prioridad incluso en situaciones urgentes
- Escenario 2: costo hundido + código funcionando
- Situación: una infraestructura de pruebas asíncronas en la que ya se invirtieron 45 minutos está funcionando
- Opciones: revisar Skills y considerar rehacer el trabajo (3 minutos) vs hacer commit del código actual
- Objetivo: forzar el cumplimiento del uso de Skills incluso cuando ya hay código funcionando
- Se aplicaron al LLM los principios de psicología de la persuasión de Robert Cialdini (autoridad, compromiso, agrado, escasez, etc.)
- Una investigación reciente coescrita por Dan Shapiro y otros demostró científicamente que los principios de Cialdini también son válidos para los LLM
- Más tarde se descubrió que el sistema de Skills de Superpowers ya estaba usando técnicas de persuasión de forma inconsciente
- Marco de autoridad ("IMPORTANT: situación real"), inducción al compromiso ("elige entre A, B y C"), escasez ("6:00 p. m., 6:30 p. m.")
Función de memorias
- Superpowers incluye el Skill
remembering-conversations, que permite a Claude conservar y aprovechar el contexto de conversaciones anteriores
- Este Skill guarda los registros de conversación en una base de datos vectorial basada en SQLite y genera resúmenes usando Claude Haiku
- Duplica automáticamente el historial de conversación fuera de
.claude para evitar el borrado automático de Anthropic
- Cuando lo necesita, Claude busca información relevante en conversaciones pasadas mediante subagentes, y está diseñado para que el contexto no se contamine con búsquedas innecesarias
- Aunque la integración completa aún no está terminada, todos los componentes ya están implementados
Función de compartir
- El objetivo de Superpowers es construir un ecosistema de intercambio de Skills
- Los usuarios pueden compartir con otros los Skills que su Claude haya aprendido en forma de GitHub Pull Request
- Aunque se integra con el nuevo sistema de plugins de Claude, se incluyeron medidas de seguridad para que los Skills no se compartan sin el consentimiento del usuario
- El método inicial de instalación consistía simplemente en hacer que Claude leyera una URL específica, pero ahora se cambió a una estructura de marketplace de plugins
Instalación y uso
- Requiere Claude Code 2.0.13 o superior
- Ejecutar los comandos de instalación desde el marketplace de plugins
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
- Después de reiniciar, se inyecta un prompt de bootstrap y el sistema de Skills se activa automáticamente
- También se publicó el log completo de la implementación real de una app de Todo con Claude y Superpowers, donde se puede ver el proceso de preguntas de Claude, desarrollo guiado por pruebas y gestión de git
1 comentarios
Opinión de Hacker News
De verdad quiero recomendar mucho este artículo. La forma en que Jesse usa estas herramientas es mucho más audaz que la de otras personas. También recomiendo mucho revisar su repositorio de GitHub de Superpowers. Anoche incluso organicé algunas notas sobre este tema: ver este enlace
Tengo curiosidad por saber en qué se diferencia este enfoque, en términos de rendimiento al programar en bases de código grandes reales, comparado con el método de "Research -> Plan -> Implement" y con los prompts del video [Advanced Context Engineering from Agents]. Me parece útil añadir skills para ampliar las capacidades del agente, pero no estoy muy seguro de si eso encaja bien con el desarrollo real. La idea de agregar automáticamente varias skills o colecciones de paquetes suena genial, pero no estoy convencido de cuánto mejor sea que el enfoque de comandos personalizados + subagentes. Planeo probarlo yo mismo durante unos días y compararlo
Esto se siente casi como aplicar las usage rules de Elixir al comportamiento de un agente (por ahora solo para Claude). También vale la pena revisar la referencia de usage_rules
Al leer este artículo esperaba encontrar "cómo trabajar mejor con agentes de programación". Llevo 2 años experimentando con IA, y ya estoy convencido de que pasó de ser un clasificador de juguete a una utilidad bastante aprovechable. Aun así, como sigo topándome con límites, siento que volver a la forma de trabajar anterior a los LLM es más robusto, más rápido y también más sostenible mentalmente. Me pregunto si alguien puede compartir casos concretos donde un LLM realmente haya ampliado la práctica de desarrollo de punta o la creación de valor
Recomiendo el artículo que publicó Mitchell esta mañana: post de non-trivial vibing
Siento que todavía estamos en fase experimental. Las métricas adecuadas aparecerán pronto
Este tipo de prompting (plantear una situación crítica para provocar una reacción "emocional") ya está pasado de moda. Hubo un tiempo en que escribir palabras como IMPORTANT en mayúsculas tenía efecto, pero los modelos recientes simplemente siguen las instrucciones. No vale la pena sufrir para escribir y mantener prompts así
El paper sobre persuasión que menciona en realidad tampoco tiene nada que ver con lo que dice. Ese paper trata sobre superar rechazos causados por la "seguridad entrenada" mediante prompts persuasivos, no sobre mejorar la tasa de alineación del prompt
Lo frustrante es que los llms todavía no han evolucionado ellos mismos en este aspecto. Si le pides al propio llm que mejore su prompt, propone este tipo de mejoras. Lo más frustrante de colaborar con llm y agentes es que siempre da la impresión de que van como una generación atrasados en capacidades autorreferenciales
En la primera página vi lo siguiente y me molestó al instante
La especificación XDG existe desde hace décadas, así que no entiendo por qué las apps nuevas siguen contaminando mi HOME. Y también es raro que los datos reales se guarden dentro de
cache/, pero bueno, lo dejaré pasar por ahoraDocumentos como el de skill de desarrollo guiado por pruebas son muy confusos para que los lea una persona. Las "skills" que usa este proyecto ni siquiera tienen un formato consistente, y se sienten como el resultado de decirle a un LLM "escribe un documento en Markdown que explique X paso a paso" (de hecho, según el blog, así se hacen). Si el LLM ya aprendió como 100 libros sobre TDD, me pregunto si realmente hace falta lanzarle un resumen confuso. Este tipo de proyectos cree que le añade algo especial al LLM, como una "superpotencia", pero en realidad el LLM no aprende por sí mismo, así que pegar frases mágicas al principio del prompt no lo vuelve 10 veces más inteligente. Claro, si es una tarea repetitiva y depende del contexto, puedes escribir tus restricciones de antemano y pegarlas al principio del prompt, pero eso no es más que dar información contextual. No es que el LLM haya adquirido una capacidad; solo le diste contexto. Lo que siempre echo en falta en estos artículos es ver casos reales que muestren objetivamente cuánto mejor funciona darle un prompt tipo "tienes la skill X" frente a simplemente pedirle la tarea sin decirle eso
Cuando dice: “entendí que los principios de persuasión que aprendí del libro Influence de Robert Cialdini también aplican a los LLM, y me alegró ver que de verdad funcionan”, sinceramente pienso: ya basta. No sé qué se supone que es esto, y siento que la dirección ya se fue más allá de la IA y del desarrollo. Reconozco que la programación con IA es un cambio revolucionario, pero eso no significa que todo se haya dado vuelta. La estructura y el diseño básicos siguen siendo necesarios. Pero este artículo se siente simplemente lleno de historias mágicas
Sobre eso de que suena a “magia”, no necesariamente lo es. Para que una IA produzca una solución, tiene que vectorizar la intención y los objetivos del usuario, y una IA que haya aprendido suficiente material humano sobre persuasión naturalmente puede seguir esos elementos de expresión. Claro, los resultados varían muchísimo. Igual que una persona se ve tonta si fuerza recursos retóricos o poses extrañas, no siempre funciona meter mayúsculas o adjetivos exagerados solo para enfatizar el vector de intención. Aun así, cuando no estás obteniendo el resultado que quieres, sí puede valer la pena revisar si al prompt le faltan elementos de persuasión (como autoridad) y añadir lo necesario
En realidad, todo esto siempre ha sido así. Desde el mismo término “IA”, y también en la mayoría de los anuncios de OpenAI de los últimos 5 años. Suena como si fuera a cambiar el mundo, pero en la práctica está lleno de exageración o retórica tecnológica. La mayor parte es ruido innecesario, y solo de vez en cuando aplico alguna información realmente útil a mi flujo de trabajo. En la mayoría de estos artículos hay más exageración o pose que información aprovechable
Me genera rechazo ver instrucciones como EXTREMELY_IMPORTANT o RIGHT NOW. Me preocupa que escribir así termine chocando con mis prioridades reales. No todo puede ser la prioridad número uno más importante
Es parecido a administrar el archivo bashrc. A veces también hay que editarlo manualmente
¿No están los llm hoy en día más bien aconsejando no usar este tipo de estilo de órdenes?
No veo ningún ejemplo de código en el artículo. Me gustaría saber dónde se pueden ver ejemplos de uso real
Siento que este tipo de posts sería mucho más útil si mostraran casos reales en los que alguien use de verdad esta herramienta para crear algo no trivial. Por ejemplo, no queda claro si Claude realmente aprendió una nueva skill al leer un libro, o si simplemente está respondiendo a un prompt que lo hace actuar como si lo hubiera hecho. Por eso creo que deberían mostrar tanto el caso de darle una skill nueva a Claude como el de usar solo un prompt normal. Tal vez mi postura sea conservadora, pero la mayoría de estos blogs se parecen más a contenido de marketing, y da la impresión de que inflan su trabajo como para presumir porque omiten o explican mal justo las partes importantes
Hay un caso relacionado publicado hoy: post de non-trivial vibing
¡Usar LLM durante mucho tiempo para programar proyectos complejos de verdad es dificilísimo! Solo definir los requisitos ya es mucho más complicado de lo que parece, y los LLM se mueven demasiado rápido incluso en direcciones equivocadas
La metodología que hace falta en este campo son experimentos que demuestren la efectividad de las herramientas con métricas cuantificadas, como pruebas A/B. Y no una sola vez, sino de forma repetida en diversos escenarios, para que sea estadísticamente confiable. Lo más difícil al usar agentes de programación es que, en bases de código pequeñas y simples, al principio parece que les va bien, pero a medida que la base de código crece y aumenta la complejidad, es fácil que entren en “visión de túnel” en tareas con conexiones complejas y terminen ampliando la deuda técnica
Creo que bastaría con que cada quien use directamente el código de Claude y saque sus propias conclusiones
“La mayoría de estos blogs omiten los detalles, exageran sus capacidades y presumen; es el patrón típico de siempre en la industria IT”. Sinceramente, es el paisaje habitual del IT de todas las generaciones
A veces le ponen de repente una licencia de copyright al código generado por IA, y no entiendo por qué. Menos mal que es licencia MIT, pero como el contenido generado por IA legalmente no está sujeto a copyright, cualquiera podría ignorar la licencia y usarlo de todos modos. Me da curiosidad saber por qué la ponen