Kodavio

Uso diario

Bricks, CrocoBuilder y Elementor

Bricks, CrocoBuilder y Elementor

El plugin trabaja con builders mediante un modelo semantico intermedio. Codex puede analizar una pagina de origen, entender su estructura y crear una nueva pagina en el builder de destino.

El objetivo no es solo copiar JSON interno. El objetivo es que Codex entienda la pagina: que secciones hay, que jerarquia visual tiene, que componentes se repiten, que tokens de diseno usa, que partes dependen de datos dinamicos y que elementos requieren revision manual.

Regla de implementación visual

En Bricks y Elementor, prioriza siempre clases globales y tokens del sistema de diseño. Evita CSS personalizado en widgets salvo excepción explícita.

Crear paginas con un builder

Crear una pagina no deberia empezar por "escribe una pagina". El flujo correcto es pedir a Codex que prepare una estructura, la valide contra el builder y solo despues cree un borrador.

Kodavio no es el creativo de la pagina. El MCP sirve para que Codex sepa como crearla en Bricks, Elementor o Gutenberg: que entidad usar, que estructura espera el builder, que campos son seguros, que tokens existen y que confirmaciones hacen falta. El copy, la direccion visual, la jerarquia, los CTAs y el criterio editorial los debe aportar el agente antes de llamar a las abilities de creacion.

FaseQue hace CodexQue debes revisar
ContextoLee builders activos, design.md, plantillas y plugins relevantes.Que ha detectado el builder correcto.
ArquitecturaPropone secciones, jerarquia, componentes y CTAs.Que la pagina responde al objetivo real.
ContratoConvierte su propuesta en content_model.sections o bloques compatibles.Que no usa elementos sin adapter seguro.
dry_runMuestra que crearia sin guardar.Payload, warnings, formularios y dependencias.
EscrituraCrea draft, template o componente con confirmacion.ID, estado, builder y enlace de edicion.
VerificacionLee la pagina creada y ejecuta health checks.Que el editor abre y no hay errores obvios.

kodavio/bricks-create-page y kodavio/elementor-create-page empiezan en dry_run=true y requieren content_model.sections o sections ya pensadas por el agente. kodavio/gutenberg-create-page requiere blocks ya estructurados. Para crear de verdad, repite el payload con dry_run=false y confirm_write=true.

Antes de crear templates o componentes reutilizables, pide kodavio/builder-template-storage-strategy. La regla por defecto es no escribir plantillas generadas en archivos del child theme: Bricks y Elementor deben usar entidades del builder en base de datos, y Gutenberg debe preferir patrones o templates guardados como contenido cuando el sitio lo soporte. Los archivos del tema hijo pertenecen al ciclo de release de Flowkit.

Prompt base:

Crea una pagina nueva con el builder mas adecuado del sitio.

Primero:
- detecta builder activo y capacidades disponibles;
- lee design.md;
- escribe el copy inicial y propone estructura de secciones;
- indica widgets, bloques o elementos que vas a usar;
- prepara un content_model o bloques concretos; no delegues el copy al MCP;
- haz dry_run;
- no escribas nada hasta que confirme.

Bricks

Con Bricks puede trabajar con:

  • Paginas.
  • Templates.
  • Componentes.
  • Sistema de diseno.
  • Estructura de secciones y elementos.
  • Arbol nativo de nodos.
  • Formularios nativos con contrato seguro.
  • Esquemas de elementos para crear o editar con menos riesgo.

Para trabajos serios en Bricks, pide este orden:

  1. Leer la pagina o template.
  2. Leer design.md y variables globales si aplica.
  3. Si hay formularios, inspeccionar el schema antes de tocar nada.
  4. Hacer cambios en nodos concretos o crear una entidad nueva en borrador.
  5. Ejecutar health check y editor-open check.

Capacidades Bricks

