MÉTODO GNB · CASO REAL
Cómo un dashboard vibe-coded se vuelve un app interno real — sin adivinar.
Lo que cambió todo para mí fue no construir el app primero. Opero GNB Labs como un dashboard ligero conducido desde Claude Code, aprendo lo que de verdad necesita, y dejo que esa fase produzca los runbooks, prompts y skills. Solo entonces gradúa a app formal. Abajo está el workflow de contenido de la casa, end-to-end.
Fase 1 · Discovery
Dashboard conducido desde Claude Code
Lo que se captura
Prompts · Runbooks · Skills
Fase 2 · Handoff
App formal
Las cuatro piezas de abajo — ① el kanban, ② el prompt, ③ el runbook, ④ el skill — son todas del mismo workflow de contenido. Datos de muestra; nada en vivo.
El kanban
Un board, no un app.
Esto es todo el “app” durante discovery: una sola página con seis estados que renderiza desde una colección de Mongo. Cada pieza de contenido se mueve de izquierda a derecha por los estados, y cada transición tiene un gate que yo firmo antes de avanzar. Sin servicios extra, sin auth nueva, sin hosting aparte — puedo cambiarlo en minutos mientras todavía estoy entendiendo cómo corre la operación.
Por qué los founders LATAM no necesitan más herramientas
Checklist: cuándo formalizar un workflow
Construyendo en Voz Alta — edición sobre el método
5 posts atomizados del último brief
Edición #14 — programada mar 09:00
Mi empresa todavía es legión romana
El punto no son los visuales — es que el board obliga a la operación a revelar sus etapas reales y dónde caen las decisiones humanas. Eso se convierte en §3 y §4 abajo.
El prompt
Cómo arranca una pieza.
Una pieza nueva empieza con un prompt de sesión — describo la chamba, la audiencia y las restricciones, y dejo que Claude lea Linear + git + brand voice y proponga un ángulo de posicionamiento desde la biblioteca que ya construí. Regresa con borrador; yo decido; el gate cambia.
> /newsletter-gnb # AIDA arranca: → Lee Linear (issues cerrados últimos 7d) → Lee git log --since=7days en repos activos → Carga segundo-cerebro/brand-voice.md → Carga newsletter.tesis + newsletter.lectorProblema # Propone (no escribe completo): - 1 ángulo de la semana (de 7 candidatos) - Por qué le gana a los otros 6 - Esqueleto de 7 secciones - 3 direcciones de subject ≤55 chars # Regla del prompt: NO escribas la edición. Para en el brief para que yo apruebe el ángulo primero. Si paso → escribe el ensayo entero. Si no paso → propone otro ángulo desde la biblioteca.
Nota la regla del final. El prompt está deliberadamente frenado en el gate — discovery se trata de mantener una decisión humana en cada costura hasta que aprendí cuáles se pueden automatizar sin susto.
El runbook
La operación, escrita como de verdad corre.
Después de varias piezas, los pasos dejan de improvisarse y se vuelven procedimiento. Lo escribo — no como teoría, sino como lo que acabo de hacer, incluyendo quién owna cada etapa y dónde cae el gate humano. Eso es el runbook. Esqueleto del nuestro:
- 1.1Capturar idea suelta — voice note, Slack, Linear comment, lo que sea
- 1.2AIDA pasa por /skills/agentiza-idea — tipo · audiencia · ángulo tentativo
- 1.3Slot en el kanban (estado 0-inbox), tipo + tags
- 2.1/newsletter-gnb arranca: lee Linear + git + brand voice
- 2.2Propone ángulo + esqueleto 7 secciones + 3 subjects
- 2.3Apruebo ángulo → AIDA escribe el ensayo completo
- 2.4Subject ≤55 chars + tituloLargo (Substack/LinkedIn)
- 2.5Pasa por VOICE GATE de voz-gnb (banneadas-mx + anti-slop-es)
- 3.1Leo el ensayo completo en /cms/[id]
- 3.2Reviso una sola idea central, párrafos ≤3 oraciones, firma correcta
- 3.3Apruebo o pido revisiones específicas (AIDA itera)
- 3.4"Programar en AC" cuando está listo → API a ActiveCampaign
- 4.1AC envía a la hora programada → webhook actualiza el estado
- 4.2Export manual a Substack y LinkedIn con los botones del editor
- 4.3Resultados se loguean (delivered, open, click) para la siguiente
Un runbook es un transcript honesto del workflow. La estructura salió directo de correr el board de arriba — no la diseñé antes.
El skill
Codificando el paso que se ganó su lugar.
Cuando un paso ya corrió a mano suficientes veces como para confiarle el volante, lo convierto en skill — un comando reutilizable que Claude Code reconoce por triggers en español. Este arranca una pieza nueva: setea archivos, siembra el kanban, y para. Fíjate en lo que se rehúsa a hacer — disciplina le gana a la inteligencia durante discovery.
--- name: newsletter-gnb description: Genera el borrador semanal de Construyendo en Voz Alta y lo guarda en el CMS. Activar cuando el usuario diga /newsletter-gnb, "escribe la newsletter", "genera el borrador", "newsletter de esta semana". extends: [voz-gnb] --- # El kanban es el hogar. Una pieza nueva nace como entry # en el board — nunca como archivo suelto huérfano. # MANUAL-FIRST: este skill genera el draft. NO publica, # NO programa, NO toca ActiveCampaign. Gabriel decide. ## Flujo (sin argumentos) 1. Leer API key del .env.local del proyecto 2. POST al endpoint /api/cms/newsletters/auto-draft 3. Mostrar link directo al editor /cms/[ideaId] ## Quality gate (no negociable) - [ ] VOICE GATE de voz-gnb corrido sobre el draft final - [ ] Una sola idea central. Si hay dos, partir en dos. - [ ] Abre con problema del lector + epifanía clara - [ ] Párrafos ≤3 oraciones · subject ≤55 chars - [ ] Firma: — Gabriel / Builder en GNB Labs # Eso es todo. Cualquier cosa pasada "draft listo" es # decisión humana hasta que el sistema me enseñe cuáles # decisiones puedo soltar sin susto.
Esta es la tesis completa. El kanban no es desechable y el runbook no es papeleo — son cómo los prompts y skills se descubren en vez de adivinarse. Para cuando construyo el app de verdad, cada regla adentro ya se ganó su lugar.
El motor
Compone entre sesiones.
Nada de esto pasa en una sentada. El kanban persiste, así que retomo donde lo dejé — y la magia real es lo que hago al cerrar cada sesión: le pido a Claude que extraiga dos cosas, y promuevo las que se ganaron su lugar.
Cierre de sesión
/cierre-sesion → aprendizajes + candidatos a codificar
Promover
al kanban · al runbook · al skill
Siguiente sesión
arranca más inteligente que la anterior
Aprendizajes = qué me sorprendió o se rompió esta sesión. Candidatos a codificar = un paso que ya hice a mano suficientes veces como para confiarle un nuevo step del runbook o un skill. Los viernes, /cierre-semana integra el ciclo MAA (Medir · Analizar · Actuar) sobre todo lo que se promovió en la semana. El sistema se enseña a sí mismo un poquito cada vez — por eso §3 y §4 siguen creciendo sin que yo me siente a “diseñar el sistema”.
En qué gradúa
El CMS formalizado de GNB Labs.
Cuando el aprendizaje está capturado, el mismo board se entrega a un app de verdad — registros estructurados en Mongo, workspace por pieza, transiciones validadas con canTransition(), y lo que el board de discovery nunca tuvo: medición horneada. El build es casi aburrido a esta altura, porque cada estado, gate y campo ya se probó a mano. Mock sanitizado:
Workspace de pieza · sample
Edición #14 — “Mi empresa todavía es legión romana”
- ✓Inbox — capturado desde Slack
- ✓Producción — AIDA escribió, VOICE GATE limpio
- ✓Review — angle aprobado, edits aplicados
- ●Programado — esperando slot martes 09:00
Estado 3 de 5 · owner: ActiveCampaign
Performance
Mismo ADN que el kanban del §1 — estados, owners, un gate antes de cada avance — ahora formalizado, y midiéndose a sí mismo para que cada envío le enseñe al siguiente.
No formalices lo que no aprendiste. El kanban es la fase de discovery que te gana el derecho a construir lo real — y en silencio te escribe casi todo el camino mientras corres la operación a mano.
// gabriel / gnb labs
PRÓXIMO PASO
¿Tu empresa también
corre desde dashboards descartables?
Si quieres aplicar este método a un workflow tuyo — ventas, contenido, cobranza, lo que sea — empezamos por mapearlo. 30 min sin costo.