un chico de 20 años con 45 apps y una que genera $30k al mes. un estudiante universitario que factura seis cifras en 70 días. tu feed está lleno de estas historias — el mío también.
esto es lo que ninguno de esos posts te entrega: el sistema aburrido que lleva una app de "idea" a "viva en la App Store", una y otra vez, sin que tengas que supervisar cada paso.
Construí ese sistema este año. Agentes de IA lo ejecutan — Claude Code y Codex, turnándose. 10 apps de iOS y una docena de herramientas open source pasaron por él: envíos, rechazos, reenvíos, despliegues a producción, campañas de anuncios, y los funerales de las que no merecían vivir.
Hoy se vuelve open source. Gratis, MIT, sin curso, sin newsletter, sin "DM me para la salsa":
→ github.com/davidmosiah/agents-that-ship
el código nunca fue la parte difícil
La IA ya escribe el código. Esa parte está resuelta. Lo que todavía mata apps en 2026:
- empezar cinco cosas y no terminar ninguna
- un agente reintentando la misma solución muerta doce veces a las 2am
- "¡listo!" en una UI que nadie abrió nunca en modo oscuro en un iPad
- una semana de trabajo sentada sin subir en un portátil
- "¡enviado!" cuando la verdad es "sentado en una rama local"
- el cron job de un proyecto muerto todavía publicando (y gastando) durante días después del funeral
- nada de eso es un problema de código. Es un problema de operación. Y ningún archivo CLAUDE.md o AGENTS.md que haya visto lo cubre — todos describen el código base y se detienen justo donde comienza el trabajo que genera dinero.
- así que escribí la otra mitad.
- audité 7,500 de mis propios prompts para construir esto
- en algún momento revisé todos los prompts que alguna vez le había enviado a mis dos agentes. Unos 7,500. Descubrimiento brutal: la mayoría me reenseñaban las mismas cinco lecciones. Sube tu trabajo. Deja de reintentar esa corrección. No me des cinco opciones. Revisa el iPad. ¿Realmente lo ejecutaste?
- así que convertí cada corrección repetida en una regla escrita. Después de eso, mi prompt más común pasó a ser "sí, por favor."
- ese es todo el truco. Los agentes no necesitan más autonomía. Necesitan decisiones tomadas de antemano tan bien que tu trabajo se reduzca a decir que sí.
- los 9 playbooks
- cada uno está escrito PARA el agente — en segunda persona, con compuertas que no puede sortear hablando:
- 01 kickoff → lee el estado, propone UNA cosa. Sin menús.
- 02 spec → fases con compuertas ejecutables. "Pulido" no es una compuerta.
- 03 build → diff mínimo, ejecútalo de verdad, haz push antes de celebrar.
- 04 unstick → dos correcciones fallidas = deja de editar, cambia de estrategia.
- 05 polish → recorre cada pantalla. Claro+oscuro, teléfono+tableta, cada idioma. Capturas de pantalla o no pasó.
- 06 fresh eyes → un modelo diferente vuelve a derivar cada afirmación desde el repositorio. La autorevisión es corregir tu propia coartada.
- 07 ship → committed ≠ pushed ≠ submitted ≠ approved ≠ live. Nombra el estado real.
- 08 metrics → cada número con su delta, cada experimento nace con una fecha de muerte.
- 09 sunset → entierra los proyectos muertos adecuadamente: barre TODOS los schedulers, mata el gasto, escribe el veredicto.
- las reglas que imprimen tiempo
- dos strikes. Fallar dos veces igual significa que el modelo del agente sobre el problema es incorrecto. Deja de editar. Reproduce desde cero, escribe hipótesis que realmente sean diferentes, instrumenta, luego corrige. Renombrar una variable y reintentar es strike dos, no idea dos. Esta única regla ahorra más tokens que cualquier truco de prompt que conozca.
- el autor no es el validador. Antes de "listo" en algo arriesgado, un segundo agente — modelo diferente, contexto limpio — vuelve a derivar las afirmaciones desde el repositorio real. Dos modelos diferentes revisándose mutuamente atrapa lo que la autorevisión estructuralmente no puede.
- el trabajo no subido no existe. "¿Hiciste push?" solía ser mi pregunta más repetida. Ahora commit+push cierra cada bloque, sin preguntar. Una frase eliminó toda una categoría de ansiedad.
- entierra bien. Una vez maté un proyecto y su fantasma siguió publicando un resumen diario durante dos días más — un temporizador olvidado sobrevivió al funeral. El playbook de sunset barre cada scheduler en cada máquina, con salida como prueba.
- dos agentes, una máquina
- el multiplicador: mis agentes se turnan. Quien tenga cuota implementa; el otro valida. Los traspasos son specs con compuertas, no vibraciones. Y un script de bloqueo de ~150 líneas evita que alguna vez choquen en el mismo repositorio — código de salida 3 significa "el otro agente está aquí, elige otro front."
- ejecutar dos modelos diferentes como un pipeline es la actualización de calidad más barata en IA hoy en día. El repositorio tiene el contrato completo.
- por qué es gratis
- porque es markdown. Nueve archivos. Sin SDK, sin framework, nada que se pudra cuando salga el próximo modelo. Funciona como skills de Claude Code, secciones de AGENTS.md o reglas de Cursor — adaptadores incluidos.
- y una regla más ahí dentro, la que defendería sobre todas las demás: NADA se hace público en tu nombre sin un "sí" fresco. Sin repos, sin posts, sin paquetes. El entusiasmo de un agente nunca debería poder gastar tu reputación.
- (este artículo fue redactado por un agente. Un humano lo aprobó. Eso es el sistema funcionando.)
- róbalo:
- → github.com/davidmosiah/agents-that-ship
- hazle fork, destrípalo, no estés de acuerdo con la mitad. La única regla que mantendría a cualquier costo: el contrato existe POR ESCRITO. Cada regla que solo vive en tu cabeza es una que tu agente volverá a romper mañana.





