AK Elementor Studio is a Claude AI skill that gives Claude the expert knowledge needed to convert any design input into a fully importable Elementor Pro Template Kit ZIP β the same Envato-style format used by professional template marketplaces.
It follows the same structured pipeline a senior Elementor developer uses: detect input β analyze layout β extract styles β map widgets β generate responsive JSON β assemble kit ZIP β validate output. But instead of taking hours, it takes minutes.
What's new in v2: The skill now produces complete multi-page Template Kit ZIPs (not just individual page JSON files), includes a full Python builder for automated generation, enforces stricter JSON rules, and covers 35+ native widgets including the full Pro widget set.
Built and maintained by Abanoub Khalil, Senior WordPress & Webflow Developer with 7+ years of experience at akstudio.me.
| Input | What You Provide | Example |
|---|---|---|
| πΈ Screenshot / Mockup | Any PNG, JPG, WebP of a webpage or UI | Competitor page, inspiration screenshot |
| π¨ Figma Export | Figma design or component export | Client's Figma file |
| π» HTML / CSS / JS | Code pasted or uploaded as files | Existing site code, a template you bought |
| π PDF | Single or multi-page design document | Style guides, wireframe docs |
| βοΈ Text Description | Natural language description of the page | "A dark SaaS hero with 3-column features grid" |
| π§ Existing JSON | An Elementor .json template to modify |
Edit or extend templates you already have |
Every run produces a complete Envato-style Template Kit ZIP:
kit-name.zip
βββ kit.json β Kit metadata + template list
βββ templates/
βββ global-styles.json β Brand colors + typography (import FIRST)
βββ header.json β Sticky header (Pro)
βββ footer.json β Footer template (Pro)
βββ home.json
βββ about.json
βββ services.json
βββ pricing.json
βββ contact.json
Each page template includes:
- Navbar β Hero β Features β Stats β Testimonials β Pricing β CTA β Footer
- Full responsive breakpoints on every element (desktop + tablet + mobile)
- Unique 8-character hex IDs on every element
- Placeholder images from
placehold.co - Global brand colors and typography from
global-styles.json
Your Input β Detection β Analysis β Widget Mapping β JSON Build β Kit ZIP β Import to WP
Step 1 β Pre-flight Interview: Claude asks 8 quick questions: kit name, pages, brand colors, fonts, Free vs Pro, CPTs, dark/light theme, and industry.
Step 2 β Input Analysis:
- Images/PDFs β extracts dominant colors via quantization, detects section boundaries by brightness bands
- HTML/CSS β parses all hex values, font-family declarations, structural tags
- Text β infers brand palette, section order, and copy tone from industry/niche
Step 3 β Widget Mapping: Every visual element is mapped to the correct native Elementor widget. Zero html widgets for visual content β the html widget is reserved exclusively for <script> JS injection.
Step 4 β JSON Assembly: Builds section containers, inner containers, and widgets with all required keys: id, elType, isInner, settings, elements. Enforces all JSON rules (no comments, no trailing commas, hex/rgba colors only).
Step 5 β Kit ZIP: Assembles kit.json, global-styles.json, header.json, footer.json, and one .json per page into the Envato-compatible ZIP structure.
- Claude (claude.ai or Claude Code)
- A WordPress site with Elementor (Free or Pro)
Option A β Clone:
git clone https://github.com/abanoubkhaliil/Ak-Elementor-Studio.gitPlace the folder in your Claude skills directory (e.g. /mnt/skills/user/).
Option B β Manual download:
- Click Code β Download ZIP
- Extract and place the folder in your Claude skills directory
Once the SKILL.md is in place, Claude automatically detects and uses it whenever you mention Elementor, WordPress, template kit, or upload a design file.
The repo includes a production-ready Python CLI builder for automated kit generation:
pip install Pillow PyMuPDF beautifulsoup4 lxml# From an image
python main.py --input design.png --kit-name "SaaS Kit" --pages home,about,pricing,contact --output ./output/
# From a PDF
python main.py --input mockup.pdf --kit-name "Agency Kit" --pages home,services,portfolio,contact --output ./output/
# From HTML + CSS + JS
python main.py --input index.html --css style.css --js main.js --kit-name "Corporate Kit" --output ./output/
# From a text description
python main.py --description "Dark SaaS landing page with hero, features, and pricing" --kit-name "Dark SaaS" --output ./output/
# Elementor Free mode (no Pro widgets)
python main.py --input design.png --kit-name "My Kit" --free --output ./output/python tests/test_kit_builder.py
# Expected: 11 passed, 0 failedbuilder/
analyzer.py β Analyzes image/PDF/HTML/description β DesignSpec
widget_factory.py β Factory functions for 35+ native Elementor widgets
json_builder.py β Section + page assemblers, tree validation
kit_assembler.py β Assembles the Envato-compatible ZIP
main.py β CLI entry point
Just describe what you want β Claude handles the rest:
"Convert this screenshot into an Elementor Template Kit ZIP"
"Build this Figma export as a full WordPress template kit with home, about, pricing, contact"
"Turn this HTML/CSS into an Elementor kit β dark theme, Inter font, 5 pages"
"Create a SaaS landing kit: dark hero with gradient, 3-column features, pricing table, CTA banner"
"Edit this existing template and change the hero background to #1A1A2E"
Prerequisites:
- Hello Elementor theme active
- Elementor Pro installed and active
- Elementor β Settings β Features β Flexbox Container β Active
- WordPress β Settings β Permalinks β Post Name β Save
Steps:
- WordPress β Tools β Template Kit β Upload Template Kit ZIP File
- Click "Import Global Kit Styles" FIRST (sets brand colors + fonts site-wide)
- Import Header, then Footer, then each page template in order
- Pages β Edit with Elementor β folder icon β View Installed Kit β Insert Template
- WordPress β Elementor β Templates β Saved Templates
- Click the Import icon (top right)
- Select a
.jsonfile from inside the ZIP β Import Now - Open any page in Elementor β folder icon β My Templates β Insert
Ak-Elementor-Studio/
βββ SKILL.md β Main skill file (Claude reads this)
βββ main.py β Python CLI entry point
βββ builder/
β βββ analyzer.py β Input analyzer (image/PDF/HTML/description)
β βββ widget_factory.py β 35+ widget JSON factories
β βββ json_builder.py β Section builders + page assembler + validator
β βββ kit_assembler.py β ZIP kit builder
βββ templates/
β βββ section_patterns/
β βββ hero.json β Full-screen 2-col hero pattern
β βββ navbar.json β Sticky Pro navbar pattern
β βββ features_grid.json β 3-col icon-box card grid
β βββ cta_banner.json β Gradient CTA section
βββ tests/
β βββ test_kit_builder.py β 11-test suite (IDs, JSON, guards, ZIP)
βββ banner.svg
βββ README.md
βββ CONTRIBUTING.md
βββ LICENSE
heading Β· text-editor Β· button Β· image Β· icon-box Β· icon-list Β· image-box Β· testimonial Β· counter Β· progress Β· divider Β· spacer Β· accordion Β· tabs Β· social-icons Β· video Β· image-carousel Β· image-gallery Β· google-maps Β· shortcode Β· alert
posts Β· portfolio Β· slides Β· price-list Β· price-table Β· flip-box Β· call-to-action Β· countdown Β· share-buttons Β· nav-menu Β· site-logo Β· site-title Β· page-title Β· post-content Β· form
| Rule | Detail |
|---|---|
html widget = <script> only |
Never used for visual content |
| Unique 8-char hex IDs | secrets.token_hex(4) β never duplicated |
| No JSON comments | /* */ and // break Elementor's parser |
| No trailing commas | Parser fails silently |
Hex or rgba() colors only |
Never named colors (white, transparent, etc.) |
"elements": [] on every node |
Required even on widgets |
isInner rules enforced |
Top-level = false, nested containers = true |
| Responsive on everything | _tablet + _mobile suffixes on fonts, padding, widths |
The skill generates Free-compatible output by default. When Pro features are used, the response clearly flags them:
β οΈ Pro features used: sticky nav, site-logo widget, form widget, header/footer templates
β
Free alternatives: icon-list for nav, image widget for logo, shortcode for forms
After importing any kit, remember to:
- Replace all
placehold.coimages with real images - Update nav links to actual page URLs
- Set the site logo in Elementor β Site Settings β Site Identity
- Update the email in the form widget or shortcode
- Replace
Β© 2025 YourBrandin the footer - Assign header/footer in Elementor Pro β Theme Builder
Abanoub Khalil β Senior WordPress & Webflow Developer
| π Portfolio | akstudio.me |
| π Location | Cairo, Egypt |
| πΌ Experience | 7+ years WordPress & Webflow |
| π’ Current | InVitro Capital β AllCare.ai, AllRx.ai |
MIT β free to use, modify, and share. See LICENSE for details.
Issues and pull requests are welcome. If you find a widget mapping that's missing, a section pattern to add, or a JSON bug β please open an issue.
If this skill saves you time, a β on the repo is always appreciated.
akstudio.me Β· Built with 7+ years of Elementor expertise