16 de agosto de 2026 · Por YasKad
DietrichGebert/ponytail

Ponytail: hacer que el agente escriba menos, sin recortar lo importante

DietrichGebert/ponytail · 145.811★ · 7.814 forks

Todo lo que hay que saber sobre DietrichGebert/ponytail: un conjunto de reglas, habilidades y adaptadores para que los agentes de programación escojan la solución mínima que cumple el requisito.


Qué es Ponytail

Ponytail es un plugin y una colección de instrucciones para agentes de programación. Su imagen deliberadamente caricaturesca es la de un desarrollador sénior que sustituye cincuenta líneas por una; su objetivo técnico es que el agente deje de construir funciones, abstracciones o dependencias innecesarias.

No debe confundirse con un compresor de contexto ni con un modelo. Es una capa de comportamiento: se inyecta como reglas persistentes o como habilidad según el entorno. El sitio oficial lo resume como «el menor código que funciona»; el README concreta una escalera de decisión y límites de seguridad.

El origen: una regla sencilla convertida en distribución multiplataforma

GitHub registra la creación del repositorio el 12 de junio de 2026. La cuenta del autor identifica el paquete de npm como obra de Dietrich Gebert, aunque su perfil de GitHub no publica biografía ni empresa. Dos días después, el 14 de junio, el repositorio ya apareció en Hacker News.

La narrativa del proyecto parte de una tensión habitual en la programación asistida: un agente puede preferir una biblioteca, un componente y una capa de configuración cuando el navegador, la biblioteca estándar o el código existente ya resuelven el problema. El ejemplo del README contrasta un selector de fecha con el elemento nativo <input type="date">.

Comparación entre un selector de fecha sobredimensionado y un elemento HTML nativo minimalista, con un haz de energía que representa la simplificación del código.

El proyecto no convierte la reducción de líneas en una regla ciega. El README fue corregido después de que la incidencia #126 cuestionara una comparación temprana con una respuesta de modelo sin agente: la documentación actual presenta el resultado anterior como un máximo por tarea, no como media general. Es una señal útil de que sus cifras son mediciones del propio proyecto, no un estudio independiente.

Filosofía y principios

La escalera de Ponytail, documentada en AGENTS.md y el README, se recorre después de entender la tarea y el flujo afectado:

  1. ¿Hace falta construirlo? Si no, se descarta por YAGNI.
  2. ¿Ya existe en la base de código? Se reutiliza.
  3. ¿Lo ofrece la biblioteca estándar? Se usa.
  4. ¿Existe una función nativa de la plataforma? Se prefiere.
  5. ¿Ya hay una dependencia instalada que lo resuelva? Se aprovecha.
  6. ¿Cabe en una línea? Se deja en una línea.
  7. Solo entonces se escribe la implementación mínima necesaria.

Escalera de neón que desciende en la oscuridad, con cada peldaño representando una decisión de la filosofía de Ponytail, desde la arquitectura compleja hasta una sola línea de código mínima.

El límite es tan importante como la escalera. Las instrucciones excluyen de la simplificación la validación en fronteras de confianza, el manejo de errores que evita pérdida de datos, la seguridad, la accesibilidad y lo solicitado expresamente. Para lógica no trivial exige una comprobación ejecutable pequeña; una simplificación que acepte un límite conocido se puede anotar con ponytail: y una vía de mejora. Por tanto, «perezoso» significa reducir mantenimiento, no eliminar garantías.

Escudo de neón protegiendo un núcleo de bloques de datos delicados, mientras fragmentos de código minimalista fluyen a su alrededor sin comprometer la seguridad ni la validación.

Cómo funciona

El repositorio mantiene una fuente de reglas y adaptadores para distintos anfitriones. En anfitriones con plugins, los ganchos cargan el modo activo y pueden inyectar las instrucciones antes de cada turno; en adaptadores solo de instrucciones se copia el archivo de reglas adecuado. El README declara compatibilidad con veinte agentes y enumera, entre otros, Claude Code, Codex, Copilot CLI, OpenCode, Gemini CLI, Pi, Hermes Agent, Devin CLI, OpenClaw, Qoder y Swival.

