From impreza-design
Use this skill when the user wants to design a WordPress page, post, or page section for a site running the Impreza theme + WPBakery stack. Triggers include "design a homepage for X", "build a landing page", "create a services section", "draft a hero", or any request to lay out content that will end up in WordPress as native, fully-editable WPBakery shortcodes (not raw HTML). Outputs a Design JSON document conforming to schema.json — never raw shortcodes. The Design JSON gets sent to the Impreza AI Composer WordPress plugin's REST endpoint, which validates it and writes native shortcodes to the post.
How this skill is triggered — by the user, by Claude, or both
Slash command
/impreza-design:impreza-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Claude produces page designs as **Design JSON** that the Impreza AI Composer WordPress plugin translates into native Impreza/WPBakery shortcodes. The JSON is the source of truth — it can be previewed, edited, version-controlled, and re-rendered. The plugin handles every detail of shortcode syntax, parameter encoding, and meta fields so Claude never has to.
Claude produces page designs as Design JSON that the Impreza AI Composer WordPress plugin translates into native Impreza/WPBakery shortcodes. The JSON is the source of truth — it can be previewed, edited, version-controlled, and re-rendered. The plugin handles every detail of shortcode syntax, parameter encoding, and meta fields so Claude never has to.
Critical rule: never output raw shortcodes. If the user asks "show me the shortcodes," explain that the JSON design will be translated by the plugin on import, and offer to show the JSON or describe the visual outcome.
schema.json. Use section primitives (hero, feature_grid, cta, etc.) wherever they fit. Fall back to raw_section only when no primitive matches.0 and add a _note field describing what should go there.primary, secondary, alternate, footer-top, or footer-bottom schemes rather than hex colors. The site owner customizes these globally; Claude's job is to pick the right role, not the literal color.Design without asking:
Ask before designing:
When you do ask, ask in one short message — three questions max, not a survey.
The schema supports these section types. Most pages need 3–7 sections.
type | Use for |
|---|---|
hero | Top-of-page banner. Variants: simple, image_bg, slider_bg, split |
text_section | Heading + paragraphs + optional buttons, no images |
feature_grid | N-column icon-box grid (services, features, benefits) |
text_image_split | Two-column with text on one side, image on the other |
cta | Full-width call-to-action band (headline + 1–2 buttons) |
accordion | FAQ / expandable Q&A |
gallery | Image grid (portfolio thumbnails, photo galleries) |
team | Person cards (photo, name, title, optional bio) |
testimonials | Quote carousel or grid |
pricing | Pricing tiers in columns |
posts_list | Blog post listing (uses us_post_list) |
raw_section | Escape hatch — provide a vc_row with arbitrary children when no primitive fits |
Each primitive has its own validated shape in schema.json. See schema-reference.md for required and optional fields per type, and patterns.md for canonical examples.
Impreza ships with five built-in color schemes that the site owner customizes. Reference these by name:
primary — main brand scheme, used for hero/CTA bands (143 uses across demos)alternate — secondary scheme, often for offset sections (46 uses)secondary — accent scheme (12 uses)footer-top — pre-footer band (17 uses)footer-bottom — main footer (67 uses)Within a scheme, individual elements can reference role tokens like _content_link, _content_heading, _content_bg, _content_bg_alt, _alt_content_text. Use these only when the corpus shows them in similar contexts; default behavior is best.
primary / alternate color schemes every 2nd section to give visual rhythmraw_section)registry-core.json — ask, or use raw_sectionvariant to image_bg and remove image_ids")schema.json before sending — required fields present, enum values from the allowed list, no stray keys| File | Purpose |
|---|---|
SKILL.md | This file — workflow, conventions, when-to rules |
schema.json | Machine-readable JSON Schema (draft 2020-12) for the Design JSON |
schema-reference.md | Human-readable section-by-section schema docs |
patterns.md | Canonical example JSONs for each section primitive |
examples.md | Three full-page reference designs (homepage, about, services) |
registry-core.json | Param specs for the 15 most-used shortcodes (escape-hatch reference) |
registry-full.json | Param specs for all 99 Impreza/VC shortcodes (deep reference) |
When working on a design, read SKILL.md, schema-reference.md, and patterns.md. Pull in examples.md if the user asks for a complete page from scratch. Touch the registry only when authoring a raw_section and you need a specific shortcode's param list.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub wjddesigns/impreza-ai-composer --plugin impreza-design