Protocolo canónico
Un documento. El registro sigue el estándar RutinHQ: topología MDX, densidad alta, Copy for LLMs. Identidad, copy, paleta y tipografía son propios.
| Capa | Dueño | Criterio |
|---|---|---|
| Método de registro (MDX, scannability, Copy for LLMs, auto-resolution) | Estándar RutinHQ | High-signal, tablas, H2/H3, cero fluff |
| Contenido, marca, gobierno, catálogo, secretos, moldes | RutinHQ | Notion operativo; Starlight aprobado |
Identidad visual: solo RutinHQ (oscuro, #2ecc8f, Space Grotesk / Inter / IBM Plex Mono, radio 0). No se usa marca, CSS ni copy ajenos.
Roles de superficie
Sección titulada «Roles de superficie»| Sistema | Rol | Dirección |
|---|---|---|
| Notion | Bandeja operativa | Escribe humano + agentes de ejecución |
| Starlight | Molde profesional | Solo sale lo KEEP + aprobado |
| Git | Versión | Tags / GitHub Releases |
| Comentario Notion | Puntero | URL Starlight; no re-pegar el artículo |
Unidireccional. Si Notion cambia, se re-sintetiza. Starlight no escribe Notion salvo el comentario de publicación.
Contrato editorial
Sección titulada «Contrato editorial»Antes de escribir un .mdx, clasificar cada bloque de origen:
| Sello | Significa | Destino |
|---|---|---|
| KEEP | Fijo, presentable, sin secretos | Starlight |
| DROP | Operativo, PII, credenciales, DB rows, ruido | Se queda en Notion |
| ASK | Ambiguo o falta variable | Bloque de decisión; no se para el doc |
No volcar databases (Lead Pool, trackers PMO, inboxes diarios). No publicar páginas de accesos.
Auto-resolution
Sección titulada «Auto-resolution»Si falta un dato (hosting, ICP, métrica, owner):
- No inventar números.
- No bloquear el resto del documento.
- Insertar:
:::note[STRATEGIC DECISION REQUIRED: {Missing}]Opción 1 — …Opción 2 — …Opción 3 — …:::Tres opciones arquitectónicas. El humano elige. El agente no finge certeza.
Formato de página (registro)
Sección titulada «Formato de página (registro)»| Elemento | Regla |
|---|---|
| Frontmatter | title, description, proyecto, estado (borrador | aprobado), origen, actualizado |
| Título | H1 de Starlight. No duplicar H1 en el cuerpo |
| Copy for LLMs | Siempre bajo el H1 (componente global + import opcional) |
| Lede | Primer <p> en itálica: una tesis, no un párrafo de marketing |
| Cuerpo | H2/H3, tablas relacionales, listas cortas |
| Prosa | Cero fluff. Business physics. Español |
| Cierre | Fuera de alcance / siguiente movimiento, si aplica |
Catálogo
Sección titulada «Catálogo»Archivo raíz catalog.yaml (local: /Users/rafam./Proyectos/docs/catalog.yaml).
Cada entrada:
| Campo | Para qué |
|---|---|
slug | Ruta Starlight |
github | Repo de producto si existe (no duplicar código aquí) |
notion | IDs/URLs de origen |
molde | producto | ops-bots | herramienta | gtm | archivo | proceso |
estado | candidato | borrador | aprobado | drop |
notas | KEEP/DROP/ASK en una línea |
| Molde | Cuándo |
|---|---|
| producto | Oferta, SKU, storefront, PETOP |
| ops-bots | Sistemas de bots, runbooks sin secretos |
| herramienta | CLI, scripts, Cursor, repos internos |
| gtm | Outbound, ICP, secuencias (sin listas de leads) |
| archivo | Handoffs, decisiones históricas |
| proceso | Cómo trabaja el canal / PMO ligero |
Workflow del agente
Sección titulada «Workflow del agente»| # | Acción |
|---|---|
| 1 | Leer este protocolo y el skill docs-canal |
| 2 | Resolver fila en catalog.yaml o crearla |
| 3 | Notion MCP: fetch puntual. No dump de DB |
| 4 | KEEP/DROP/ASK |
| 5 | Elegir molde. Escribir .mdx en src/content/docs/ |
| 6 | import CopyForLLMs si la página no hereda el override (sí hereda) |
| 7 | Actualizar sidebar solo si hay sección nueva |
| 8 | npm run build |
| 9 | Pedir estado: aprobado al humano |
| 10 | Comentario en Notion: enlace. Stop |
Branding aplicado
Sección titulada «Branding aplicado»| Token | Valor (landing Rutinhq/Rutinhq.github.io) |
|---|---|
| Fondo | #0a0a0a |
| Texto | #f5f5f5 |
| Acento | #2ecc8f |
| Card / border | #111111 / #1f1f1f |
| Muted | #6b6b6b |
| Radius | 0 |
| Heading | Space Grotesk 800, tracking −0.03em |
| Body | Inter |
| Mono | IBM Plex Mono |
| Tono | RevOps / GTM Engineering, técnico, sin adorno |
Identidad de registro (cerrada): topología MDX, tablas de alto señal y scannability son estándar RutinHQ. No inspeccionar CSS ajeno, no extraer type-scale, no reutilizar copy ni arquitectura de negocio de terceros. Tipografía y color = landing RutinHQ.
Hosting y GitHub
Sección titulada «Hosting y GitHub»| Tema | Estado |
|---|---|
| Repo | Rutinhq/docs (privado) |
| CI | .github/workflows/build.yml — verifica npm run build en main y PRs. No publica. |
| Preview local | npm run dev / npm run preview |
| Producción | Cloudflare Pages, estático dist (wrangler.toml) |
| URL | https://docs.rutinhq.com (placeholder hasta DNS) |
| GitHub Pages | No. Repo privado ≠ sitio público |
| Firebase | No |
| Zapier | No usar en este canal |
Decisión Capo (4 sep 2026): Cloudflare Pages. Pasos que quedan fuera de este repo: login Cloudflare, attach del repo GitHub, CNAME docs → *.pages.dev, Access opcional. Receta en el README.
Qué no hace este protocolo
Sección titulada «Qué no hace este protocolo»| Prohibido |
|---|
| Duplicar código de producto en este repo |
| Bidirectional sync Notion ↔ Starlight |
| Publicar secretos, logins, pools de leads |
| Inventar métricas |
| Copiar copy, CSS, marca, tipografía o producto de terceros |