@xmarts/genius-setup 1.16.1 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -90,7 +90,7 @@ def _inject(cfg, prompt):
90
90
  # version dictated by the server (xma_genius.hook_pin_version, returned in the
91
91
  # inject response) and otherwise fall back to this bundled known-good pin — the
92
92
  # client never resolves the mutable `@latest` tag.
93
- PINNED_FALLBACK = "1.16.1"
93
+ PINNED_FALLBACK = "1.17.0"
94
94
 
95
95
 
96
96
  def _pkg_spec(pin_version):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmarts/genius-setup",
3
- "version": "1.16.1",
3
+ "version": "1.17.0",
4
4
  "description": "One-command, self-updating onboarding for Xmarts Genius (Brain MCP + per-turn injection + automatic session/time capture + presence heartbeat for honest time-tracking 'amarre' + plan/committee→Brain enforcement + CLAUDE.md protocol + MCP fan-out: provisions the consultant's granted MCP servers into Claude Code & Claude Desktop). Secret-free onboarding via single-use setup-token exchange. Installs once; self-updates daily so new tools/skills/features arrive with zero action.",
5
5
  "bin": {
6
6
  "genius-setup": "bin/genius-setup.js"
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: cinematic-scroll-site
3
+ description: Construye sitios "cinematic 3D-scroll" award-winning (efecto Apple: un video que se scrubbea con el scroll como una sola toma de cámara) con la técnica REAL (canvas frame-sequence + Lenis/GSAP), plantilla de brief de un-prompt, y 10 verticales listos (producto de lujo, restaurante, real estate, portafolio, e-commerce, SaaS, agencia, gym...). USAR cuando el usuario pida un sitio cinematic, "3D scroll", "scroll-scrub", una landing premium con video hero, o un sitio para un negocio local. Los assets se generan con higgsfield-video; el gusto lo pone design-taste-frontend; el copy pasa por content-humanizer.
4
+ ---
5
+
6
+ # Cinematic Scroll Site: la técnica real, no la del lead-magnet
7
+
8
+ Base verificada (Brain #6649, scouts 2026-07-07). El efecto "el video se mueve con
9
+ el scroll como una toma continua" es la firma de estos sitios. La mayoría lo hace mal.
10
+
11
+ ## Regla dura #1: NO se scrubbea un `<video>`
12
+
13
+ Scrubbear `video.currentTime` con el scroll tartamudea, snapea a keyframes, y FALLA
14
+ en Safari iOS (decodifica para playback, no para seek). Apple NO scrubbea un video:
15
+ dibuja una SECUENCIA DE FRAMES en un `<canvas>`. Caso de producción que lo documenta:
16
+ OPTIKKA (Codrops, 2025-10-16), que migró de `<video>` a frame-sequence justo por esto.
17
+
18
+ La técnica correcta: `frame = round(scrollProgress * (n-1))`, y `ctx.drawImage(frame)`
19
+ en un solo canvas pinneado a pantalla completa.
20
+
21
+ ## Paso a paso (build-ready)
22
+
23
+ ### 1. Genera el clip y extrae frames
24
+ El clip cinematográfico se genera con `higgsfield-video` (Kling 3.0 default por costo;
25
+ premium solo para el hero final). Luego:
26
+ ```bash
27
+ ffmpeg -i clip.mp4 -vf "fps=30" png/frame_%03d.png
28
+ ffmpeg -i png/frame_%03d.png -c:v libwebp -quality 80 webp/frame_%03d.webp
29
+ ```
30
+ Target 20 a 60 KB por frame (147 frames a 40 KB = ~6 MB, presupuesto de hero sano).
31
+ Exporta un set REDUCIDO (menos frames, menos resolución) para móvil.
32
+
33
+ ### 2. Un canvas pinneado + el helper oficial de GreenSock
34
+ Nunca cambies el `src` de un `<img>` en scroll (flicker + reflow). Siempre `drawImage`
35
+ a un canvas. Dimensiona el canvas por `devicePixelRatio` y calcula offsets cover-fit.
36
+ ```javascript
37
+ gsap.registerPlugin(ScrollTrigger);
38
+
39
+ function imageSequence(config) {
40
+ let playhead = { frame: 0 },
41
+ canvas = gsap.utils.toArray(config.canvas)[0],
42
+ ctx = canvas.getContext("2d"),
43
+ curFrame = -1,
44
+ onUpdate = config.onUpdate,
45
+ images,
46
+ updateImage = function () {
47
+ let frame = Math.round(playhead.frame);
48
+ if (frame !== curFrame) {
49
+ config.clear && ctx.clearRect(0, 0, canvas.width, canvas.height);
50
+ ctx.drawImage(images[frame], 0, 0);
51
+ curFrame = frame;
52
+ onUpdate && onUpdate.call(this, frame, images[frame]);
53
+ }
54
+ };
55
+ images = config.urls.map((url, i) => {
56
+ let img = new Image();
57
+ img.src = url;
58
+ i || (img.onload = updateImage); // dibuja el primer frame al cargar
59
+ return img;
60
+ });
61
+ return gsap.to(playhead, {
62
+ frame: images.length - 1,
63
+ ease: "none",
64
+ onUpdate: updateImage,
65
+ duration: images.length / (config.fps || 30),
66
+ paused: !!config.paused,
67
+ scrollTrigger: config.scrollTrigger
68
+ });
69
+ }
70
+
71
+ imageSequence({
72
+ urls: Array.from({ length: 147 }, (_, i) =>
73
+ `frames/frame_${String(i + 1).padStart(3, "0")}.webp`),
74
+ canvas: "#hero-canvas",
75
+ clear: true, // solo si los frames tienen transparencia; omítelo si son opacos full-bleed
76
+ scrollTrigger: { trigger: ".hero", start: "top top", end: "+=3000", scrub: true, pin: true }
77
+ });
78
+ ```
79
+ `end` largo = scrub más lento y cinemático. En React existe `@bsmnt/scrollytelling`
80
+ con un `ImageSequenceCanvas` ya hecho (misma mecánica).
81
+
82
+ ### 3. Preload inteligente
83
+ Primeros ~10 frames eager, el resto por cola en background, prefetch direccional
84
+ (unos frames adelante al bajar, atrás al subir). Dibuja el primer frame en su `onload`.
85
+
86
+ ### 4. Smooth scroll (glue de UNA sola RAF)
87
+ Verbatim del README oficial de Lenis. NO corras además tu propio `requestAnimationFrame`
88
+ para Lenis (double-drive = jitter).
89
+ ```javascript
90
+ const lenis = new Lenis();
91
+ lenis.on("scroll", ScrollTrigger.update);
92
+ gsap.ticker.add((time) => { lenis.raf(time * 1000); });
93
+ gsap.ticker.lagSmoothing(0);
94
+ ```
95
+ Alternativa: GSAP ScrollSmoother. Nunca los dos a la vez.
96
+
97
+ ## Plantilla de brief de un-prompt
98
+
99
+ ```
100
+ Construye un sitio award-winning cinematic 3D-scroll para <MARCA>.
101
+ VISUALS (higgsfield-video, std 1080p, aspecto 16:9, ~8s/clip, sin audio):
102
+ genera UNA hero image primero y pásala como referencia a CADA clip (consistencia).
103
+ <3 a 5 shots, UN movimiento de cámara por shot, numerados>.
104
+ WEBSITE: scroll-scrub del hero como canvas frame-sequence (Lenis + GSAP), secciones
105
+ pinneadas: <lista de secciones>.
106
+ DESIGN: <fondo> / <acento único> / <tipografía>.
107
+ COPY TONE: <voz>, pocas palabras.
108
+ Launch on localhost and verify <la animación> before telling me it's done.
109
+ ```
110
+ Esa última línea (auto-verificación forzada) es nuestra disciplina, no un adorno.
111
+ Ver `references/verticals.md` para los 10 briefs por vertical ya armados.
112
+
113
+ ## Consistencia y encadenado (con honestidad)
114
+
115
+ - **Hero-image primero:** genera una imagen y úsala como referencia (`input_files`) en
116
+ cada clip. Best practice DOCUMENTADA de Seedance 2.0 ("faces, clothing, visual style
117
+ stay locked across shots").
118
+ - **Personas recurrentes:** entrena un Soul ID una vez y reusa su `reference_id`
119
+ (más fuerte que una imagen suelta).
120
+ - **Encadenar clips:** Seedance 2.0 SÍ acepta start + end frame ("Start & End Frames").
121
+ Encadenar 5 clips (last-frame de uno como start-frame del siguiente) para "una toma
122
+ continua sin cortes" es un truco best-effort, NO garantizado por Higgsfield. No lo
123
+ prometas al cliente. El nombre exacto del param end-frame del MCP no está documentado;
124
+ resuélvelo en runtime (probe / `extra_params`).
125
+
126
+ ## Defaults de costo (los créditos expiran)
127
+
128
+ std 1080p, ~8s, sin audio por default. 4K SOLO para el render final. "Compress the
129
+ videos for web" (~-90%). Genera 2 a 3 tomas SOLO del hero (el hero-scrub es ~80% del wow).
130
+
131
+ ## Iterar como director, no como developer
132
+
133
+ Notas por sensación: "hazlo 20% más lento", "esta sección se siente plana, agrega una
134
+ interacción de cursor sutil", "cambia la tipografía, se ve genérica". El agente traduce
135
+ intención a código.
136
+
137
+ ## Deploy "un prompt más" (Cloudflare Pages, gratis)
138
+
139
+ 1. `git push` de los estáticos a un repo de GitHub.
140
+ 2. Dash Cloudflare, Workers & Pages, Create application, Pages, Connect to Git, autoriza
141
+ el repo.
142
+ 3. Build command en BLANCO (HTML plano), Build output directory = carpeta del HTML.
143
+ 4. Save and Deploy (30 a 60s, obtienes `proyecto.pages.dev`).
144
+ 5. Custom domains, agrega el dominio (si ya está en Cloudflare crea el CNAME solo).
145
+
146
+ Gotchas: (1) un proyecto Git-integration NO se puede pasar luego a Direct Upload;
147
+ (2) completa el paso de custom-domain en el dash ANTES de agregar el CNAME o da 522;
148
+ (3) records CAA que no permitan Cloudflare bloquean el certificado.
149
+
150
+ ## GTM (empaquetable)
151
+
152
+ Los verticales restaurante, realtor y gym son un entregable local de $2,000 a $5,000:
153
+ construye un sample, muéstralo a 5 negocios, cobra. Nunca han visto un sitio así.
154
+
155
+ ## Referencia autoritativa (opcional, para el admin)
156
+
157
+ Para que el agente escriba pin/scrub/refresh/cleanup de GSAP impecables, el admin puede
158
+ sumar a la flota el skill OFICIAL de GreenSock (MIT, auditado seguro):
159
+ `/plugin marketplace add greensock/gsap-skills`. Este skill ya trae la receta inline,
160
+ así que funciona sin él; es un plus, no un requisito.
161
+
162
+ ## Cross-refs
163
+
164
+ - Assets (imagen/video): `higgsfield-video`, y NanoBanana2 para keyframes.
165
+ - Gusto y anti-slop de diseño: `design-taste-frontend` + el theme engine OKLCH.
166
+ - Copy sin señales de IA: `content-humanizer`.
167
+ - Finishing determinista de clips (grain, Ken Burns, transiciones): `remotion-video`.
@@ -0,0 +1,92 @@
1
+ # 10 verticales cinematic 3D-scroll (briefs base)
2
+
3
+ Cada uno: para quién, los shots (3 a 5, UN movimiento de cámara cada uno), las secciones
4
+ pinneadas, y la dirección de diseño. Rellena marca, ciudad y cifras; genera la hero image
5
+ primero y pásala como referencia a cada clip.
6
+
7
+ ## 1. Producto de lujo (relojes, joyería, audio, sneakers)
8
+ - Shots: (1) orbit 360 lento del producto flotando en vacío negro, rim light dramático;
9
+ (2) macro fly-through sobre el detalle (dial, textura, costura); (3) exploded assembly,
10
+ el producto se arma desde componentes flotantes.
11
+ - Secciones: hero con el nombre en tracking, historia, macro-detalles, vista técnica con
12
+ spec callouts, edición limitada + CTA de waitlist.
13
+ - Diseño: fondo off-black, un acento (oro/champagne), serif display alto contraste + sans
14
+ minimal. Copy: callado, caro, muy pocas palabras.
15
+
16
+ ## 2. Experiencia / storytelling (turismo, expediciones, museos)
17
+ - Shots encadenados (aquí sí conviene el chaining best-effort): un descenso o recorrido
18
+ por zonas, cada clip termina donde arranca el siguiente. HUD fijo (profundidad, tiempo).
19
+ - Secciones: hero con pregunta, un dato por zona, specs, CTA de reserva.
20
+ - Diseño: color-grade que evoluciona con el scroll, un acento luminoso, sans técnica con
21
+ micro-detalles tipo instrumento.
22
+
23
+ ## 3. Portafolio personal (creadores, freelancers, consultores)
24
+ - Sube una foto tuya bien iluminada de frente como referencia de identidad en cada clip.
25
+ - Shots: (1) orbit 360 alrededor de ti, brazos cruzados, rim light; (2) tú entre pantallas
26
+ holográficas con tu trabajo, push-in lento; (3) caminas hacia cámara, pose final.
27
+ - Secciones: nombre en display gigante letra por letra, strip de stats que cuentan al
28
+ scroll, 3 pilares, grid de trabajo con hover, CTA + socials.
29
+ - Diseño: fondo tinta, un acento, display condensado bold, grano sutil.
30
+
31
+ ## 4. E-commerce / streetwear (drops, merch, ediciones limitadas)
32
+ - Shots: (1) modelo camina hacia cámara entre niebla, el viento mueve la tela; (2) spins
33
+ 1:1 de cada prenda en maniquí invisible, 360 limpio; (3) macro de costura y cierre.
34
+ - Secciones: hero scroll-scrub del walk + countdown, grid de producto (cards que autoplay
35
+ su spin en hover), manifiesto de calidad, captura de email para tallas agotadas.
36
+ - Diseño: gris concreto + negro mate, un acento ácido, condensada brutalista.
37
+
38
+ ## 5. Restaurante / cafe / bar (LOCAL, vendible $2k a $5k)
39
+ - Shots: (1) macro slow-motion de la proteína sobre fuego, brasas subiendo; (2) dolly lento
40
+ por el salón en hora dorada; (3) cenital de un plato emplatándose, vapor subiendo.
41
+ - Secciones: hero full-bleed scrub del fuego, historia breve, menú en dos columnas con
42
+ precios, reservación con formulario de fecha/party-size.
43
+ - Diseño: fondo casi negro, crema cálida, acento ámbar, grano de película, parallax lento.
44
+ Móvil: menú colapsa a una columna elegante. Usa las fotos reales del negocio.
45
+
46
+ ## 6. Real estate (realtors, desarrollos, rentas vacacionales, hoteles)
47
+ - Shots encadenados en un tour continuo: (1) drone que curva alrededor de la torre al
48
+ atardecer; (2) del elevador al living; (3) cocina y suite principal; (4) terraza de noche,
49
+ alberca infinita reflejando el skyline.
50
+ - Secciones: hero, strip de facts (recámaras/baños/m2), galería, amenidades con reveals,
51
+ precio, "Request a Private Showing" con card del agente.
52
+ - Diseño: fondo tinta, acento champagne-gold, serif delgado, mucho whitespace. Usa las
53
+ fotos reales de la propiedad como start frames.
54
+
55
+ ## 7. Automotriz / producto grande (autos, drones, bikes, maquinaria)
56
+ - Shots encadenados del producto moviéndose por terreno real, no en estudio: (1) reveal en
57
+ desierto al amanecer; (2) low tracking shot lanzándose; (3) cañón a velocidad; (4) modo
58
+ noche, solo su firma de luz.
59
+ - Secciones: hero con el nombre ultrawide, stats que cuentan al scroll, diseño con macro
60
+ stills, sección night-mode, teaser de configurador, CTA de reserva.
61
+ - Diseño: negro sobre negro, acento cian eléctrico, condensada ultrawide, motion blur sutil.
62
+
63
+ ## 8. SaaS / app (software, herramientas AI, startups)
64
+ - Shots: (1) partículas de datos que se ensamblan en un dashboard flotante que "late";
65
+ (2) macro sobre charts holográficos, una anomalía roja se enciende; (3) el dashboard en
66
+ una laptop en oficina minimal luminosa, todo bajo control.
67
+ - Secciones: hero donde el dashboard se construye al scroll, logo strip de social proof,
68
+ 3 bloques de feature, contadores de métricas, screenshot real del producto en mockup de
69
+ navegador, tabla de pricing (tier medio destacado), FAQ, CTA final.
70
+ - Diseño: hero casi negro que funde a blanco para el body, un acento violeta, sans
71
+ geométrica, cards glassmorphism. Combo de credibilidad: hero generado + screenshots reales.
72
+
73
+ ## 9. Agencia / estudio creativo
74
+ - Shots: (1) tinta negra floreciendo en agua en slow motion, con destellos de oro;
75
+ (2) showreel: posters y pantallas con tipografía bold deslizándose por paredes de galería;
76
+ (3) siluetas de un equipo pequeño trabajando de noche, bokeh de ciudad por la ventana.
77
+ - Secciones: hero con la tinta detrás del nombre en display enorme, manifiesto kinético
78
+ (una palabra por paso de scroll), grid de casos con hover-video, servicios en dos columnas
79
+ editoriales, equipo, footer sobredimensionado con CTA.
80
+ - Diseño: negro puro + hueso, oro usado exactamente 3 veces en todo el sitio, mezcla de un
81
+ display brutalista con un serif refinado. Cursor = punto de oro con estela.
82
+
83
+ ## 10. Gym / fitness (LOCAL, vendible $2k+)
84
+ - Shots: (1) atleta choca manos con tiza en gym oscuro, la nube de tiza florece en un haz de
85
+ luz cenital; (2) macro tracking por una barra cargada, textura de knurling y tiza;
86
+ (3) corredor en pista al amanecer, aliento visible, cámara baja y rápida al lado.
87
+ - Secciones: hero scrub de la nube de tiza, filosofía (una línea por paso de scroll), grid
88
+ de programas con hover, coaches, strip de resultados con contadores, pricing (3 tiers,
89
+ medio destacado), horario + mapa + formulario.
90
+ - Diseño: fondo carbón, tipo hueso, un acento rojo sangre, display industrial condensado,
91
+ grano y viñeta en toda la imagen. Móvil: programas en cards swipeables. Usa fotos reales
92
+ del espacio y su horario y precios.
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: reasoning-discipline
3
+ description: Eleva a CUALQUIER modelo (Opus/Sonnet/Haiku/Fable) a operar con la disciplina de un modelo fuerte, vía 5 compuertas (scoping, evidencia, adversarial, verificación, reporte) + ruteo por modelo/esfuerzo. USAR antes de una tarea multi-paso difícil, un build, una auditoría, una migración, o cuando el usuario pida "modo riguroso", "fable mode", "piensa/razona con disciplina", "no me falles", "verifica antes de terminar", o cuando vayas a delegar a subagentes. Es la versión de UN-solo-agente del protocolo de comité.
4
+ ---
5
+
6
+ # Reasoning Discipline: el proceso es el foso, no el modelo
7
+
8
+ Regla de fondo (validada, Brain #6648): no puedes quedarte con la INTELIGENCIA de
9
+ un modelo, pero sí con su PROCESO. Lo que produce salidas confiables es el harness,
10
+ las compuertas y los loops, no el modelo. Esta disciplina eleva a un modelo barato,
11
+ pero NO cambia su capacidad de base: no la sobre-vendas como un upgrade de inteligencia.
12
+
13
+ Cárgala cuando la tarea sea cara de equivocar. Para trabajo trivial, no estorbes.
14
+
15
+ ## Las 5 compuertas (no las saltes)
16
+
17
+ 1. **SCOPING (antes de tocar nada).** No solo listar pasos: hacer de abogado del
18
+ diablo sobre lo desconocido. ¿Qué podría salir mal? ¿Qué supuestos no verifiqué?
19
+ Escribe el plan por etapas, numeradas, cada una con su condición de "pasa".
20
+ 2. **EVIDENCIA antes de razonar.** Lee el archivo, corre el grep, mira el esquema
21
+ real ANTES de teorizar. No razones sobre lo que crees que dice el código; ábrelo.
22
+ 3. **RAZONAR ADVERSARIALMENTE.** Ataca tu propia solución. ¿Qué caso la rompe?
23
+ ¿Qué cifra inventé? ¿Qué claim no es objetivamente verificable? Ante la duda,
24
+ asume que está mal hasta probar lo contrario.
25
+ 4. **VERIFICAR antes de declarar hecho.** Cada etapa define una condición que un
26
+ ARTEFACTO EXTERNO satisface (un test que pasa, un grep que devuelve la línea, un
27
+ `execute_orm` que da el número, un screenshot que se ve bien). "Se ve bien" no es
28
+ verificación; un artefacto sí. Re-verifica cada "listo" antes de decirlo.
29
+ 5. **REPORTAR / CALIBRAR.** Di qué falló, qué quedó sin verificar, qué es supuesto
30
+ vs. hecho. Honestidad sobre impresión. El reporte es parte del trabajo.
31
+
32
+ Esto es el `feedback_committee_operating_protocol` en formato de un-solo-agente.
33
+ Cuando la tarea amerite paralelismo o red-team, escala al comité (Workflow).
34
+
35
+ ## Principios operativos (del system prompt filtrado de Fable 5)
36
+
37
+ Fuente CC0 pública (`asgeirtj/system_prompts_leaks`, corroborada por
38
+ `jujumilk3/leaked-system-prompts`). Citar como filtrado, no confirmado por Anthropic.
39
+ Cuatro reglas listas para usar:
40
+
41
+ - **Verifica antes de confiar en la memoria.** "El reconocimiento parcial del training
42
+ no es conocimiento actual." Si lo recuerdas pero no lo comprobaste, compruébalo.
43
+ - **Comprueba que el archivo exista.** Que el prompt implique que un archivo está
44
+ presente no significa que lo esté (el usuario pudo olvidar subirlo). Revisa tú mismo.
45
+ - **Responde primero, pregunta después.** Atiende una consulta ambigua ANTES de pedir
46
+ aclaración. Máximo UNA pregunta por respuesta.
47
+ - **Escala el esfuerzo a la tarea.** 1 llamada de herramienta para un dato simple,
48
+ 3 a 5 para una tarea media, 5 a 10 para research o comparación honda.
49
+
50
+ ## Calibración de esfuerzo (importante)
51
+
52
+ Más esfuerzo NO es siempre mejor. El esfuerzo bajo de un modelo top suele igualar al
53
+ esfuerzo alto del tier siguiente. Subir a `xhigh`/`max` a veces EMPEORA: el modelo se
54
+ sobre-piensa y se contradice. Default sensato: `high`. Sube solo si la tarea lo exige
55
+ y estás dispuesto a pagar la latencia y el riesgo de overthinking.
56
+
57
+ ## Ruteo de modelo (delega el trabajo mecánico al tier barato)
58
+
59
+ Palanca NATIVA de Claude Code (sin código):
60
+ - `CLAUDE_CODE_SUBAGENT_MODEL` rutea TODOS los subagentes a un tier barato.
61
+ - Cada subagente acepta el campo `model:` (incluido `inherit`).
62
+
63
+ Policy de delegación:
64
+ | Trabajo | Tier | Por qué |
65
+ |---|---|---|
66
+ | Razonamiento real, diseño, review de código, síntesis | Opus / Fable | Necesita juicio |
67
+ | Variantes creativas, transformaciones con contexto | Sonnet | Buen costo/juicio |
68
+ | Bulk mecánico: extracción, clasificación, sweeps, scouts | Haiku | ~3× más barato/token |
69
+
70
+ Empareja el tier a la DIFICULTAD de la etapa, no al hábito.
71
+
72
+ **Corrección de honestidad (no propagar el mito).** La frase de la comunidad
73
+ "orquestador Opus + scouts Haiku = misma calidad, 3× más barato" NO tiene benchmark.
74
+ El dato publicado de Anthropic (`anthropic.com/engineering/multi-agent-research-system`)
75
+ es Opus-líder + Sonnet-subagentes = +90.2% en su eval de research, a ~15× MÁS tokens.
76
+ O sea: el patrón orquestador-worker COMPRA calidad a mayor costo de tokens. "Haiku
77
+ ~3× más barato por token" es cierto; el combinado "misma calidad Y 3× más barato" no.
78
+ Cuando cites el fundamento de nuestros comités, usa el número real (Opus+Sonnet,
79
+ +90.2%, 15× tokens), nunca el mito del ahorro.
80
+
81
+ ## Endurecer una compuerta con un hook (opcional)
82
+
83
+ Una regla enforzada por un hook real vence a la prosa. Igual que el `ai-slop-lint`
84
+ que falla el build, se puede enforzar una compuerta (p. ej. "un test nunca nombra una
85
+ ruta de datos productiva") con un hook `PostToolUse` que bloquee la violación. Patrón:
86
+ un solo gate mecánico, no todo el skill. Si vas a construir uno, documenta qué cazá,
87
+ qué salta y qué NO cubre (los blind spots) en el propio hook.
88
+
89
+ ## Al cerrar
90
+
91
+ Si esto fue un plan o un comité, captura sus perspectivas al Brain (`capture_learning`)
92
+ antes de terminar. El análisis de un plan es conocimiento durable; perderlo es el error.