NecesidadHabilidades implicadasUso practico
Crear pagina/template/componentekodavio/bricks-create-pageCrear una entidad inicial en borrador.
Leer entidadkodavio/bricks-get-page, kodavio/bricks-tree-readEntender la estructura antes de editar.
Editar arbolkodavio/bricks-node-create, kodavio/bricks-node-update, kodavio/bricks-node-move, kodavio/bricks-node-duplicate, kodavio/bricks-node-deleteAjustar secciones o componentes sin reescribir toda la pagina.
Formularioskodavio/bricks-form-inspect-schema, kodavio/bricks-form-create, kodavio/bricks-form-validate, kodavio/bricks-form-repairCrear o reparar formularios nativos con contrato controlado.
Esquemaskodavio/bricks-list-elements, kodavio/bricks-get-element-schemaSaber que elementos se pueden generar con seguridad.

Cuando pidas una pagina nueva en Bricks, concreta si quieres page, template o component. Si no lo dices, Codex deberia preguntarlo o crear una pagina draft normal.

Nodos nativos antes que HTML

Bricks debe quedar editable como Bricks. Codex no deberia meter <section>, <div>, <h2>, <style> o layouts completos dentro de text-basic o campos de texto. Para estructura debe crear nodos nativos; para cambiar la etiqueta de un heading u otro elemento debe usar ajustes como settings.tag.

Formularios Bricks

Los formularios no deberian crearse como nodos genericos sin contrato. Pide que Codex use el flujo de formulario: inspeccionar schema, crear o reparar con contrato seguro, validar y despues hacer health check de la pagina.

Novedades de Bricks en la 0.3.2

  • Ya no se guardan ids repetidos. Antes, insertar contenido con los elementos en otro orden podía guardar varios con el mismo id y dejar la página sin poder editarse. Ahora Kodavio no escribe un árbol con ids repetidos y, si lo guardado no coincide con lo enviado, devuelve la página a como estaba y te dice qué falló.
  • Editar y borrar componentes nativos. Tu agente edita un componente de Bricks con kodavio/bricks-update-native-component y el cambio llega a todas las páginas que lo usan; lo borra con kodavio/bricks-delete-native-component, que se niega mientras alguna página, plantilla u otro componente lo use y te dice cuáles. Las dos pasan por las capacidades de Bricks, con ensayo y confirmación.
  • Encender la API de capacidades de Bricks. Bricks 2.4 trae sus propias capacidades, pero vienen apagadas en sus ajustes. Tu agente puede encenderlas con kodavio/bricks-enable-abilities: guarda copia, pide confirmación doble y funcionan desde la siguiente petición. Deshacerlo las apaga otra vez.
  • Etiqueta y ancla. Las secciones y grupos conservan su etiqueta (section, ul, figure, blockquote…) y su ancla (id), así que los enlaces dentro de la página siguen funcionando.
  • La comprobación de salud lee la página servida y comprueba que la página y su CSS se han cargado. También revisa cabeceras, pies y plantillas de archivo.
  • Tras guardar una plantilla con filtros, el manual del agente le indica reindexar los filtros de Bricks (bricks/reindex-filters, una de las capacidades de Bricks que se encienden arriba).

CrocoBuilder

Disponible a partir de la 0.3.2

En la 0.3.1 y anteriores, Kodavio solo creaba páginas nuevas de CrocoBuilder. Desde la 0.3.2 también edita páginas y plantillas existentes.

Con CrocoBuilder tu agente puede:

  • Crear una página desde un modelo de secciones o desde HTML. Lo de HTML funciona aunque el sitio no tenga Bricks.
  • Reescribir una página existente sin cambiarle el id. El estado y el título no cambian: un borrador sigue en borrador.
  • Reescribir la cabecera, el pie y las plantillas de entrada y de archivo.
  • Cambiar un elemento concreto: sus clases, su etiqueta, su ancla o sus propiedades, sin tocar el resto. Sirve también en plantillas con bucles y paginación, que no conviene reescribir enteras.
  • Leer y corregir las condiciones de las plantillas: en qué páginas se aplica cada una.

Antes de cada escritura, el ensayo enseña lo que se va a escribir y cuenta todos los elementos. Al escribir, Kodavio guarda copia del documento, y deshacer lo devuelve exactamente como estaba.