Los modos disponibles son lite, full, ultra y off. El modo predeterminado es full. Además de la habilidad principal hay comandos para revisar una diferencia, auditar un repositorio, registrar deuda técnica aplazada, mostrar los resultados del banco de pruebas y pedir ayuda.

El repositorio incluye un banco de pruebas reproducible. Según su README, compara sesiones de Claude Code sobre full-stack-fastapi-template, con doce tareas de funcionalidades y cuatro repeticiones con Haiku 4.5. Declara una media de 54 % menos líneas, 22 % menos tokens, 20 % menos coste y 27 % menos tiempo, con todas las comprobaciones de seguridad de su conjunto. Son resultados publicados por Ponytail; no se recuperó una reproducción independiente en esta investigación. El propio README advierte que modelos muy concisos en razonamiento pueden invertir el ahorro.

Panel de benchmark en modo oscuro con gráficos de neón mostrando reducciones del 54 %, 22 %, 20 % y 27 % en líneas, tokens, coste y tiempo.

Estado oficial y semioficial

Ponytail ofrece instrucciones de instalación mediante los mecanismos de plugins de Claude Code, Codex, GitHub Copilot CLI, Gemini CLI, Devin CLI y Hermes Agent, además de distribución por npm para OpenCode y Pi. Que el paquete sea instalable por esos mecanismos significa compatibilidad técnica y distribución desde sus interfaces; no equivale, por sí solo, a una certificación de la metodología, a una recomendación editorial de Anthropic, OpenAI, GitHub, Google o Nous Research.

La integración con Hermes se añadió en la solicitud de cambios #78: registra pre_llm_call, habilidades con espacio de nombres ponytail: y comandos de barra. La versión v4.8.4 también declara soporte como plugin nativo para Hermes y Devin CLI. No se recuperó una designación de estándar oficial ni una página de mercado de proveedor que otorgue otra condición formal; en la práctica es un proyecto de facto muy distribuido dentro del patrón de «habilidad para agentes».

El ecosistema

Distribuciones y componentes del proyecto

  • @dietrichgebert/ponytail: paquete de npm para OpenCode y Pi. La versión publicada más reciente recuperada es 4.8.4; npm registró 9.488 descargas entre el 29 de julio y el 4 de agosto de 2026, y 36.886 entre el 6 de julio y el 4 de agosto. Son descargas de paquetes, no instalaciones únicas.
  • ponytail-mcp: servidor MCP incluido desde v4.8.0; sirve el conjunto de reglas a agentes compatibles con MCP.
  • benchmarks/: arnés y resultados del proyecto para medir líneas, tokens, coste, tiempo y comprobaciones de seguridad.
  • .openclaw/skills/: paquete generado desde skills/; el README indica regenerarlo con node scripts/build-openclaw-skills.js antes de publicar sus seis habilidades en ClawHub.

La consulta de repositorios públicos del autor devolvió tres repositorios: el principal, DietrichGebert/DietrichGebert y DietrichGebert/maxfelker.com. No se identificó un repositorio hermano público adicional destinado a Ponytail.

Derivados, bifurcaciones y puertos comunitarios

La API de bifurcaciones devolvió sobre todo copias sin cambios en la descripción. Entre los derivados que sí se presentan como adaptación o extensión están:

  • warp-svg/ponytail-gilfoyle: reinterpretación con voz de Gilfoyle que declara conservar la escalera YAGNI y los límites de seguridad; 7 estrellas.
  • pavnxet/Mimocode-ponytail: derivado que se describe como modo de desarrollador sénior para agentes; 3 estrellas.
  • robertbarclayy/NWBZPWNR: bifurcación que dice llevar Ponytail al extremo; 3 estrellas.
  • wilfgrainger/cave-pony: combinación declarada de Ponytail y JuliusBrussee/caveman; el resultado de búsqueda recuperado confirma la relación, pero no se recuperó una cifra de estrellas completa para citarla.

