Install
openclaw skills install @formula100k/carrusel-render-formula100kRenderiza un guion de carrusel a slides PNG terminados (1080×1350, exportados a 2x), listos para subir a Instagram. Estilo por defecto EDITORIAL OSCURO (foto real de la usuaria, sans pesada + serif itálica, acento dorado); alternativo SCRAPBOOK (crema, Caveat + Poppins, post-its, washi tape, stickers) si lo pide. Integra fotos reales de la usuaria (polaroid, hero, cutout, tira de fotomatón). Escribe el HTML y lo exporta a PNG con el Chromium headless del servidor. Activar SIEMPRE que pida: "renderiza este carrusel", "exporta este guion a PNG", "convierte este guion en slides", "diséñame el carrusel", "hazme las imágenes del carrusel", "genera las slides en mi estilo", "carrusel con mi foto", "usa mis fotos", o pase un guion con Slide 1 / Slide 2 queriendo los archivos visuales. También con el resultado de carrusel-viral-formula100k. NO escribe el guion: para eso está carrusel-viral-formula100k.
openclaw skills install @formula100k/carrusel-render-formula100kEsta versión corre en un agente OpenClaw (servidor + Telegram), no en Claude Code. Antes de seguir, lee la skill
f100k-puente: traduce herramientas y rutas. Lo específico de esta skill:
- Cómo renderizar en el servidor: en la carpeta de esta skill corre
npm install --omit=devuna sola vez (solo instalapuppeteer-core, no baja navegador). LuegoCHROME_PATH="$(command -v chromium || command -v chromium-browser || command -v google-chrome)" node export.js <html> --width 1080 --height 1350 --scale 2. Si el Chromium del agente es el de Playwright, la ruta es~/.cache/ms-playwright/chromium-*/chrome-linux/chrome. Esta versión del script ya buscaCHROME_PATHy rutas de Linux y lanza con--no-sandbox.- Si no hay Node o
puppeteer-coreno instala: abre el HTML en tu navegador (Chromium del agente) con ventana de 1080×1350 y toma captura de cada.slide. Si tampoco puedes, entrega el.htmlpor Telegram y dilo en la primera línea.- Fuentes en Linux:
-apple-system,HelveticayGeorgiano existen en el servidor y el render sale con otra letra. En el<head>carga de Google FontsInter(800) yGelasio(tiene las medidas de Georgia) y ponlas primero en cadafont-family. Los stickers emoji necesitan la fuente Noto Color Emoji instalada; si salen cuadritos, avisa y no entregues.- Estilo por defecto: EDITORIAL OSCURO (así lo dice
brandkit.md, aunque otras partes digan scrapbook). Scrapbook solo si ella lo pide.- Handle, palabra del CTA y oferta: sácalos de
USER.mdycerebro/. Donde la skill diga «Comenta 100K» o «cierra vendiendo F100K», usa SU palabra clave y SU oferta; pregunta en una línea si no están.- Fotos:
cerebro/fotos/. Copia la elegida a la carpeta del carrusel con nombre simple para que el<img>use ruta relativa. Las capturas «CAPTURA REAL» tienen que mandarlas ella: nunca las inventes.- Entrega: los PNG por Telegram como archivo (documento, no foto, para que no se compriman), en orden
slide-01…. Guarda todo enentregables/carruseles/.
Toma un guion estructurado de carrusel y produce los slides como imágenes PNG listas para Instagram, aplicando el brandkit visual de FÓRMULA 100K con el handle, la oferta y las fotos de la usuaria.
Activar cuando el usuario ya tiene un guion de carrusel y necesita los slides VISUALES (PNG) renderizados. Esta skill NO escribe el guion — eso lo hace carrusel-viral-formula100k. Esta skill toma el guion y lo convierte en archivos visuales.
Triggers típicos:
Slide 1: ... / Slide 2: ...Antes de escribir HTML, leer brandkit.md para conocer:
Si el usuario solo pasa una idea (no un guion estructurado), pídele que te dé el guion completo o sugiérele invocar primero carrusel-viral-formula100k. Si pasa un guion, identifica:
Preguntar al usuario si quiere incluir fotos suyas en el carrusel. Las opciones son:
cerebro/fotos (pool grande sin tags)cerebro/fotos (3 fotos curadas con tags)Patrones de composición con foto disponibles (ver references/fotos-reales.md):
Si la foto se incluye, copiarla a la carpeta de output con nombre simple (foto.jpg, slide-3-foto.jpg) para que el <img src="..."> use ruta relativa.
Carpeta default: entregables/carruseles/CARRUSELES DIARIOS/{YYYY-MM-DD}-{slug-tema}/
Donde {slug-tema} es 2-4 palabras del tema en kebab-case. Ej: 2026-05-03-chisme-silicon-valley.
Confirmar con el usuario o usar default.
references/composiciones.md para variar la composición entre slides (no todos iguales)references/fotos-reales.md para los patrones CSS de polaroid/hero/cutoutbrandkit.md rigurosamente<div class="slide sN">...</div> consecutivos, todos 1080×1350pxtransformreferences/ejemplo-completo.html es la referencia canónica del estilo — consultar si hay dudaComprobar si node_modules/puppeteer-core existe en la carpeta de la skill:
ls "skills/carrusel-render-formula100k/node_modules/puppeteer-core" 2>/dev/null
Si no existe, instalar UNA SOLA VEZ (la skill es self-contained):
cd "skills/carrusel-render-formula100k" && npm install puppeteer-core --cache /tmp/npm-cache-skill
NOTA: usar siempre --cache /tmp/npm-cache-skill para evitar el bug conocido de permisos en ~/.npm/_cacache.
CHROME_PATH="<ruta del Chromium>" node "skills/carrusel-render-formula100k/export.js" "{ruta-al-html}"
El script:
.slide elementsslide-01.png, slide-02.png, etc.references/composiciones.md.±2deg a ±8deg (más allá se ve forzado).El usuario suele pasar guiones así:
Slide 1: Portada
Título: ...
Subtítulo: ...
Slide 2: ...
Cuerpo: ...
O en formato libre. La skill debe ser flexible: si el usuario pasa el guion en otro formato, parsearlo igual y mapear a slides.
brandkit.md — paleta, tipografías, decoración, handlereferences/composiciones.md — patrones de layout asimétricoreferences/fotos-reales.md — patrones CSS para integrar fotos del usuario (polaroid, hero, cutout, photo strip)references/ejemplo-completo.html — carrusel "Chisme Silicon Valley" como referencia canónica del estilotemplate.html — esqueleto base con CSS reutilizableexport.js — script de Puppeteer que exporta PNGs