Use when converting Canva HTML/CSS exports to WordPress FSE block themes. Orchestrates autonomous workflow from CSS token extraction through template generation. Keywords: Canva to WordPress, FSE conversion, HTML export, CSS design tokens, autonomous template generation
Use when converting Canva HTML/CSS exports to WordPress FSE block themes. Orchestrates autonomous workflow from CSS token extraction through template generation. Keywords: Canva to WordPress, FSE conversion, HTML export, CSS design tokens, autonomous template generation
Canva-to-FSE Autonomous Workflow
Overview
This skill orchestrates the complete autonomous conversion of Canva HTML/CSS exports into WordPress Full Site Editing (FSE) block themes. It parses static HTML and CSS files exported from Canva, extracts design tokens, and generates standards-compliant FSE templates without requiring any live design tool connection.
Core Innovation: Hybrid approach with brief clarification phase (1-2 min) followed by fully autonomous execution using superpowers:executing-plans.
Key Principle: Design system FIRST -> theme.json foundation SECOND -> templates THIRD -> verification FOURTH. Extract ALL design tokens from CSS wholesale before generating any templates.
When to Use
Use this skill when:
Converting Canva designs/exports to WordPress FSE themes
Building WordPress themes from Canva HTML/CSS export files
Generating FSE templates from static HTML page exports
Extracting CSS design tokens to theme.json
Trigger phrases:
"Convert Canva to WordPress"
"Canva to FSE theme"
"Import Canva export"
"Turn Canva export into WordPress theme"
"Generate FSE theme from Canva"
When NOT to use:
Classic WordPress themes (non-FSE)
Plugin development
Simple CSS changes to existing themes
Designs in Figma (use figma-to-fse-autonomous-workflow skill instead)
Prerequisites
Before starting, verify:
Canva export directory exists with HTML and CSS files
Expected structure: export/ directory with *.html pages and style.css (or similar CSS file)
Critical: If no HTML/CSS files are found in the provided directory, STOP and inform user before proceeding.
CRITICAL: File Location Requirements
This project uses ROOT-LEVEL folders for theme development:
project-root/
└── themes/[theme-name]/ <- ALL theme files go HERE (NOT wp-content/themes/)
PRE-FLIGHT VALIDATION (Run BEFORE any file writes):
Before creating or modifying ANY theme files, verify:
themes/ directory exists at project root
NO files being created in wp-content/themes/ (NEVER use this path)
Theme name slug is valid (lowercase, hyphens only, no spaces)
Auto-validation: the registered PreToolUse hook .claude/hooks/validate-theme-location.sh blocks incorrect paths (a copy also lives at scripts/canva-fse/validate-theme-location.sh).
Why root-level?
Clean development structure (no nested wp-content)
Easier version control
Testing copies files to WordPress wp-content/ separately
Deployment Note: During testing, files are copied from themes/ to WordPress wp-content/themes/. See TESTING-GUIDE.md for deployment procedures.
Fallback Design Tokens (Default Design System)
CRITICAL: When Canva CSS extraction is incomplete, returns partial results, or fails entirely, use these professional fallback defaults. This ensures the workflow NEVER blocks on missing design data.
Fallback Color Palette (13 tokens)
All colors are WCAG AA compliant with appropriate contrast ratios:
Replace hardcoded values with theme.json token slugs:
Hex colors -> var:preset|color|{slug}
Pixel font sizes -> var:preset|font-size|{slug}
Spacing values -> var:preset|spacing|{slug}
Create PHP patterns for image-containing sections (pattern-first architecture)
Write template to themes/{theme-name}/templates/{page}.html
Validation hooks run automatically after each write
Step 2.5: Generate Supporting Files
After all pages are converted:
Create style.css with WordPress theme header:
/*
Theme Name: {Theme Name}
Description: FSE block theme converted from Canva export
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: {theme-slug}
*/
Create functions.php with asset enqueuing and pattern registration
1. Copy themes/{theme-name}/ to your WordPress wp-content/themes/ directory
2. In WordPress admin: Appearance -> Themes -> Activate "{Theme Name}"
3. Visit your site to verify the theme
Pattern-First Architecture
CRITICAL RULES:
Images MUST go in patterns/*.php files (PHP executes there)