El repositorio principal incluye traducciones mantenidas de su README al español (README.es.md) y al coreano (README.ko.md). No se recuperó una traducción comunitaria no inglesa independiente que pueda afirmarse como un puerto separado.

Números del repo

Medición: 6 de agosto de 2026, API de GitHub y npm.

MétricaValor
Estrellas97.059
Bifurcaciones5.332
Suscriptores reales235
Commits206
Incidencias abiertas indicadas por la API157
Lenguaje principalJavaScript
LicenciaMIT
Creación12 de junio de 2026
Último envío a main recuperado15 de julio de 2026
Última publicaciónv4.8.4, 29 de junio de 2026

Panel de GitHub futurista mostrando el repositorio de Ponytail con 97.059 estrellas y 5.332 bifurcaciones, rodeado de nodos de commits y gráficos de contribución.

El conteo de 206 commits procede de la última página indicada por la cabecera de paginación de la API. Los contribuidores principales recuperados por número de contribuciones fueron DietrichGebert (107), Lakshya77089 (10), ousamabenyounes (8), seguidos por dhedhialy, hamza-ali-shahjahan y salaamdev (4 cada uno).

La API devuelve watchers_count como duplicado de estrellas; por ello se informa subscribers_count como suscriptores reales. open_issues_count puede mezclar incidencias y solicitudes de cambios abiertas, por lo que no equivale necesariamente a incidencias exclusivamente. La respuesta de la API muestra updated_at el 6 de agosto de 2026; se transcribe como metadato de la API, sin inferir actividad posterior al último envío recuperado.

Cómo contribuir

No se recuperó un CONTRIBUTING.md ni una guía formal de bifurcación y solicitud de cambios. Sí hay instrucciones de desarrollo en el README: después de modificar reglas compactas se ejecutan node scripts/check-rule-copies.js y npm test; al cambiar una habilidad de OpenClaw se vuelve a generar con node scripts/build-openclaw-skills.js.

La solicitud de cambios #491 ilustra las verificaciones usadas en una contribución: comprobación de copias de reglas, comprobación de versiones, pruebas de Node, npm test y git diff --check. Es evidencia de prácticas de desarrollo, no una plantilla de contribución publicada.

Guía rápida de uso

Instalación y primer arranque

  • Claude Code: envíe por separado /plugin marketplace add DietrichGebert/ponytail y /plugin install ponytail@ponytail. El README recalca que deben ser dos mensajes distintos. Requiere node en el PATH; sin él, las habilidades siguen disponibles pero la activación persistente queda deshabilitada silenciosamente.
  • Codex: ejecute codex plugin marketplace add DietrichGebert/ponytail y codex plugin add ponytail@ponytail; después abra codex, revise y autorice los dos ganchos en /hooks, y comience un hilo nuevo. La instalación también cubre la aplicación de escritorio tras reiniciarla.
  • OpenCode: añada { "plugin": ["@dietrichgebert/ponytail"] } a opencode.json. Como alternativa desde una copia local, use { "plugin": ["./.opencode/plugins/ponytail.mjs"] }.
  • Hermes Agent: ejecute hermes plugins install DietrichGebert/ponytail --enable y reinicie Hermes.

Interfaz de terminal futurista mostrando la instalación de un plugin en múltiples entornos de agentes de IA, rodeada de logotipos holográficos flotantes.

Flujos de trabajo habituales

  1. Para fijar la intensidad, use /ponytail full, /ponytail lite, /ponytail ultra o /ponytail off; sin argumento informa el nivel actual.
  2. Para revisar la diferencia de trabajo actual en busca de sobrediseño, invoque /ponytail-review; el resultado es una lista de eliminaciones o simplificaciones propuestas.
  3. Para inspeccionar todo un repositorio en lugar de una sola diferencia, invoque /ponytail-audit.
  4. Para no olvidar atajos deliberados, use /ponytail-debt: recoge las anotaciones ponytail: en un registro. /ponytail-gain muestra el marcador de impacto de los benchmarks del propio proyecto.