NecesidadHabilidades implicadasUso practico
Leer una página o plantillakodavio/builder-analyze-pageVer su estructura antes de tocarla.
Crear o reescribirkodavio/builder-create-from-modelPágina nueva, o una existente con su post_id. Las plantillas, con source_id=theme_builder_template.
Cambiar elementos sueltoskodavio/crocobuilder-apply-patchClases, etiqueta, ancla o propiedades de un elemento por su id.
Condiciones de plantillaskodavio/crocobuilder-template-conditionsListar plantillas, leer y corregir dónde se aplican.
Ver antes de publicarkodavio/page-previewLa página con el cambio aplicado solo en la vista previa. Ver Administración segura.

Prompt recomendado:

Rediseña la página 123, que está hecha con CrocoBuilder.

Primero:
- lee la página con builder-analyze-page;
- propón la estructura nueva y el texto;
- haz el ensayo y enséñame el árbol que vas a escribir;
- no escribas hasta que confirme.

Al terminar, comprueba la página servida y dame la referencia para deshacerlo.

Condiciones vacías

Una condición de plantilla sin valor (por ejemplo, «entrada individual» sin decir cuáles) se aplica a mucho más de lo que parece: así acabó la plantilla del blog pintando los productos de una tienda. Kodavio avisa al leerla y no deja guardarla: pide los ids o «todas».

Enlaces que envuelven bloques

Kodavio escribe los enlaces de CrocoBuilder como elementos sueltos, sin bloques dentro. Para una tarjeta entera clicable, la tarjeta es un grupo con su título, texto e imagen, y lleva dentro un único enlace que se estira con CSS sobre toda la tarjeta.

Si conviertes HTML con un enlace que envuelve bloques, Kodavio lo resuelve solo así y te devuelve el CSS que hay que añadir.

Conversión con Bricks

  • CrocoBuilder se reconoce solo, sin tener que decir el builder.
  • La comparación entre la página de origen y la convertida mide el contenido (titulares, textos, enlaces, imágenes…), no la estructura interna, que no significa lo mismo en los dos builders. Ya no salen pérdidas que no existen.
  • Los botones de Bricks ya no se pierden al convertir.
  • Para lo que no tiene equivalente en el otro builder, kodavio/piece-plan propone una pieza editable con todas sus apariciones.
  • CrocoBuilder no guarda el texto alternativo de las imágenes.

Elementor

Elementor puede aparecer en varios modos:

  • Legacy con sections y columns.
  • Contenedores flexbox.
  • Estructuras modernas con elementos mas atomicos cuando el sitio lo soporte.

Cuando pidas trabajo sobre Elementor, indica si quieres conservar el modo actual o preparar una migracion hacia una estructura mas moderna.

El plugin puede leer y operar el arbol nativo de Elementor, crear nodos y validar settings de widgets conocidos. Para Elementor es especialmente importante indicar el modo:

ModoComo reconocerloRecomendacion
LegacySections y columns clasicas.Mantener si la pagina ya existe y solo hay cambios pequenos.
Flexbox containersContainers como estructura principal.Preferido para paginas nuevas en sitios actuales.
Estructuras atomicasElementos mas granulares cuando el sitio lo soporte.Usar solo si el sitio ya trabaja asi o la migracion esta planificada.

Si migras de legacy a una estructura moderna, pide primero un plan de equivalencias: secciones, columnas, containers, widgets, breakpoints, gaps y estilos heredados.

En migraciones v3 legacy hacia v4_v3, una section con varias columns debe convertirse en un container padre con flex_direction=row en desktop. Cada columna legacy pasa a un container hijo y conserva _inline_size o _column_size como width y flex_basis. Si el origen no trae overrides responsive, tablet y mobile apilan en column por defecto.

Capacidades Elementor

