Edit Elementor pages and manage templates on WordPress sites. Workflow: identify page, choose editing method (browser or WP-CLI), execute, verify. Use when editing Elementor pages, updating text in Elementor widgets, applying or managing Elementor templates, or making content changes to pages built with Elementor page builder.
Edits Elementor pages and manages templates via browser automation or WP-CLI commands.
npx claudepluginhub jezweb/claude-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/elementor-workflows.mdEdit Elementor pages and manage templates on existing WordPress sites. Produces updated page content via browser automation (for visual/structural changes) or WP-CLI (for safe text replacements).
wp @site plugin status elementorFind the page to edit:
# List Elementor pages (pages with _elementor_data meta)
wp @site post list --post_type=page --meta_key=_elementor_edit_mode --meta_value=builder \
--fields=ID,post_title,post_name,post_status
# Get the Elementor edit URL
# Format: https://example.com/wp-admin/post.php?post={ID}&action=elementor
| Change Type | Method | Risk |
|---|---|---|
| Text content updates | WP-CLI search-replace | Low (with backup) |
| Image URL swaps | WP-CLI meta update | Low (with backup) |
| Widget styling | Browser automation | None |
| Add/remove sections | Browser automation | None |
| Layout changes | Browser automation | None |
| Template application | Browser automation | None |
Rule of thumb: If you're only changing text or URLs within existing widgets, WP-CLI is faster. For anything structural, use the visual editor via browser.
Always back up first:
# Export the Elementor data
wp @site post meta get {post_id} _elementor_data > /tmp/elementor-backup-{post_id}.json
Simple text replacement:
# Dry run — check what would change
wp @site search-replace "Old Heading Text" "New Heading Text" wp_postmeta \
--include-columns=meta_value \
--dry-run --precise
# Execute (after confirming dry run looks correct)
wp @site search-replace "Old Heading Text" "New Heading Text" wp_postmeta \
--include-columns=meta_value --precise
After updating, clear Elementor's CSS cache:
wp @site elementor flush-css
If the elementor WP-CLI command isn't available:
wp @site option delete _elementor_global_css
wp @site post meta delete-all _elementor_css
For structural changes, use browser automation to interact with Elementor's visual editor.
Open the editor:
https://example.com/wp-admin/post.php?post={ID}&action=elementorCommon editing tasks:
Use playwright-cli for independent sessions:
playwright-cli -s=wp-editor open "https://example.com/wp-admin/"
# Login first, then navigate to Elementor editor
playwright-cli -s=wp-editor navigate "https://example.com/wp-admin/post.php?post={ID}&action=elementor"
Or Chrome MCP if using the user's logged-in session.
See references/elementor-workflows.md for detailed browser automation steps.
List saved templates:
wp @site post list --post_type=elementor_library --fields=ID,post_title,post_status
Apply a template to a new page:
wp @site post create --post_type=page --post_title="New Page" --post_status=draftDuplicate an existing page:
# Get source page's Elementor data
SOURCE_DATA=$(wp @site post meta get {source_id} _elementor_data)
SOURCE_CSS=$(wp @site post meta get {source_id} _elementor_page_settings)
# Create new page
NEW_ID=$(wp @site post create --post_type=page --post_title="Duplicated Page" --post_status=draft --porcelain)
# Copy Elementor data
wp @site post meta update $NEW_ID _elementor_data "$SOURCE_DATA"
wp @site post meta update $NEW_ID _elementor_edit_mode "builder"
wp @site post meta update $NEW_ID _elementor_page_settings "$SOURCE_CSS"
# Regenerate CSS
wp @site elementor flush-css
# Check the page status
wp @site post get {post_id} --fields=ID,post_title,post_status,guid
# Get live URL
wp @site post get {post_id} --field=guid
Take a screenshot to confirm visual changes:
playwright-cli -s=verify open "https://example.com/{page-slug}/"
playwright-cli -s=verify screenshot --filename=page-verify.png
playwright-cli -s=verify close
Elementor stores page content as JSON in _elementor_data postmeta. The structure is:
Section → Column → Widget
Each element has an id, elType, widgetType, and settings object. Direct manipulation of this JSON is possible but fragile — always back up first and prefer search-replace over manual JSON editing.
After any WP-CLI change to Elementor data, you must flush the CSS cache. Elementor pre-generates CSS from widget settings. Stale cache = visual changes don't appear.
wp @site elementor flush-css
# OR if elementor CLI not available:
wp @site option delete _elementor_global_css
wp @site post meta delete-all _elementor_css
| Feature | Free | Pro |
|---|---|---|
| Basic widgets | Yes | Yes |
| Theme Builder | No | Yes |
| Custom fonts | No | Yes |
| Form widget | No | Yes |
| WooCommerce widgets | No | Yes |
| Dynamic content | No | Yes |
Theme Builder templates (header, footer, archive) are stored as elementor_library post type with specific meta indicating their display conditions.
If the Elementor CLI extension is available:
wp @site elementor flush-css # Clear CSS cache
wp @site elementor library sync # Sync with template library
wp @site elementor update db # Update database after version change
references/elementor-workflows.md — Browser automation steps, template management, safe editing patternsCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.