Help us improve
Share bugs, ideas, or general feedback.
From cms-cultivator
Creates WordPress block patterns from Figma designs or screenshots, generating PHP pattern files, SCSS stylesheets, and editor styles with accessibility and responsive defaults.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cms-cultivator:design-to-wp-blockThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create production-ready WordPress block patterns from Figma designs or screenshots using the design-specialist agent.
Share bugs, ideas, or general feedback.
Create production-ready WordPress block patterns from Figma designs or screenshots using the design-specialist agent.
Arguments: [design-source] [pattern-name] [theme-namespace]
When Task() is unavailable but design data can be accessed:
wp-content/themes/{theme}/patterns/{pattern-slug}.php with proper WordPress pattern headersesc_html_e(), esc_attr_e())wp-content/themes/{theme}/assets/styles/scss/patterns/_{pattern-slug}.scss
@prefers-reduced-motion support_{pattern-slug}-editor.scss for block editor stylingNote for Tier 1 with Figma: Figma MCP tools are only available in the main Claude Code conversation, not subagents. Fetch design context in the main conversation before activating this skill.
When running in Claude Code with Task() and Figma MCP available:
Step 1: Fetch Design Data in Main Conversation
If design source is a Figma URL:
ToolSearch(query: "select:mcp__plugin_figma_figma__get_design_context")
mcp__plugin_figma_figma__get_design_context(fileKey, nodeId, clientLanguages: "html,css,php", clientFrameworks: "wordpress")
mcp__plugin_figma_figma__get_screenshot(fileKey, nodeId)
Extract: colors (hex), typography, spacing, layout structure, component hierarchy.
Step 2: Spawn design-specialist for code generation
Agent(subagent_type="cms-cultivator:design-specialist:design-specialist",
prompt="Create a WordPress block pattern from the provided design specifications.
## Design Specifications (Pre-Fetched)
{extracted colors, typography, spacing, layout structure}
## Pattern Details
- Pattern Name: {pattern-name}
- Theme: {theme-namespace or auto-detect}
## Requirements
- Native WordPress blocks only (Group, Cover, Heading, Paragraph, Buttons, Image, Columns)
- Pattern file: wp-content/themes/{theme}/patterns/{pattern-slug}.php
- Mobile-first, WCAG AA, 44px touch targets
## Output Required
Return the structured report including:
- Generated file paths
- SCSS paths section (component name, front-end path, editor path)
- Design specifications section (colors, typography, spacing)
- Test page URL and screenshots directory")
Step 3: Spawn responsive-styling-specialist using the SCSS paths and design specs from Step 2 output:
Agent(subagent_type="cms-cultivator:responsive-styling-specialist:responsive-styling-specialist",
prompt="Generate mobile-first responsive SCSS for the {pattern-name} WordPress block pattern.
Component: {component from design-specialist output}
File paths:
- Front-end: {front-end SCSS path from design-specialist output}
- Editor: {editor SCSS path from design-specialist output}
Design specifications:
{colors, typography, spacing from design-specialist output}
Requirements:
- Mobile-first (base → 768px → 1024px)
- WCAG AA color contrast (4.5:1 normal text, 3:1 large text)
- Touch-friendly targets (44px minimum)
- Proper focus indicators (2px outline)
- Reduced motion support
- Generate TWO files: front-end SCSS and editor SCSS (prefixed with .editor-styles-wrapper)")
Step 4: Spawn browser-validator-specialist using the test page URL from Step 2 output:
Agent(subagent_type="cms-cultivator:browser-validator-specialist:browser-validator-specialist",
prompt="Validate the WordPress block pattern implementation.
Test URL: {test page URL from design-specialist output}
Design reference: {original design source}
Validation requirements:
- Test responsive breakpoints: 320px, 768px, 1024px+
- Capture screenshots at each breakpoint
- Check WCAG AA accessibility (contrast, keyboard nav, focus indicators, semantic HTML)
- Validate interactions (hover, click, focus states)
- Check JavaScript console for errors
- Compare with original design reference
- Generate detailed technical report with file paths and remediation steps
Save screenshots to: {screenshots dir from design-specialist output}")
Step 5: Report — present the block pattern file paths, CSS paths, and browser validation results to the user.
Path: wp-content/themes/{theme}/patterns/{pattern-slug}.php
<?php
/**
* Title: Hero CTA
* Slug: my-theme/hero-cta
* Categories: features, call-to-action
* Description: Full-width hero section with heading, text, and CTA
*/
?>
<!-- wp:group {"className":"hero-cta-pattern"} -->
<div class="wp-block-group hero-cta-pattern">
<!-- wp:heading {"level":1} -->
<h1><?php esc_html_e( 'Your Heading Here', 'my-theme' ); ?></h1>
<!-- /wp:heading -->
...
</div>
<!-- /wp:group -->
Path: wp-content/themes/{theme}/assets/styles/scss/patterns/_{pattern-slug}.scss
Path: wp-content/themes/{theme}/assets/styles/scss/patterns/_{pattern-slug}-editor.scss
.editor-styles-wrapperWordPress 6.0+: Patterns in /patterns/ directory auto-discovered — no registration needed.
Auto-enqueue editor styles (add once to functions.php):
function my_theme_setup() {
add_theme_support( 'editor-styles' );
$styles = glob( get_template_directory() . '/assets/styles/css/patterns/*-editor.css' );
foreach ( $styles as $path ) {
add_editor_style( str_replace( get_template_directory() . '/', '', $path ) );
}
}
add_action( 'after_setup_theme', 'my_theme_setup' );
ddev theme-build # Compile SCSS
ddev wp cache flush # Clear cache
ddev pa11y [test-url] # Accessibility test
npx claudepluginhub kanopi/claude-toolbox --plugin cms-cultivatorGuides generating WordPress block patterns for themes, with rules for page-builder content (Shopify, Replo, Wix, Squarespace, Shogun) and verbatim copy requirements.
Generates WordPress Full Site Editing block themes: theme.json configs, block templates, template parts, patterns, functions.php, and styles.
Generates custom WordPress FSE block themes from HTML/CSS exports or screenshots by extracting design tokens, mapping to Gutenberg blocks, bundling Google Fonts, and producing installable custom-{slug} themes.