NecesidadHabilidades implicadasUso practico
Crear pagina/templatekodavio/elementor-create-pageCrear una entidad inicial en modo auto, legacy/flex o modo moderno si procede.
Leer entidadkodavio/elementor-get-page, kodavio/elementor-tree-readVer el arbol y los settings guardados.
Inspeccionar modokodavio/elementor-mode-inspectDetectar si una pagina usa legacy, flexbox containers o atomic_v4.
Migrar modokodavio/elementor-migrate-modeCrear un borrador paralelo en atomic_v4 o v4_v3 sin modificar la pagina original.
Validar CSS generadokodavio/elementor-validate-rendered-cssRegenerar CSS de Elementor y detectar declaraciones rotas como font-family: ;.
Limpiar tipografia hardcodedkodavio/elementor-clear-typography-overridesQuitar familias fijas de forma semantica, preservando size/weight cuando existan.
Aplicar preset del Kitkodavio/elementor-set-widget-typography-presetSustituir overrides de widgets por presets globales del Kit.
Editar arbolkodavio/elementor-node-create, kodavio/elementor-node-update, kodavio/elementor-node-move, kodavio/elementor-node-duplicate, kodavio/elementor-node-deleteCambios quirurgicos en containers, sections o widgets.
Reparar layout flexkodavio/elementor-apply-changes con set_container_layoutCambiar flex_direction, width, flex_basis y responsive de containers existentes sin reemplazar todo _elementor_data.
Esquemaskodavio/elementor-list-widgets, kodavio/elementor-get-widget-schema, kodavio/elementor-validate-widget-settingsEvitar settings invalidos antes de escribir.

Para paginas nuevas, normalmente conviene pedir flexbox containers salvo que el sitio este claramente en legacy o ya trabaje con atomic v4. Para migraciones a v4, empieza con kodavio/elementor-migrate-mode en dry_run=true, revisa warnings y despues crea un borrador con dry_run=false, confirm_create=true, target_mode=atomic_v4.

Si un borrador flex queda apilado por error, no reescribas toda la pagina. Lee el arbol con kodavio/elementor-tree-read, localiza el container padre y aplica set_container_layout con flex_direction=row, los valores responsive que correspondan y validate_after_write=true.

Para cambios de tipografia en Elementor, evita borrar primitives manualmente. Usa primero kodavio/elementor-clear-typography-overrides con dry_run=true. Si una familia es el unico override del bloque, Kodavio elimina todo el bloque de tipografia; si hay size, weight o line-height, deja font_family como string vacio para heredar el Kit sin provocar CSS invalido.

Gutenberg

Gutenberg se trata como builder nativo. Puede ser destino de conversiones cuando quieres contenido mas portable, editorial o mantenible por WordPress sin depender de builder visual.

Es buen destino para:

  • Landings simples.
  • Paginas de contenido.
  • Patrones reutilizables.
  • CTAs y bloques editoriales.
  • Contenido que no necesita interacciones complejas del builder.

No es el mejor destino si la pagina depende de widgets avanzados, layouts muy libres, formularios complejos, query loops de builder o efectos visuales muy especificos.

Capacidades Gutenberg

NecesidadHabilidades implicadasUso practico
Ver bloques disponibleskodavio/gutenberg-list-block-typesSaber que bloques core o de terceros existen.
Leer paginakodavio/gutenberg-read-pageParsear contenido como bloques.
Validarkodavio/gutenberg-validate-blocksComprobar estructura antes de escribir.
Crear/actualizar paginakodavio/gutenberg-create-page, kodavio/gutenberg-update-pageCrear contenido nativo con dry_run y confirm_write.
Patroneskodavio/gutenberg-list-patterns, kodavio/gutenberg-create-pattern, kodavio/gutenberg-update-patternCrear piezas reutilizables.

Gutenberg es especialmente util cuando quieres que el resultado sea editable por cualquier usuario de WordPress sin abrir un builder visual.

Conversion entre builders

Empieza siempre con dry_run:

Analiza la pagina con ID 123 y prepara una conversion a Bricks.

Haz primero solo dry_run:
- resume estructura, secciones y widgets detectados;
- indica que se convertira bien;
- indica que partes necesitan revision manual;
- no crees ninguna pagina todavia.

Para conversiones con datos dinamicos, formularios, ecommerce o frameworks de diseno, pide a Codex que cargue primero estos playbooks: builder-conversion-advanced, design-frameworks, dynamic-data-binding y los especificos que apliquen (acf-integration, jetengine-integration, fluent-suite, woocommerce-operations).

Si el plan esta bien:

Crea una nueva pagina en borrador a partir de la conversion anterior.

Condiciones:
- no modifiques la pagina original;
- estado: draft;
- usa el sistema de diseno del sitio;
- despues verifica que la pagina creada se puede recuperar y resume avisos.

Modelo semantico

Las conversiones modernas usan un modelo semantico intermedio. Esto permite analizar una pagina de Bricks, Elementor o Gutenberg y crear una nueva en otro builder sin depender de un conversor directo para cada combinacion.