Registro digital de deuda técnica con fichas luminosas que representan mejoras aplazadas, organizadas en un archivo futurista.

En Codex, el README indica que las habilidades se invocan con @, por ejemplo @ponytail-review. En Copilot CLI el espacio de nombres del plugin cambia los ejemplos a /ponytail:ponytail ultra y /ponytail:ponytail-review.

Configuración esencial

  • PONYTAIL_DEFAULT_MODE: variable de entorno que fija lite, full, ultra u off para sesiones nuevas.
  • ~/.config/ponytail/config.json: alternativa persistente con el campo defaultMode; en Windows se usa %APPDATA%\ponytail\config.json.
  • PONYTAIL_SUBAGENT_MATCHER: expresión regular, sin anclaje y sin distinguir mayúsculas, para limitar la inyección en subagentes por agent_type.
  • opencode.json: punto de entrada del paquete o del adaptador local en OpenCode.
  • AGENTS.md o el archivo de reglas del adaptador: ruta de migración para Cursor, Windsurf, Cline, Kiro, Copilot Chat, Aider, Zed y otros anfitriones sin plugin completo.

Trampas frecuentes y soluciones

  • Los ganchos no se activan en Claude Code o Codex: compruebe que node esté disponible en el PATH de la shell no interactiva; el README cita explícitamente entornos Nix y nvm. Las habilidades no dependen de que el gancho funcione.
  • OpenCode solo reconoce Ponytail dentro de la copia clonada: la incidencia #97 documenta este caso. El README actual recomienda el paquete @dietrichgebert/ponytail o una ruta absoluta al archivo .mjs si se comparte una copia entre proyectos; una ruta con ./ se resuelve respecto a opencode.json del proyecto.
  • El modo no persiste o se reescribe la configuración: hay una solicitud de cambios abierta, #696, para evitar que la escritura de modo sobrescriba otros datos. Conviene conservar una copia del archivo de configuración si se combinan varias herramientas.
  • Demasiado contexto en subagentes: la incidencia #597 calcula aproximadamente 1.300 tokens por inyección de modo full; limite los tipos con PONYTAIL_SUBAGENT_MATCHER o desactive el modo cuando los subagentes sean solo de búsqueda.
  • Desinstalación incompleta: ejecute node scripts/uninstall.js antes de quitar el plugin. El README explica que borra el estado externo y una entrada de línea de estado propia, pero no debe ejecutarse después de borrar los archivos del plugin.

Integraciones y migración

ponytail-mcp permite ofrecer las reglas a agentes con MCP. Para OpenClaw, clawhub install ponytail instala la habilidad; sin ClawHub, el README indica copiar .openclaw/skills/ponytail a ~/.openclaw/skills/. En adaptadores de instrucciones se migra copiando el archivo correspondiente, por ejemplo .cursor/rules/, .windsurf/rules/, .clinerules/, .github/copilot-instructions.md o AGENTS.md.

La convivencia documentada con JuliusBrussee/caveman es complementaria según el README: Caveman reduce la prosa del agente y Ponytail busca reducir el código. Esa es una afirmación del proyecto, no una prueba de interoperabilidad universal.

Cómo lo recibió la comunidad

