Install
openclaw skills install @formula100k/calendario-actividades-skool-f100kToma una rutina semanal recurrente + eventos puntuales con fecha + un tema de marca, calcula la grilla real del mes y la renderiza con HTML→Chrome→PNG. Dos caminos: DESDE 0 (arma la rutina con la metodología F100K de anclas) o CLONAR el mes anterior y ajustar. Activar SIEMPRE que se pida "arma el calendario de actividades de mi comunidad/Skool", "hazme el calendario mensual de la comunidad", "el calendario de sesiones del mes", "calendario de eventos de Skool", "diséñame el calendario de actividades como el de F100K", "calendario de la comunidad de [clienta]", "actualiza el calendario de actividades a [mes]", o cualquier variación que combine una comunidad/Skool con el calendario VISUAL de sus sesiones/eventos del mes. NO confundir con calendario-semanal-f100k ni calendarizador-contenido-formula100k (esas son para CONTENIDO de redes), ni con calendarizador-historias/urgencias.
openclaw skills install @formula100k/calendario-actividades-skool-f100kEsta 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:
- Arranca desde
plantillas/dinamicas-genericas.json(oblanco.json). La config real de FÓRMULA 100K no viaja en este paquete. La config de su comunidad guárdala encerebro/calendario-actividades/<comunidad>.jsonpara clonarla el mes siguiente.- Render: la primera vez
npm installdentro de la carpeta de la skill (solopuppeteer-core, no baja navegador). Corre desde la raíz del workspace con el Chromium del servidor:CHROME_PATH=$(command -v chromium || command -v chromium-browser) node skills/calendario-actividades-skool-f100k/render.js cerebro/calendario-actividades/<comunidad>.json --out entregables/calendarios-actividades/<AAAA-MM>_<comunidad>.png.- El tema
alquimista-f100kes la marca de FÓRMULA 100K. Para la comunidad de la usuaria usaminimalista-claro,oscuro-neono un fondo propio; el tema nuevo va encerebro/calendario-actividades/themes/<marca>/y lo copias athemes/antes de renderizar (las actualizaciones borran la carpeta de la skill).- Fondo propio con Higgsfield: costo estimado y ✅ antes de generar. Si no está el plugin, entrega el prompt y usa un tema CSS.
- Mira el PNG antes de mandarlo (fechas en su día, chips sin desbordar) y mándalo por Telegram como archivo junto al
.htmleditable. Publicarlo en Skool lo hace ella.
Convierte la rutina de una comunidad Skool en el calendario mensual visual (PNG) que se publica dentro de la comunidad — el entregable de "Contenido Vivo": predictibilidad (rutina fija) + novedad (eventos del mes).
Produce la imagen final lista para publicar, no un plan en texto. El motor es HTML → Chrome headless → PNG (mismo patrón que carrusel-render-formula100k).
No es para contenido de redes (eso es calendarizador-contenido-formula100k / calendario-semanal-f100k).
comunidad, tema, mes, anio, rutinaSemanal, horarios, eventos, catalogoTipos. Ver plantillas/.node render.js <config.json> calcula la grilla real del mes y la dibuja sobre el fondo del tema.entregables/calendarios-actividades/ (corre el render desde la raíz del workspace).cd <skill>/calendario-actividades-skool-f100k
npm install # instala puppeteer-core (usa el Chromium del servidor vía CHROME_PATH, no descarga otro)
node render.js plantillas/dinamicas-genericas.json # usa mes/anio/tema del config
node render.js mi-comunidad.json --mes 7 --anio 2026 # sobrescribe mes/año
node render.js mi-comunidad.json --tema oscuro-neon # cambia de tema
node render.js mi-comunidad.json --out /ruta/calendario.png --scale 2
Antes de armar cualquier rutina, lee referencias/dinamicas-y-eventos.md. Tiene el catálogo canónico F100K: 6 categorías · 28 dinámicas, el ritmo de 7 días con copy listo, el arco mensual de 4 semanas (Fundamentos → Ejecución → Optimización → Celebración+Reto), el mapa de frecuencias y las reglas de oro.
Un calendario pobre (2–3 chips sueltos) NO es el entregable. Un calendario vivo mezcla categorías: rituales (lunes de metas, viernes de wins, check-in), participación (hot seat, pregunta del día, encuestas), gamificación (reto relámpago, leaderboard, rachas), co-creación (votaciones, construyamos juntas, caso de estudio), reconocimiento (alumna del mes, muro de la fama, shout-outs) y eventos en vivo (Q&A, co-working, masterclass, ceremonia de cierre).
plantillas/dinamicas-genericas.json (config "cargado" con el ritmo de 7 días + arco mensual completo) y recorta según la energía real, en vez de partir de blanco.json y quedarte corto.
plantillas/dinamicas-genericas.json).mes/anio y rota lo dinámico de este mes en eventos: nuevo reto y tema mensual, masterclass distinta, nueva dinámica de co-creación, presenciales, lanzamientos. No repitas el mismo mes calcado — el arco de 4 semanas se mantiene, el contenido cambia.| Campo | Qué es |
|---|---|
comunidad | Nombre que sale en el sidebar |
mesLabel | Etiqueta corta grande del sidebar (ej. "MAY."); opcional |
tema | Carpeta en themes/ (alquimista-f100k | minimalista-claro | oscuro-neon) |
mes / anio | Mes (1–12) y año a renderizar |
logo | Ruta local a PNG/SVG del logo (opcional; si no, usa iniciales) |
catalogoTipos | Mapa tipo → {bg, fg} = color de cada chip de sesión |
rutinaSemanal | Llaves 0–6 (0=Domingo … 6=Sábado) → lista de sesiones fijas de ese día |
horarios | Llaves 0–6 → texto de horarios (sidebar "Recuerda los horarios") |
eventos | Fechas puntuales: {fecha:"AAAA-MM-DD", titulo, icono, fechaLabel?, atento?} |
{ "sesion": "Q&A en vivo", "tipo": "qa", "icono": "💬" } — el color viene de catalogoTipos[tipo].fechaLabel y atento:true (default) sale como píldora en la grilla y en "Estáte atento a". Con atento:false solo sale como píldora en su día.Cada tema vive en themes/<nombre>/ con theme.json (CSS vars + tipografía) y un fondo.jpg opcional:
alquimista-f100k — el flagship (fondo de laboratorio alquimista, azul profundo). Es la marca de FÓRMULA 100K: para otra comunidad usa otro tema o genera su fondo.minimalista-claro — fondo claro, sin imagen, 100% CSS. Marca sobria.oscuro-neon — morado/neón, sin imagen, 100% CSS.Genera un fondo nuevo con Higgsfield (generate_image, nano_banana_pro, aspect_ratio:"16:9") describiendo el nicho de la clienta. Reglas del prompt: centro despejado/oscuro para que la grilla se lea, detalle en los bordes, vignette, y sin texto/números/UI. Luego:
mkdir -p themes/<marca>/ && cp themes/alquimista-f100k/theme.json themes/<marca>/theme.json
# descarga la imagen como themes/<marca>/fondo.jpg, ajusta colores en theme.json
Si llega en PNG, conviértela a JPEG con Pillow para que pese menos, o déjala como fondo.png y cambia "fondo" en theme.json.
Siempre abre el PNG generado y revísalo antes de entregar: que las fechas caigan en el día correcto, que los chips no se desborden, que el centro del fondo no tape el texto. Si el mes empieza en un día que deja muchas celdas vacías, está bien — así es el calendario real.
calendario-actividades-skool-f100k/
├── SKILL.md # esta guía
├── template.html # grilla + sidebar + chips sobre el fondo (vanilla JS)
├── render.js # config → grilla del mes → PNG (puppeteer-core)
├── package.json
├── referencias/
│ └── dinamicas-y-eventos.md # ⭐ catálogo F100K: 28 dinámicas + ritmo 7 días + arco mensual (LÉELO antes de armar)
├── themes/
│ ├── alquimista-f100k/{theme.json, fondo.jpg}
│ ├── minimalista-claro/theme.json
│ └── oscuro-neon/theme.json
└── plantillas/
├── (la config real de FÓRMULA 100K no viaja en este paquete)
├── dinamicas-genericas.json # ⭐ plantilla ROBUSTA: ritmo 7 días + arco de 4 semanas, lista para clonar/recortar
└── blanco.json # starter mínimo para DESDE 0