¿Qué hace Caroselli Canva (ex carosello-aurum)?
A partir del 13 de octubre de 2026, Davide prefiere el estilo de las diapositivas de la Lección 1 y quiere replicarlo para todos los carruseles: esos se hacen con la skill
caroselli-claude(sin Canva). Esta skill permanece para los carruseles en Canva.
Sustituye el método antiguo (plantilla Canva copiada a mano, fuente Anton sobre foto + banda oscura). Eso sigue siendo válido como estilo de referencia para las portadas de los reels ([[copertine-reel]]), ya no para los carruseles. También sustituye la skill global ig-carousel (Higgsfield/Nano Banana): esa genera imágenes AI y texto quemado dentro, ya no es nuestro flujo.
Antes de usar esta skill, el contenido (textos, estudios, tono) se prepara como se describe en [[caroselli]] (memoria/wiki): 5-6 preguntas a Davide, estudios reales verificados, voz en "tú" con Davide siempre impersonal (nunca "yo"). Esta skill parte de ahí y se ocupa solo de la producción gráfica.
Por qué este método y no el antiguo
edit-design (la herramienta usada para las portadas de los reels) es quirúrgico: modifica un elemento que ya existe, nunca puede elegir una fuente o un diseño para algo nuevo. create-design es diferente: se le envía un brief escrito y el motor AI de Canva mismo (el mismo de "Magic Design") decide fuente, diseño, iconos, jerarquía — no yo a mano. El resultado es un diseño real, con un gráfico diferente para cada diapositiva (punto de mira, números gigantes, lista de verificación, círculos numerados), no un collage. El precio: siempre llega con defectos que revisar — por eso la Fase 4 a continuación no es opcional.
Fase 1 — El brief
Un único brief textual (no un esquema estructurado — eso solo vale para design_type: presentation, que aquí no usamos) con:
- Formato:
"Instagram Post"(da 4:5, 1080x1350 — confirmado en este proyecto). - Tono: registro caballeresco/romano moderado, acordado con Davide el 25 de septiembre de 2026 tras una investigación — gladiador/espartano es el cliché más saturado del sector fitness/combate (Gladiator Gym Gear, Spartan Race...), el caballero está menos explotado y es coherente con lo ya escrito en [[cammino-guerriero]] (Musashi/Bushido = código individual, no disciplina de masas de una legión). Aún no fijado al 100% — Davide dijo que le gustan ambos registros y quiere encontrar "la mezcla adecuada" con el tiempo: pide confirmación si no ha pasado mucho tiempo desde la última vez, de lo contrario vuelve a proponer la misma mezcla (Anton/Roboto/OpenSauce, oro sobre negro, sin casco/escudo/gladio explícito, solo detalles discretos como números romanos).
- Colores: fondo negro/antracita, texto blanco, un solo acento en oro claro (zona
#c29342–#d8af54, varía ligeramente entre diapositivas porque lo genera la IA — no es un error, no es necesario uniformarlo). - Foto: SOLO la portada lleva foto (decidido por Davide el 24 de septiembre: las demás diapositivas se quedan gráficas/tipográficas, sin foto — así no es necesario gestionar muchas imágenes diferentes). En el brief escribe "SOLO la portada lleva foto... las otras 7 páginas son gráficas/tipográficas, sin foto".
- Estructura: enumera cada diapositiva como
PÁGINA N: ...con etiqueta, título, cuerpo y notas en cursiva donde se cite un estudio. La última página es el cierre con la CTA "guardado" (icono + dos líneas, ver Fase 4). - Indicador de desplazamiento: pide un indicador de página "1/8"…"8/8" + flecha en todas las páginas excepto la última (ya lo da así, luego en Fase 4 se convierte en números romanos).
- Logo/handle: "AURUM MILES" pequeño, discreto, en cada página.
Llama a create-design con este brief, user_intent breve, sin outline (estamos en Instagram Post, no Presentation).
Fase 2 — Esperar la generación
create-design es asíncrono: devuelve un job_id + continuation_token y un status: pending.
- Espera
polling_policy.wait_seconds(normalmente 10-15s) antes de la primera consulta. - Llama a
get-create-design-async-jobconjob_id+ el últimocontinuation_token. - Repite hasta que
status: completed— normalmente 4-6 rondas, no acortes la espera (la misma respuesta se devuelve idéntica, no acelera nada). UsaBashconsleeppara esperar, no llamadas seguidas. - El resultado da
design.idydesign.url— ese es el carrusel que hay que revisar y corregir.
Fase 3 — Control de calidad (siempre, sin excepciones)
Antes de mostrar cualquier cosa a Davide, lee todas las páginas (read-design, design_content sin page_indices para ver todo el texto de una vez) y verifica:
a) El orden físico de las páginas
El generador a veces crea las páginas en un orden diferente al escrito arriba de cada diapositiva ("N/8"). Compara el texto de cada página con la etiqueta que lleva; si una diapositiva está fuera de lugar, reordena con:
merge-designs, type: modify_existing_design, operations: [{type: move_pages, from_page_numbers: [N], to_after_page_number: M}]
Una operación por llamada — la herramienta rechaza lotes múltiples.
b) Diapositivas faltantes
El generador a veces salta una página del brief (ya ha pasado: 7 páginas en lugar de 8, faltaba el cierre). Si falta:
copy-designde la página más similar en estructura (ej. la última "corrección" para un cierre, no una página con un número-fantasma tipo "01" temático).- Reescribe los textos con
replace_textsobre los localizadores existentes (nuncaadd_textpara títulos — pierde la fuente elegida por el generador, ver nota técnica abajo). - Elimina los elementos decorativos que ya no sirven (ej. la fila de iconos de lista de verificación si se convierte en una CTA) con
delete_element. - Inserta la CTA final (icono + dos líneas, ver abajo).
- Inserta la página en su lugar con
merge-designs→insert_pages.
c) Texto "fantasma" en el fondo
Error recurrente de este generador: el texto original (antes de cualquier replace_text) a veces queda "quemado" dentro de la imagen de fondo de la página, no solo en el elemento de texto editable — reemplazar el texto no lo hace desaparecer del renderizado. Se ve como un escrito desvaído detrás del título o del cuerpo.
Solución: insert_shape con un rectángulo relleno (path M0,0 H<w> V<h> H0 Z), color cercano al negro de la página (#0e0e0e o #131110 son válidos), posicionado sobre toda la zona sucia — luego siempre layer_element con position: "back" en el mismo localizador, así el parche queda sobre el fondo rasterizado pero debajo del título/cuerpo/badge (que siguen siendo elementos separados, visibles). Si el fantasma sigue viéndose más abajo (ej. cerca de una lista), agranda el parche con resize_element hasta que no quede rastro — compruébalo siempre con el renderizado antes de darlo por cerrado.
d) Orden de superposición (z-order) en general
Cada elemento nuevo (insert_shape, add_text) se inserta siempre en la parte superior (delante de todo). Si añades algo que debe estar detrás del texto existente (como los parches anteriores), siempre necesitas layer_element: back después. Si, por el contrario, un elemento existente (logo, título, número de página) queda detrás de algo que has añadido, usa layer_element: front sobre él.
e) Números de página en romano
El generador hace "1/8", "2/8"… Sustituye por "I / VIII", "II / VIII"… hasta "VIII / VIII" en la última. El texto romano es más largo: casi siempre hay que agrandar la caja (resize_element, +100/150px de ancho) y reposicionar a la izquierda (position_element) para que no se salga de la flechita de al lado — verifica siempre el left del icono-flecha en la misma página y deja la caja del número justo antes de ella. La última diapositiva no tiene flecha (ya no hay nada que desplazar): deja solo "VIII / VIII" sin tocar nada más.
f) Fuente coherente
El generador asigna fuentes diferentes a elementos diferentes. No puedo elegir una fuente para un elemento nuevo o ya existente — ninguna operación lo permite (format_text solo cambia tamaño/peso/color/cursiva, nunca la familia). La única forma: Davide selecciona el texto en Canva (enlace del edit_url) y elige la fuente a mano, una vez por elemento; desde ahí lo reciclo en otros elementos con replace_text, que siempre preserva la fuente del elemento de destino. Si un carrusel nuevo sale con fuentes incoherentes entre diapositivas, es normal — pide a Davide que haga el mismo repaso rápido que ya ha hecho (títulos en una fuente, cuerpo en otra, etiquetas pequeñas en una tercera), luego corrige tú tamaños/espaciado.
g) Foto de portada
Si Davide envía una foto suya: create-upload-url (no upload-asset-from-url, ese quiere una URL pública) → una POST directa del archivo a la URL de un solo uso recibida → mediaId → update_fill sobre el rect-foto de la portada. El recorte automático de Canva suele ser bueno en fotos verticales o cuadradas; verifícalo con el renderizado antes de ajustar a mano con crop_media. Las demás diapositivas se quedan sin foto (ver Fase 1).
Fase 4 — La CTA final (diapositiva de cierre)
Estándar fijado con Davide (22-25 de septiembre de 2026), a reproducir igual cada vez:
- Icono de marcador (
insert_shape, pathM0,0 H34 V44 L17,30 L0,44 Z, color oro) en la misma línea que la primera línea de CTA, no encima. - Línea 1 (la acción, ej. "GUÁRDALO ANTES DEL PRÓXIMO SPARRING."): mayúsculas, negrita, NO cursiva, color oro.
- Línea 2 (el plus, ej. "Envíalo a quien deba subir la próxima vez."): minúsculas excepto la inicial, cursiva, mismo oro — un tono más claro. Atención al texto: no limites demasiado el público objetivo (ej. no "quien sube por primera vez" si el mensaje debe valer para cualquiera que vuelva al ring, no solo los principiantes — depende del contenido específico, pregunta a Davide si el primer borrador parece demasiado restrictivo).
- Bloque separado con un espacio vertical real del párrafo superior (~150px), no pegado — de lo contrario parece la continuación de la misma frase.
- Dos líneas = dos elementos de texto distintos (no un
\ndentro de uno solo), porque cada una lleva un formato diferente.
Fase 5 — Entrega
export-design, formatopng,width: 1080, height: 1350, sinpages(todas juntas) una vez que la Fase 3 esté cerrada.- Descarga cada PNG y guárdalos en
Caroselli elaborati/AAMMGG_Titulo/1.png … 8.png(misma carpeta que el texto,slide_,caption_,note_— ver [[caroselli]] y [[produzione-contenuti]]). - Envía una hoja de contacto o las 8 imágenes a Davide antes de darlo por definitivo — siempre hay una ronda de correcciones, no des por aprobado al primer export.
- Control previo a la publicación: cuenta los PNG exportados (N) y en el mensaje de entrega recuerda explícitamente a Davide que verifique que todas las N diapositivas estén en cola en Instagram antes de presionar publicar (ej. "Son N diapositivas, 1.png...N.png — verifica que estén todas antes de publicar"). Ya ha pasado (carrusel #8) que una diapositiva se quedara fuera por olvido al cargar, sin que nadie se diera cuenta antes de la publicación — no afectó al resultado esa vez, pero es un control de costo cero.
- Solo tras su aprobación: registra en
memoria/wiki/log.md, actualiza el estado en [[caroselli]].
Estándares de maquetación — fijados por Davide el 2 de octubre de 2026 sobre #12 (válidos para cada carrusel a partir de ahora)
Después del clon-de-#8 (ver abajo), Davide corrigió a mano en Canva una serie de detalles que se repiten idénticos en cada diapositiva "con encabezado" (etiqueta + numeración romana + flecha arriba, tipo "Técnica N"). Estas son las medidas/criterios fijos a aplicar desde ahora, no a redescubrir diapositiva por diapositiva:
- Numeración romana alineada con la etiqueta: el
topdel número romano debe coincidir (o casi) con eltopde la etiqueta al lado ("Técnica 2", "Por qué", etc.), no estar más arriba o más abajo por su cuenta. Misma línea, misma altura visual. - Flecha: fuente/tamaño
~32-36px, color siempre#c29342(oro estándar, ver abajo). La flecha queda justo después del número romano con un pequeño espacio limpio (~15-20px), nunca pegada. - Divisor horizontal bajo el encabezado: cuando exista (diapositiva con línea bajo la etiqueta), que ocupe casi todo el ancho (orden de
560-930px), no un trazo corto — corta limpio bajo todo el bloque etiqueta+numeración, no solo bajo la etiqueta. - Cuerpo de texto en negrita: el cuerpo de texto (no el título, no las citas) debe ir en
font_weight: bold, nonormal/medium— representación más llena y legible sobre fondo negro. Los párrafos breves y consecutivos (ej. "frase 1:" + "frase 2.") se pueden agrupar en un único elemento de texto en lugar de mantenerlos separados, si lógicamente son una sola frase partida en dos líneas. - Blanco nunca puro:
#ffffffdebe sustituirse por#f1f1f1en texto blanco y logo "Aurum Miles" — ligeramente menos duro contra el negro. - CTA final (icono+2 líneas): el icono de guardado y la primera línea de texto ("GUÁRDALO...") comparten el mismo
top(misma línea, no icono-más-arriba-texto-más-abajo), con ~25-30px de separación horizontal entre el borde derecho del icono y el inicio del texto.
Error confirmado: resize_element sobre iconos con relleno de imagen
No se puede resolver por nuestra parte: redimensionar mediante API un icono con relleno de imagen (flechas, badges) lo recorta en lugar de escalarlo (ver nota en [[caroselli]]). Cuando se necesite una flecha/icono más pequeño, no uses resize_element: o se deja en el tamaño nativo y se trabaja en la posición, o — si Davide lo ajusta a mano en Canva — se nota que allí el redimensionamiento funciona bien (el editor real escala el contenido correctamente, solo la operación API tiene el error). Señal concreta de que algo se ha roto así: un elemento cercano a un texto con textAlign: end que parece "invertido" — probable fragmento de icono roto superpuesto, no un error en el texto.
Notas técnicas varias (que no redescubrir cada vez)
merge-designs: una operación por llamada, siempre.resize-design(el del método antiguo con plantilla Canva) es de uso limitado/prueba — ya no es necesario con este flujo,create-designgenera ya en el formato correcto.- Si se necesita conservar una versión del diseño antes de modificarla, usa
copy-designantes de empezar las correcciones de la Fase 3. - La CTA final (icono + dos líneas) debe respetar el estándar exacto descrito en la Fase 4 — no hay variaciones permitidas sin consultar a Davide.
- Siempre que sea posible, trabaja con
replace_textsobre localizadores existentes para preservar la fuente; evitaadd_texta menos que sea estrictamente necesario (como insertar la línea 2 de la CTA, que no existe previamente). - La numeración romana en la última diapositiva ("VIII / VIII") no lleva flecha; asegúrate de que el elemento de la flecha se haya eliminado o esté oculto.
Historial de cambios
- 13 oct 2026: Se actualiza la nota introductoria para reflejar que Davide prefiere el estilo de la Lección 1 para todos los carruseles, redirigiendo a
caroselli-claude. Esta skill se mantiene solo para carruseles en Canva. - 2 oct 2026: Se añaden estándares de maquetación fijos tras la revisión de #12.
- 25 sep 2026: Se fija el tono caballeresco/romano moderado tras investigación de clichés.
- 24 sep 2026: Se decide que solo la portada lleva foto.
Documento generado para uso del agente AI. Todas las referencias a [[...]] son enlaces a entradas de la memoria interna del proyecto.