La recepción recuperable es mixta y concreta:

  • El hilo de Hacker News 48527946, enviado por mellosouls el 14 de junio, obtuvo 98 puntos y 17 comentarios. Neywiny dijo que quería probarlo porque sus modelos locales tendían a añadir exactamente el tipo de código que la habilidad intenta evitar. kamphey consideró útiles las heurísticas básicas para hacer más rápidas las ediciones y eliminaciones simples. Son experiencias y expectativas individuales, no mediciones de rendimiento.
  • En el mismo hilo, wiradikusuma objetó que un desarrollador sénior contextualiza: un selector nativo puede servir en un caso, pero otro puede necesitar más. donatj criticó que el repositorio podría reducirse a una regla breve y mucho menos código de integración. Estas objeciones encajan con el principal riesgo práctico: confundir minimalismo con falta de comprensión del producto.
  • En el hilo 48588755, una conversación sobre escepticismo ante herramientas de reducción de tokens, Zababa señaló que Ponytail y proyectos próximos no usaban bancos de pruebas generalizados como SWE-Bench Pro y temía una degradación silenciosa del modelo. Es una crítica atribuida a ese usuario; no se recuperó una evaluación externa que la confirme. El README sí responde parcialmente con su benchmark agentivo y reconoce el sesgo de la comparación anterior.
  • La incidencia #65, con 16 comentarios, pide comparar con SWE-Bench Pro y Terminal Bench 2.1. La propuesta abierta #432, con 9 comentarios, elogia la heurística pero advierte que un agente puede inventar funciones o variables para escribir menos; la advertencia es del autor de esa propuesta, no una prueba de que Ponytail lo haga.

Se intentaron búsquedas de Reddit, X, Product Hunt, vídeos de YouTube y buscadores de artículos. En esta ejecución Reddit devolvió resultados HTML sin hilos identificables, X requirió una sesión para recuperar contenido útil, Product Hunt no ofreció una ficha verificable, y las respuestas de YouTube no permitieron validar de forma individual título, canal y visualizaciones. Por tanto, no se atribuyen reseñas, lanzamientos ni cifras a esas plataformas. Tampoco se recuperaron menciones verificables en Dev.to, Hashnode, podcasts, boletines o listas awesome-*.

Ponytail frente a otras propuestas

PropuestaCoincidencia verificableDiferencia verificable
JuliusBrussee/cavemanEl README de Ponytail lo cita como control de prosa y documenta uso conjunto.Ponytail pretende afectar qué código se construye; el README afirma que Caveman conserva el código sin cambios.
anshaneja5/scalpelSu descripción recuperada se presenta como habilidad para agentes y se compara explícitamente con el benchmark de Ponytail.Declara superar el benchmark de Ponytail; no se recuperó su metodología, por lo que esa afirmación no es un resultado independiente.
rtk-ai/rtkUna discusión de Hacker News los agrupa como herramientas que alteran el comportamiento o el uso de tokens de agentes.La fuente recuperada no basta para asegurar equivalencia funcional; la comparación es de una crítica de usuario, no de arquitectura.

Casos de uso y a quién puede ayudar este repositorio

  • Personas que revisan cambios de agentes en bases de código existentes pueden usar la escalera para comprobar primero reutilización, biblioteca estándar y capacidades nativas antes de abrir una nueva abstracción o añadir una dependencia.
  • Equipos con Claude Code, Codex, Copilot CLI, OpenCode o Hermes pueden activar el modo persistente y usar /ponytail-review como una revisión específica de sobrediseño antes de fusionar una diferencia.
  • Mantenedores con tareas pequeñas y repetitivas pueden emplear /ponytail-audit para encontrar complejidad accidental y /ponytail-debt para registrar atajos aceptados sin fingir que son soluciones definitivas.
  • Quienes trabajan con subagentes pueden combinar el patrón con PONYTAIL_SUBAGENT_MATCHER para decidir qué trabajadores reciben la regla. Es especialmente relevante si el coste de repetir las instrucciones es visible en sesiones con muchos subagentes.
  • Proyectos con requisitos de seguridad, accesibilidad, validación o hardware deben tratar Ponytail como una ayuda de revisión, no como autorización para recortar controles: esos ámbitos están explícitamente fuera de su política de simplificación.

Recursos


Nota: este artículo combina el README, AGENTS.md, los archivos de documentación y versiones de Ponytail, su sitio oficial, la API de GitHub, la API de npm y Hacker News, consultados el 6 de agosto de 2026. Las métricas y las interfaces de los proveedores cambian con el tiempo.

Comentarios