Building an Agent for Assembling Pages on Elementor: From Idea to Working Pipeline
WordPress
Elementor
Figma
A developer described creating an agent that builds pages on WordPress + Elementor based on requests from Telegram. Key issues: task loss under parallel requests, duplicates, mixing questions with final answers, Elementor margin errors, and complexity of Figma integration. Solutions include a task queue on SQLite, a CLI interface for states, beta environment by default, and a strict Python compiler for Figma.
A developer described creating an AI agent for building pages on WordPress and Elementor, integrated with Telegram. The first version used MCP tools for Elementor, but quickly revealed issues: the user's request could be lost if they didn't respond immediately, duplicate tasks were created on repeated requests, and the agent tried to call MCP directly, bypassing the skill. To fix this, a task queue with SQLite was introduced, where a record is created before any user question, along with a check for open tasks and a strict rule to delegate work to the skill. For compound questions, a CLI next-question was implemented, asking one question at a time. Task states were also split into blocking (waiting, blocked, done) and non-blocking (ready) so that the agent continues execution if a step is possible without user input. For test isolation, page creation defaults to a beta environment, with promotion to production only through a separate transfer workflow. Elementor spacing errors were resolved with the elementor-spacing-builder.md module, which fixes differences between containers and widgets. The final answer was moved to a separate CLI result_cli.py, decoupling it from workflow questions. Build quality is checked only via CLI; self-asserting is forbidden. The most challenging part was integration with Figma: early versions of the compiler lost information, then they switched to a strict Python compiler that converts Figma JSON directly to Elementor JSON. By version 14, a semantic tree was added, separating semantics from layout. Asset export was also optimized: VECTOR paths are not exported as SVG, only components with explicit specification.
Source: Habr — хаб ИИ —
original
