AK Elementor Studio — built by Abanoub Khalil (akstudio.me). Converts ANY input — HTML/CSS/JS code, screenshots, images (PNG, JPG, WebP), PDFs, Figma exports, design mockups, wireframes, or any visual file — into fully structured Elementor page JSON templates importable into WordPress. Activate this skill whenever the user: uploads a design image or screenshot and wants it built in WordPress, shares HTML/CSS/JS to convert to Elementor, pastes code or attaches a file and mentions Elementor, WordPress, or page builder, says anything like "convert this to Elementor", "build this in WordPress", "turn this design into a page", "make this Elementor template", "recreate this layout in Elementor", "import this into WordPress", or uploads a PDF/image of a webpage, landing page, mockup, or UI design. This skill handles ALL input types: code, images, PDFs, mixed inputs, and even verbal descriptions of layouts.
التثبيت
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
AK Elementor Studio — built by Abanoub Khalil (akstudio.me). Converts ANY input — HTML/CSS/JS code, screenshots, images (PNG, JPG, WebP), PDFs, Figma exports, design mockups, wireframes, or any visual file — into fully structured Elementor page JSON templates importable into WordPress. Activate this skill whenever the user: uploads a design image or screenshot and wants it built in WordPress, shares HTML/CSS/JS to convert to Elementor, pastes code or attaches a file and mentions Elementor, WordPress, or page builder, says anything like "convert this to Elementor", "build this in WordPress", "turn this design into a page", "make this Elementor template", "recreate this layout in Elementor", "import this into WordPress", or uploads a PDF/image of a webpage, landing page, mockup, or UI design. This skill handles ALL input types: code, images, PDFs, mixed inputs, and even verbal descriptions of layouts.
AK Elementor Studio
by Abanoub Khalil — Senior WordPress & Webflow Developer
RULE #1 — THE MOST IMPORTANT RULE IN THIS SKILL
HTML WIDGET = JAVASCRIPT <script> TAGS ONLY.
The html widget has exactly one valid use:
→ Embedding a <script> tag for JavaScript behavior
That is ALL. Nothing else ever goes in the html widget.
Not headings. Not text. Not badges. Not nav links.
Not cards. Not layouts. Not pricing. Not timelines.
Not icons. Not stats. Not ANY visual content.
Every visual element has a native Elementor widget. Use it.
RULE #2 — ABSOLUTE JSON RULES
1. NO COMMENTS — /* */ and // both break JSON parsing
❌ { /* hero */ "id": "a1b2c3d4" } ✅ { "id": "a1b2c3d4" }
2. NO TRAILING COMMAS
❌ { "a": 1, "b": 2, } ✅ { "a": 1, "b": 2 }
3. IDs = UNIQUE 8-CHAR HEX ONLY
❌ "id": "hero_section" ✅ "id": "a1b2c3d4"
4. EVERY ELEMENT MUST HAVE "elements": []
❌ { "widgetType": "heading", "settings": {} }
✅ { "widgetType": "heading", "settings": {}, "elements": [] }
5. isInner RULE
Direct children of "content": [] → "isInner": false
Containers nested inside containers → "isInner": true
Widgets (inside any container) → "isInner": false
6. HEX COLORS ONLY — never color names
❌ "background_color": "white" ✅ "background_color": "#FFFFFF"
STEP 0 — Pre-Flight Interview
Ask all in ONE message. Never skip.
👋 Quick details before I start:
1. SITEMAP — Pages? (I generate one .json per page)
2. ELEMENTOR VERSION — Free or Pro?
Pro: Theme Builder header/footer, custom CSS, sticky, scroll effects
Free: header/footer = regular sections inside each page
3. CUSTOM POST TYPES — Any CPTs?
(Services, Portfolio, Plugins, Team, Testimonials → I'll generate ACF JSON)
4. OUTPUT FORMAT
a) Individual .json files — import one-by-one via Templates → Saved Templates (always works, Free + Pro)
b) Elementor native export ZIP — import via Elementor → Tools → Import Kit (no extra plugin needed)
c) Envato Template Kit ZIP — requires "Template Kit Import" plugin installed on WordPress
d) Individual .json + ACF field group files
5. BRAND — Hex color codes + Google Fonts?
(Or I extract from the design)
STEP 1 — Input Detection
Input
Pipeline
HTML/CSS/JS
Code Pipeline
PNG/JPG/WebP/screenshot/mockup/Figma
Visual Pipeline
PDF
PDF Pipeline
Words only
Description Pipeline
Existing Elementor JSON
Edit Pipeline
Mixed
Both pipelines, merged
COMPLETE WIDGET REFERENCE — Native Widgets for Every Element
Text & Numbers
Element
Widget
h1 / h2 / h3 / h4 / h5 / h6
heading
Paragraph / body text
text-editor
Animated counter (500+, 10K)
counter
Progress / skill bar
progress
Actions
Element
Widget
Button / CTA / link-as-button
button
FAQ / collapsible rows
accordion
Tab navigation
tabs
Alert / info banner
alert
Media
Element
Widget
Photo / image
image
YouTube / Vimeo / video
video
Image grid
image-gallery
Image slider / carousel
image-carousel
Cards & Lists
Element
Widget
Icon + title + description
icon-box
Bulleted list with icons
icon-list
Photo + title + text
image-box
Customer quote
testimonial
Layout Helpers
Element
Widget
Horizontal line / separator
divider
Vertical blank space
spacer
Utilities
Element
Widget
Social media icons
social-icons
Map embed
google-maps
Plugin/form shortcode
shortcode
SOLVING COMPLEX ELEMENTS WITHOUT html WIDGET
Navigation Bar
Structure: flex container (row, space-between)
└── image widget ← logo
└── icon-list widget ← nav links (set icon to "none", each item = a page link)
OR multiple button widgets (size: xs, style: link/ghost, one per nav item)
└── button widget ← CTA button
Badge / Status Pill / Tag
Option A: button widget
text: "FULL-TIME", size: "xs", border_radius: 100px
button_text_color: "#00D4C8", button_background_color: "rgba(0,212,200,0.1)"
no link href (or link to "#")
Option B: alert widget
type: "success" / "info" / "warning"
alert_title: "WordPress Developer"
(style with custom CSS if Pro)
Elementor Pro → header.json + footer.json (type: "header" / "footer")
Elementor Free → header/footer as regular container sections inside each page
✅ Import Methods — Tested & Verified
⚠️ CRITICAL: Three completely different ZIP formats exist. Using the wrong one causes
"Couldn't use the .zip file" in Elementor's importer. Match the format to the method.
Method 1 — Individual .json per template (ALWAYS WORKS — Free + Pro)
Recommended default. No plugins required. Works on any Elementor version.
Steps:
1. Elementor → Templates → Saved Templates → Import Templates (↑ icon)
2. Upload one .json file at a time → Import Now
3. Repeat for each page (global-styles first, then header/footer, then pages)
4. Create a WordPress page → Edit with Elementor
→ folder icon (My Templates) → find template → Insert
Each .json file envelope format (single template):
{
"version": "0.4",
"title": "Page Name",
"type": "page", ← "page" | "header" | "footer" | "kit-styles"
"content": [...], ← the elements array from your page JSON
"page_settings": {},
"settings": {}
}
Method 2 — Elementor Native Export ZIP (no extra plugin needed)
Works via: Elementor → Tools → Import Kit
Does NOT require Template Kit Import plugin.
This is what Elementor exports natively when you use Tools → Export Kit.
⚠️ Do NOT confuse manifest.json with Envato's kit.json — they are different formats.
ZIP structure:
kit-export.zip
├── manifest.json ← required, exact format below
├── ak-header/
│ └── template.json
├── ak-footer/
│ └── template.json
├── ak-home/
│ └── template.json
└── ak-about/
└── template.json (one folder per template, folder name is arbitrary)
manifest.json format:
{
"name": "Kit Name",
"title": "Kit Name",
"description": "...",
"author": "Abanoub Khalil",
"version": "1.0.0",
"elementor_version": "3.0.0",
"created": "2025-01-01",
"thumbnail": "",
"site": "https://akstudio.me",
"plugins": [
{ "name": "Elementor", "slug": "elementor", "pluginFile": "elementor/elementor.php", "version": "3.0.0" },
{ "name": "Elementor Pro", "slug": "elementor-pro", "pluginFile": "elementor-pro/elementor-pro.php", "version": "3.0.0" }
],
"templates": [
{ "name": "Header", "title": "Header", "thumbnail": "", "url": "",
"export_date": "2025-01-01", "source": "", "type": "header", "subtype": "header",
"id": 1001, "author": "Abanoub Khalil", "path": "ak-header/" },
{ "name": "Footer", "title": "Footer", "thumbnail": "", "url": "",
"export_date": "2025-01-01", "source": "", "type": "footer", "subtype": "footer",
"id": 1002, "author": "Abanoub Khalil", "path": "ak-footer/" },
{ "name": "Home", "title": "Home", "thumbnail": "", "url": "",
"export_date": "2025-01-01", "source": "", "type": "page", "subtype": "page",
"id": 1003, "author": "Abanoub Khalil", "path": "ak-home/" }
],
"site-settings": { "settings": {} }
}
Each folder's template.json uses the same envelope as Method 1 above.
Import steps:
1. Elementor → Tools → Import Kit → upload ZIP
2. Select which templates to import → Import
3. Assign header/footer via Theme Builder → Conditions
⚠️ ONLY use this format when the client explicitly has the "Template Kit Import" plugin.
⚠️ Do NOT use with Elementor's native Tools → Import — it WILL FAIL with "Couldn't use the .zip file".
Requires plugin: "Template Kit Import" (free, wordpress.org)
Import via: WordPress Admin → Tools → Template Kit → Upload ZIP
ZIP structure:
kit-name.zip
├── kit.json ← Envato manifest (completely different from manifest.json)
└── templates/
├── global-styles.json
├── header.json
├── footer.json
├── home.json
└── about.json
kit.json format:
⚠️ Key is "authorURL" (camelCase) — NOT "author_url" (snake_case will silently break validation)
{
"name": "Kit Name",
"slug": "kit-slug",
"version": "1.0.0",
"author": "Abanoub Khalil",
"authorURL": "https://akstudio.me",
"templates": [
{ "name": "Global Styles", "file": "templates/global-styles.json", "type": "kit-styles", "thumbnail": "" },
{ "name": "Home", "file": "templates/home.json", "type": "page", "thumbnail": "" },
{ "name": "Header", "file": "templates/header.json", "type": "header", "thumbnail": "" },
{ "name": "Footer", "file": "templates/footer.json", "type": "footer", "thumbnail": "" }
],
"requiredPlugins": [
{ "name": "Elementor", "slug": "elementor", "source": "wordpress" }
]
}
Import steps:
1. Install "Template Kit Import" plugin from wordpress.org
2. Tools → Template Kit → Upload Template Kit ZIP File
3. Import Global Kit Styles FIRST (sets colors + fonts site-wide)
4. Import each template in order
5. Pages → Add New → Edit with Elementor → folder icon → View Installed Kit → Insert
DEFAULT OUTPUT RECOMMENDATION
When user asks for a kit ZIP with no plugin context → produce Method 2 (Elementor native export)
When user asks for individual files → produce Method 1 envelopes
When user mentions "Template Kit Import plugin" → produce Method 3 (Envato format)
When in doubt → produce Method 1 — it never fails
Global Kit Styles (global-styles.json)
Always generate with actual brand values. Import FIRST before any page templates.