Bricks Builder Reference
Technical documentation for using Respira with Bricks Builder: 20 Deep Intelligence tools, element-level editing, design system inspection, and safe editing workflows.
Bricks Builder Reference
Technical documentation for using Respira with Bricks Builder.
About Bricks
Bricks Builder is a modern, performance-focused WordPress page builder that stores content as lightweight JSON. It's known for clean code output, developer-friendly features, and over 80 elements. Respira has full native support for Bricks — including 20 dedicated Deep Intelligence tools that go beyond content editing into design system inspection, ACSS integration, query loops, and component management.
Support Level
Bricks has Full Native Support — the deepest integration level available in Respira:
- Element-level read/write with proper flat-array round-tripping
- 20 dedicated Bricks Deep Intelligence tools
- Design system inspection (colors, typography, theme styles, global classes)
- ACSS (Automatic.css) detection and import
- Query loop inspection
- Component management
- Widget shortcuts for all common Bricks element types
- CSS regeneration after every content change
- Cache invalidation on duplicate approval
Data Structure
Bricks stores page structure as JSON in post meta (_bricks_page_content_2). Elements are organized in a flat array — each element carries both a parent reference (pointing up) and a children array (pointing down by ID string). Respira handles this round-trip automatically.
{
"elements": [
{
"id": "abc123",
"name": "section",
"parent": 0,
"children": ["def456", "ghi789"],
"settings": { "tag": "section" }
},
{
"id": "def456",
"name": "heading",
"parent": "abc123",
"children": [],
"settings": {
"text": "Welcome to Our Site",
"_cssId": "hero-heading"
}
},
{
"id": "ghi789",
"name": "basic-text",
"parent": "abc123",
"children": [],
"settings": {
"text": "<p>Body copy goes here.</p>"
}
}
]
}
Note: parent: 0 means the element is a top-level root. Child IDs in children are strings, not integers.
Common Elements
| Element | Bricks Type | Key Settings |
|---|---|---|
| Section | section | tag, width, padding |
| Container | container | direction, layout, gap |
| Block | block | layout settings |
| Heading | heading | text, tag (h1–h6) |
| Basic Text | basic-text | text (HTML) |
| Rich Text | text-basic | text (HTML) |
| Button | button | text, link, style |
| Image | image | image (id, url, alt) |
| Icon | icon | icon, link |
| Video | video | videoType, videoId |
| Map | map | address, zoom |
| Search | search | placeholder |
| Social Links | social-links | items array |
| Pricing Table | pricing-table | title, price, features |
| Slider | slider | slides array |
| Divider | divider | style, width |
| Spacer | spacer | height |
Widget Shortcuts
When using respira_add_* shortcut tools, Respira maps generic widget names to the correct Bricks type automatically:
| Generic name | Bricks type |
|---|---|
text-editor | text-basic |
google-maps | map |
search-form | search |
social-icons | social-links |
price-table | pricing-table |
slides | slider |
Element Targeting
By CSS ID (Recommended)
Set in Bricks: Element → Style → CSS → ID. Then target with:
{ "css_id": "hero-heading" }
By Admin Label
Label important elements in the structure panel. Then target with:
{ "admin_label": "Hero CTA Button" }
By Type and Content
{ "type": "button", "match_content": "Get Started" }
By Path
{ "path": "elements[2]" }
Bricks Deep Intelligence Tools (v5.4.0+)
Respira ships 20 dedicated tools for deep Bricks inspection and management. These go beyond content editing — use them to audit and maintain the design system.
Design System
| Tool | What it does |
|---|---|
respira_bricks_design_system | Full design system snapshot: colors, typography, theme styles, global classes, breakpoints — everything in one call |
respira_get_bricks_color_palette | Read all color variables and their values |
respira_update_bricks_color_palette | Update one or more color variables site-wide |
respira_get_bricks_typography | Read all typography presets |
respira_update_bricks_typography | Update typography presets |
respira_get_bricks_theme_styles | Read global theme styles |
respira_update_bricks_theme_styles | Update theme styles |
Global Classes
| Tool | What it does |
|---|---|
respira_list_bricks_global_classes | List all registered global classes |
respira_create_bricks_global_class | Create a new global class with CSS properties |
respira_update_bricks_global_class | Update an existing global class |
respira_delete_bricks_global_class | Delete a global class |
Components & Templates
| Tool | What it does |
|---|---|
respira_list_bricks_components | List all Bricks components/templates |
respira_get_bricks_component | Get a specific component's structure |
respira_apply_bricks_component | Apply a component to a page location |
Health & Intelligence
| Tool | What it does |
|---|---|
respira_bricks_health_check | Audit the site for Bricks-specific issues: broken elements, missing classes, orphaned IDs |
respira_bricks_style_profile | Profile CSS usage patterns and identify redundancies |
respira_bricks_detect_acss | Detect if Automatic.css (ACSS) is installed and active |
respira_bricks_import_acss | Import ACSS variables into the Bricks color/typography system |
respira_bricks_query_loops | List and inspect all query loops on the site |
respira_search_bricks_elements | Search all pages for elements matching type, class, or content |
Element-Level Tools
These tools work with Bricks (and all other supported builders) for targeted edits without touching the full page structure:
| Tool | What it does |
|---|---|
respira_find_element | Search for elements by text, CSS class, type, or ID across a page |
respira_update_element | Update a single element's settings in-place |
respira_batch_update | Update multiple elements atomically (one extract, one inject) |
respira_move_element | Move an element to a different parent or position |
respira_duplicate_element | Clone an element (inserted after the original) |
respira_remove_element | Delete an element |
respira_reorder_elements | Reorder sibling elements within a container |
Example Prompts
Content updates:
- "Change the heading with CSS ID 'hero-heading' to 'Welcome Home'"
- "Update all button text 'Learn More' to 'Get Started'"
- "Replace the phone number in the footer section"
Design system:
- "Show me the full Bricks design system for this site"
- "What colors are defined in the Bricks color palette?"
- "Update the primary color to #E03D3D"
- "List all global classes that use font-size"
Structure & intelligence:
- "Run a Bricks health check on this site"
- "Find all query loops and list their sources"
- "Search for all elements with the class 'hero-btn'"
- "Is ACSS installed on this site?"
Page-level:
- "Extract the full Bricks structure for page 42"
- "Build a hero section with a heading, subheading, and CTA button"
- "Convert this HTML mockup to Bricks elements"
Global Elements & Templates
Bricks global elements and templates are accessible through Respira:
"List all Bricks templates" → respira_list_bricks_components
"Get the global header component" → respira_get_bricks_component
"Apply the hero template to page 12" → respira_apply_bricks_component
Limitations
- Complex interactions: Bricks scroll/click triggers are preserved but require the visual builder to configure
- Query loop data sources: Inspectable via
respira_bricks_query_loops, but changing the data source requires the builder - Display conditions: Preserved as-is; not directly editable via MCP
- Per-element custom CSS: Preserved; complex styling changes may be easier in the builder
See Also
respira_find_element— Find elements by content, type, or classrespira_update_element— Update a single elementrespira_extract_builder_content— Get full page structurerespira_inject_builder_content— Replace full page structurerespira_bricks_design_system— Full design system snapshot- Page Builder Overview — Compare all supported builders
v5.4.0 Elemental — Bricks Goes Deep
v5.4.0 ("Elemental series, part 2") shipped full native Bricks support including:
- 20 Bricks Deep Intelligence tools — design system, ACSS, global classes, components, health check, query loops, element search
- Element-level round-trip fix —
childrenarrays are now correctly rebuilt fromparentreferences after every write, so pages no longer appear blank in the editor after MCP edits - Widget shortcuts —
respira_add_text,respira_add_button, etc. now map to correct Bricks types automatically - Validation bypass fix —
batch_updateand structural operations no longer fail with "Content validation failed" on valid Bricks JSON
v5.2.0 Elemental — Foundation
v5.2.0 established the Bricks integration foundation:
- CSS Regeneration — Respira fires
do_action('bricks/generate_css_file', $post_id)after everyinject_content()call, so the frontend reflects changes immediately without a manual CSS rebuild - Cache Invalidation on Approval — When a duplicate is approved, Respira clears Bricks' page cache and triggers CSS regeneration on the original post
Last updated 2 days ago
Built with Documentation.AI