El modelo deberia recoger:

  • estructura de secciones;
  • jerarquia de contenidos;
  • componentes repetidos;
  • estilos relevantes;
  • bindings dinamicos;
  • comportamiento responsive;
  • formularios y acciones;
  • fidelidad esperada;
  • partes que necesitan revision manual.

Como funciona una conversion

PasoHabilidad conceptualQue produce
InventarioLeer pagina origen y builder config.Arbol, widgets, bloques, meta y dependencias.
Analisiskodavio/builder-analyze-pageModelo semantico con secciones, layout y notas de fidelidad.
Plankodavio/builder-conversion-planPasos de materializacion, warnings y decision de destino.
Creacionkodavio/builder-create-from-model o kodavio/builder-transfer-pageBorrador nuevo en el builder destino.
Comparacionkodavio/builder-conversion-diffDiferencias, score de fidelidad y tareas manuales.
Estadokodavio/conversion-statusCoexistencia, backups, markers y reportes.

Tambien existen conversores directos entre Bricks y Elementor. Usalos cuando el caso es simple o cuando quieres compatibilidad con el flujo anterior. Para resultados de mayor calidad, pide el flujo semantico.

Importante

Una conversion automatica debe crear un borrador nuevo. No modifiques ni limpies la pagina original hasta revisar visualmente el resultado y confirmar que hay rollback.

Conversiones soportadas y ampliables

El sistema esta preparado para que cada builder aporte dos piezas: lectura hacia el modelo semantico y escritura desde el modelo semantico. Con esa arquitectura se pueden soportar nuevas combinaciones sin crear parches aislados.

OrigenDestinoEnfoque
BricksElementorAnalizar arbol Bricks y materializar containers/widgets Elementor.
ElementorBricksAnalizar arbol Elementor y materializar secciones/elementos Bricks.
BricksGutenbergSimplificar a bloques y patrones cuando tenga sentido.
GutenbergBricksExpandir bloques hacia secciones visuales con tokens de diseno.
ElementorGutenbergConvertir estructura editorial y CTAs; revisar widgets complejos.
GutenbergElementorCrear contenedores/widgets desde bloques nativos.
BricksCrocoBuilderTexto, estilo y estructura anidada; comparación por contenido.
CrocoBuilderBricksIgual, en el otro sentido.
HTMLCrocoBuilder o BricksKodavio lee el HTML con su propio analizador, también sin Bricks en el sitio.

Widgets, elementos y terceros

Bricks y Elementor tienen ecosistemas enormes. El plugin puede listar esquemas conocidos y descubrir integraciones de terceros, pero no debe escribir configuraciones desconocidas a ciegas.

Flujo recomendado:

  1. Listar elementos/widgets disponibles.
  2. Leer schema del elemento si existe.
  3. Validar settings antes de crear.
  4. Usar shortcode o bloque seguro si no hay adapter.
  5. Marcar como revision manual lo que no se pueda garantizar.

Si un plugin externo expone abilities propias, Kodavio puede descubrirlas y mapearlas. Para ejecutarlas como parte de un flujo estable hace falta adapter explicito o confirmacion muy controlada.

Como interviene el sistema de diseno

design.md debe leerse antes de crear o convertir. Codex lo usa para:

  • elegir tokens existentes en vez de inventar valores;
  • mantener tipografias y escalas;
  • respetar spacing y breakpoints;
  • decidir variantes de botones, cards y CTAs;
  • convertir clases o variables de un framework a otro;
  • marcar conflictos cuando el builder destino no tiene equivalente directo.

Si una pagina convertida "se parece" pero no respeta la marca, normalmente falta una de estas dos cosas: un design.md limpio o una lectura previa del sistema activo.

Limpieza posterior

No limpies datos antiguos del builder hasta revisar el resultado. La limpieza debe ser una accion separada, manual y con confirmacion.

Antes de limpiar, pide:

  • estado de coexistencia;
  • que metadata existe de cada builder;
  • backups disponibles;
  • pagina destino confirmada;
  • dry_run de limpieza;
  • confirmacion destructiva solo al final.
Previous
Alcance y exportación