Cómo una persona mantiene 40 repositorios en marcha
Cada mañana abro un agente por proyecto en tmux, le doy una sola línea y reviso lo que vuelve. El trabajo pesado está en las skills: prompts en texto plano que sigo puliendo.
Una línea para empezar el día
Cada ventana de tmux es un proyecto. Lanzo el agente a través de ai-memory, así llega con la memoria de ese proyecto y sus hooks ya conectados.
cd ~/Projects/ai-usagebarai-memory run claude# quota gone? same workstream, another agentai-memory run codex --yoloDespués escribo una de tres líneas, según cómo esté la cola:
run pr-audit and iss-audit, then run github-resolutionEl día normal: auditar todo lo abierto y después arreglar lo que las auditorías aprobaron.
... then run the release skillLa agrego cuando entró suficiente para una versión.
run pr-bump and releaseLos días en que la única cola es Dependabot.
El pipeline
Nada de lo que escribe un colaborador se da por cierto. Cada afirmación se verifica, cada arreglo aprobado tiene primero un test, y nada recibe un tag sin CI en verde en ese commit exacto.

Las skills que hacen el trabajo
Cada una es un archivo SKILL.md: un nombre, una descripción y un prompt largo y específico. El agente carga el cuerpo solo cuando decide usar la skill.
pr-audit
Evidencia antes que relato. Verifica cada afirmación de un pull request, busca bits de ejecución escondidos, homoglifos, actions sin versión fija, dependencias con typosquatting y prompt injection, y controla el semver.
iss-audit
La misma desconfianza para los issues. Nunca corre un comando copiado de un issue, separa lo observado del diagnóstico de quien lo reporta y reproduce con datos sintéticos en un sandbox.
github-resolution
Convierte los tickets aprobados en código mergeado, uno por vez, cada uno con un test de regresión escrito antes del arreglo, sin abstracciones especulativas ni refactors de paso.
security-audit
Un modelo de amenazas y una auditoría para un código base, un rango de commits o un pull request: inyección, bypass de autenticación, secretos, cadena de suministro, CI comprometido, denegación de servicio.
pr-bump
El camino rápido para Dependabot. Agrupa cada bump en una sola pasada de verificación, con un piso de cadena de suministro que manda cualquier cosa rara a una auditoría completa.
release
La versión sale del changelog: los arreglos son un patch, las novedades un minor, los cambios incompatibles un major. Solo crea tags con CI en verde y nunca reescribe un tag publicado.
Kaizen cierra el ciclo
Después de cada ronda miro lo que salió mal o tardó demasiado y arreglo el proceso, junto con el código. Lo llamo kaizen, la palabra japonesa para mejora continua, y es el paso que hace que la próxima ronda sea mejor que esta.
Skills
Una regla se agrega el día en que aparece un error. El historial de my-skills está lleno de ellas: agrupar los bumps de Dependabot en una sola pasada, dejar los pull requests rechazados en un estado limpio.
Instrucciones del harness
El AGENTS.md de cada proyecto junta los comandos, las invariantes y las trampas a medida que las encuentro, para que el próximo agente no tenga que redescubrirlas.
Herramientas
ai-usagebar, ghpending y tclock existen porque algo de mi rutina era lento o invisible. Siguen cambiando por la misma razón.
Setup
El escritorio, la terminal y el contenedor de juegos son código, así que una mejora es un commit que puedo revisar, conservar o revertir.
Cada línea de estas skills es una cicatriz.
En qué se traduce todo eso
Todo lo de abajo pasó en 2026, entre las herramientas de este sitio, mis proyectos personales Frank, la newsletter, el benchmark y el blog. Contado el 23 de septiembre de 2026. Casi todo pasó por agentes y estas skills, conmigo leyendo los informes y tomando las decisiones.
- 30
- proyectos con commits
- 6330
- commits
- 783
- pull requests mergeados
- 486
- issues cerrados
- 1,08 M
- líneas de código agregadas
- 121
- posts publicados en el blog
Las líneas de código son líneas agregadas a archivos de código. Los lockfiles, datos, fuentes, traducciones y archivos vendorizados o generados no cuentan, y tampoco la salida de los modelos del benchmark ni el contenido generado de la newsletter. FrankGeary y tclock son forks, así que solo cuentan mis propios cambios. Los pull requests e issues vienen de GitHub; frank_bazaar no tiene remoto en GitHub y akitando-news es privado.
Proyecto por proyecto
| Proyecto | Commits | PRs mergeados | Issues cerrados | Líneas de código agregadas |
|---|---|---|---|---|
| ai-memory | 1468 | 500 | 283 | 328.177 |
| akitaonrails.github.io | 637 | 9 | 5 | 121 posts |
| akitando-news (privado) | 577 | 1 | 0 | 80.602 |
| ai-usagebar | 553 | 146 | 42 | 132.932 |
| distrobox-gaming | 497 | 2 | 0 | 47.622 |
| FrankMD | 361 | 42 | 45 | 81.237 |
| llm-coding-benchmark | 359 | 5 | 7 | 17.636 |
| ai-jail | 353 | 44 | 83 | 41.666 |
| FrankYomik | 248 | 0 | 0 | 53.833 |
| frank_go | 220 | 3 | 1 | 16.725 |
| frank_investigator | 189 | 1 | 2 | 45.365 |
| FrankClaw | 189 | 3 | 2 | 69.114 |
| FrankSherlock | 121 | 2 | 8 | 48.930 |
| frank_karaoke | 102 | 4 | 0 | 10.465 |
| frank_fbi | 79 | 1 | 3 | 25.498 |
| FrankMega | 62 | 2 | 0 | 10.965 |
| clock-tui | 54 | 10 | 0 | 7276 |
| frank_type | 49 | 3 | 2 | 9815 |
| ghpending | 40 | 3 | 2 | 6081 |
| frank_geary | 34 | 1 | 0 | 1157 |
| tropicalruby-2026 | 30 | 0 | 0 | 2201 |
| ai-memory-web | 22 | 1 | 0 | 9775 |
| frank_scanlation | 21 | 0 | 0 | 8904 |
| omarchy-games-menu | 17 | 0 | 0 | 6951 |
| aitrepreneur-docker | 13 | 0 | 0 | 781 |
| google-calendar-tui | 12 | 0 | 1 | 3956 |
| ai-jail-web | 10 | 0 | 0 | 2887 |
| frank_lyrics | 9 | 0 | 0 | 2346 |
| ai-toolkit-web | 3 | 0 | 0 | 2778 |
| frank_bazaar | 1 | · | · | 1769 |
La IA es un espejo. Si eres bueno, te hace diez veces más rápido. Si eres malo, también te hace diez veces más rápido, para producir basura.
Una carpeta, todos los agentes
Las skills viven en un solo repositorio. La carpeta de skills de cada agente tiene enlaces simbólicos hacia él, así que un cambio llega a Claude Code, Codex, OpenCode y Kimi a la vez.

mkdir ~/Projects/my-skills/<name> # add a SKILL.mdfor h in ~/.claude/skills ~/.agents/skills ~/.codex/skills; do ln -s ~/Projects/my-skills/<name> "$h/<name>"doneDónde vive el resto del conocimiento
Las skills cubren procedimientos que se repiten igual. Todo lo demás vive en texto plano que los agentes pueden leer.
Una memoria por proyecto
ai-memory guarda las decisiones, trampas y traspasos de cada proyecto. Una sesión nueva, en cualquier agente, empieza desde ahí.
AGENTS.md en todas partes
Cada repositorio tiene sus propias instrucciones: los comandos, las invariantes, los errores que no hay que repetir.
Apunta a un ejemplo vivo
"Haz un workflow de AUR como el de ai-memory" funciona mejor que una skill sobre empaquetado para AUR, porque el ejemplo siempre está al día.
Anota lo que no se volvió código
La investigación, las alternativas descartadas, el motivo detrás de una decisión. Cada hora de investigación de un agente se vuelve un documento que puedo reutilizar.
Todo lo que hay aquí es código abierto
Las herramientas, las skills y el benchmark son repositorios públicos. Haz un fork y arma la versión que encaje con tu forma de trabajar.