A Claude AI skill that converts any design into production-ready WordPress Elementor templates
$ npx -y skills add abanoubkhaliil/Ak-Elementor-Studio --agent claude-code
Repo: abanoubkhaliil/Ak-Elementor-Studio
What's inside
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 |
| 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:
placehold.coglobal-styles.jsonYour 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:
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.
Option A — Clone:
git clone https://github.com/abanoubkhaliil/Ak-Elementor-Studio.git
Place the folder in your Claude skills directory (e.g. /mnt/skills/user/).
Option B — Manual download:
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 failed
builder/
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:
Steps:
.json file from inside the ZIP → Import NowAk-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:
placehold.co images with real images© 2025 YourBrand in the footerAbanoub 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
FAQ
ak-elementor-studio is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes Ak-Elementor-Studio. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it