Remote control funciona, ahora solo falta encontrar una terracita al sol
La idea nace en una conversación
Hubo una conversación con un compañero del trabajo que no parecía importante en el momento. Estábamos hablando de TLOTP, de sus épicas, de cómo Palantír gestiona configuraciones y Celebrimbor forja skills. Y en un momento de la conversación surgió: "los Ents deberían ser los protectores de ramas, los guardianes del CI/CD".
El lore encajaba perfectamente. En El Señor de los Anillos, los Ents son los pastores de los árboles, seres antiguos que guardan los bosques con paciencia y determinación. Aplicado a TLOTP: los guardianes de las ramas del repositorio, los que analizan el pipeline, detectan debilidades y proponen mejoras consultando documentación oficial en tiempo real.
La idea empezó a fraguarse en mi cabeza. Los Ents como épica #3 de TLOTP: tres modos de operación — Analizar el CI/CD actual, Modificar el existente, Crear desde cero. Un motor de mejoras que consulta GitHub Actions docs en tiempo real via WebSearch. Arquitectura modular con 7 secciones: metadata, menú interactivo, analyzer, diagram-renderer, improvement-engine, modifier, creator.
Tenía el diseño claro. Solo faltaba implementarlo.
El problema de siempre: la logística
Llegó el fin de semana.
Esto le pasa a cualquiera que tenga proyectos propios fuera del trabajo: la cabeza está caliente, la idea fresca, y la logística no acompaña. No era momento de sacar el portátil y ponerme a maquinar como un loco. Era fin de semana.
Y aquí está el matiz importante: no hablo de empezar un proyecto de software desde cero. Eso requiere setup, arquitectura, decisiones fundacionales. Hablo de añadir un evolutivo a un proyecto ya maduro. TLOTP v3.4.0 tenía infraestructura, convenciones, estructura modular de prompts. Los Ents seguían el mismo patrón que Palantír y Celebrimbor. Era trabajo de ejecución, no de diseño.
Ese tipo de trabajo, ¿realmente necesita un portátil?
La terracita al sol
Hay algo que funciona mejor en una terraza al sol que en casa o en la oficina. No es el hardware. No es la conexión. Es algo más difuso: la perspectiva.
En casa, el portátil sobre la mesa del trabajo arrastra el peso de todas las tareas pendientes. En la oficina, el contexto laboral condiciona el pensamiento. En una terraza, con el teléfono, una cerveza fría y el sol de marzo, la cabeza funciona diferente. Más ligera. Más creativa.
Si el móvil pudiera ser suficiente para trabajar en un evolutivo de un proyecto maduro, el concepto de "cuándo puedo trabajar en esto" cambiaría completamente.
Era el momento de probar /remote-control.
Remote control: la sesión en el navegador del móvil
/remote-control es una feature de Claude Code que expone la sesión activa en una URL pública: claude.ai/code/session_xxx. Cualquier navegador puede acceder a ella. Incluyendo el del móvil.
El flujo es simple: Claude Code corre en el servidor (en mi caso, el VPS), con acceso completo al filesystem, a git, a todas las herramientas. El móvil solo es la interfaz. La computación ocurre donde siempre.
Empecé la sesión explicando qué eran los Ents, qué quería conseguir y cómo lo quería. Seleccioné el repositorio público de TLOTP en GitHub como objetivo. Claude diseñó un plan: arquitectura modular, los 7 ficheros de sección, el flujo de los tres modos. Ajustamos un par de cosas — el comportamiento del improvement-engine, cómo debía consultar documentación oficial — y cuando el plan estuvo claro, dejé a Claude obrar la magia.
Los ficheros fueron tomando forma: ents-main.md, 01-metadata.md, 02-menu-principal.md, 03-analyzer.md, 04-diagram-renderer.md, 05-improvement-engine.md, 06-modifier.md, 07-creator.md. La épica existía.
Entonces pensé: ¿cómo lo pruebo? Y aquí está lo bueno de TLOTP y de cómo funciona: podía probarlo en esa misma sesión. El agente ya tenía el repo, las herramientas, el contexto. Solo tenía que pedirle que ejecutara el prompt que acababa de construir. Así que activé /remote-control, abrí la URL en el teléfono, y di la instrucción:
"Sé mi TLOTP, lee el main"
El agente cargó prompts/tlotp-main.md, mostró el banner ASCII del Anillo Único, y presentó el menú de épicas. Elegí Ents. Apareció el banner temático de los Ents. Menú de modos. Elegí Analizar CI/CD actual.
Todo esto con AskUserQuestion, menús interactivos, opciones seleccionables. Funcionando desde el móvil sin ningún problema.
Los Ents en acción: analizando el propio TLOTP
El módulo 03-analyzer escaneó exhaustivamente el repositorio siguiendo ~20 patrones de glob:
.github/workflows/*.yml / .yaml
.github/dependabot.yml, CODEOWNERS, templates
.releaserc, release.config.*, .changeset/
Makefile, Dockerfile, docker-compose.yml
.husky/, commitlint.config.*, .eslintrc*
jest.config.*, vitest.config.*, playwright.config.*
package.json, composer.json
.gitlab-ci.yml, .circleci/, Jenkinsfile
...
Resultado: cero infraestructura CI/CD. TLOTP es un proyecto puro de Markdown y prompts. No hay workflows, no hay checks automáticos, los merges van directos sin validación.
El módulo 04-diagram-renderer generó el diagrama ASCII mostrando exactamente eso:
[Desarrollador]
|
| push directo
v
[master]
|
| sin validación
v
[Sin CI/CD]
El módulo 05-improvement-engine consultó documentación oficial de GitHub Actions via WebSearch — security hardening, branch protection rules, best practices — y evaluó el proyecto contra un checklist completo. Seguridad: todo en rojo. Calidad: sin linting ni tests automatizados. Protección de ramas: posible via GitHub UI pero sin checks.
8 mejoras priorizadas:
| Prioridad | Mejora |
|---|---|
| 🔴 Alta | Workflow básico de CI |
| 🔴 Alta | Branch protection con required status checks |
| 🔴 Alta | CODEOWNERS |
| 🟡 Media | Linting de Markdown (markdownlint en CI) |
| 🟡 Media | Versionado automático con conventional commits |
| 🟡 Media | PR template |
| 🟢 Baja | Dependabot para GitHub Actions |
| 🟢 Baja | Issue templates |
Lo que funcionó y lo que no
Funcionó:
AskUserQuestioncon menús interactivos completamente operativo desde el móvil- Escaneo real del filesystem (Glob, Read, Bash) contra el repositorio
- WebSearch consultando documentación oficial de GitHub Actions en tiempo real
- Flujo modular completo: cada sección de los Ents se ejecutó en secuencia con el contexto mantenido entre módulos
No funcionó:
- WebFetch devolvió 403 al intentar acceder directamente a
docs.github.com. Fallback a WebSearch, que resolvió el problema sin impacto en el resultado final.
¿Acabarán los móviles con los portátiles?
Probablemente no. Para empezar un proyecto desde cero, para debugging complejo, para sesiones largas con múltiples terminales abiertos: el portátil sigue siendo insustituible.
Pero para evolutivos en proyectos maduros, para validar una idea que lleva días rondando la cabeza, para ese momento en que la logística no acompaña pero la inspiración sí... la pregunta ya no es tan descabellada.
Lo que necesitas no es el hardware. Es acceso al contexto del proyecto, a las herramientas, al agente que conoce las convenciones. Con /remote-control, ese acceso existe desde cualquier navegador.
La terracita al sol ya tiene todo lo necesario. Solo hay que encontrarla.