Marketing UI Mockup / Hero Generator
This skill produces one of three fixed format types, each a finished raster image
rendered via Ideogram, not a mockup described in prose or built as working code:
- Landing-page hero shot — a full-bleed marketing hero with headline, subheadline,
and CTA button copy baked in via Ideogram's text rendering, typically showing the
product in a browser/device frame or as a standalone visual. The shot a visitor sees
before scrolling.
- Device-in-context product mockup — a product's UI shown inside a physical device
shell (laptop, phone, tablet, browser chrome) placed in an environmental or lifestyle
context (desk surface, hand, studio backdrop). The format for pitch-deck slides and
"see it in the real world" shots.
- Dashboard screenshot — a single stylized app/dashboard screen (nav, cards,
charts, sidebar) rendered to look polished and "real" for App Store listings, pitch
decks, or marketing pages — not a literal render of any actual live codebase.
See references/mockup-anatomy.md for each format's full compositional-layer
breakdown; read it before drafting a prompt (workflow step 2 below), not
reverse-engineered only after generation.
The two artifacts this skill produces
- A generation prompt — a paragraph, Ideogram-legible, naming every assigned
compositional layer in reading order with literal copy in quotes.
- A compositional deconstruction — the structured JSON breakdown per
references/composition-spec-format.md, tagging each element with which
compositional layer it belongs to so a later pass can reference "the CTA element
from the hero shot" without re-describing it.
Always produce both. The paragraph prompt is what you feed the image model; the
compositional deconstruction is what you save back to the vault so the mockup's
structure survives past the single image.
This skill is a sibling to brand-identity-sheet, character-model-sheet, and
moodboard-generator structurally — same paragraph-prompt-plus-JSON-deconstruction
pattern — but targets marketing-visual deliverables (hero shots, device mockups,
dashboard screenshots) rather than brand systems or characters.
Workflow
1. Gather the brief
Ask for, or pull from context:
- Format type — hero / device mockup / dashboard screenshot. If the user's
phrasing is ambiguous ("make a mockup"), use
references/mockup-anatomy.md's
definitions to clarify which of the three they mean rather than guessing (see Error
handling below).
- Real headline/subhead/CTA/nav copy — ask directly if it's missing rather than
filling with placeholder text.
- Brand truth from the project's
brand.md/design.md if one exists — palette,
typography, adjectives. Same pull-don't-reinvent pattern brand-identity-sheet's
step 1 uses.
- Target placements — landing page only, or also a social-square variant, or also
an App Store portrait crop. This determines whether workflow step 6 (reframe) runs.
2. Assign compositional layers
Using references/mockup-anatomy.md's per-format layer table, decide which layers
this format needs and what each one contains. This is the step that directly
implements the UI-specific compositional-deconstruction differentiation angle — done
before drafting the prompt, not reverse-engineered only after.
3. Draft the paragraph prompt
One Ideogram-legible paragraph naming each assigned layer in reading order with its
literal copy in quotes. Apply the same "name real things, not generic placeholders"
discipline brand-identity-sheet step 3 uses for its material vocabulary, here applied
to UI copy and product specifics: a real nav-item label, not "Home / About / Contact";
a real chart metric, not "a chart."
4. Run the anti-slop gate
Score the drafted prompt against references/anti-slop-discipline.md's
pre-generation table before calling generate_image. Anything scoring under 3 on any
axis means revise now, not after generating.
5. Generate the base image
Call mcp__ideogram__generate_image with the paragraph prompt.
style_type: "DESIGN" for UI-chrome-dominant formats (dashboard screenshots,
hero shots where the UI panel is the focal element), "REALISTIC" for photographic
device-in-context shots. This mapping is documented guidance to sanity-check against
the actual result, not a verified Ideogram model guarantee.
rendering_speed: "QUALITY" always.
aspect_ratio: pick for the primary target placement — e.g. "16x9" for a
landing-page hero, "1x1" for a dashboard screenshot destined for a square social
post, "9x16" for an App Store portrait screenshot.
6. Reframe for additional formats, if requested
For each additional placement gathered in step 1, call mcp__ideogram__reframe_image
with the base generation's response_id and the target aspect_ratio, rather than
re-running generate_image from scratch.
Crop-risk caveat: before reframing to a significantly different aspect ratio, check
whether the base composition's Hero Copy Zone/CTA elements sit safely away from the
frame edges (from the compositional deconstruction produced in step 8, or by
inspection if step 8 hasn't run yet for this composition). If the layout is
aspect-ratio-sensitive, tell the user a fresh generate_image composed for that target
ratio will look better than a reframe.
7. Targeted fixes via edit_image, not full regeneration
If a specific element comes back wrong after generation — a garbled CTA label, a
misspelled nav item, a headline needing a word changed — call
mcp__ideogram__edit_image with image_response_ids and a prompt describing only the
fix. Do not fall back to a fresh generate_image or remix_image call to "get a
similar but fixed" result — that silently discards a composition that was otherwise
correct.
8. Reverse-engineer into a compositional deconstruction
Produce the structured JSON breakdown per references/composition-spec-format.md,
tagging each element with which compositional layer it is (Nav Bar, Hero Copy Zone,
CTA, Device Frame/Chrome, Supporting UI Chrome, Background/Environment) so a later
pass can reference "the CTA element from the hero shot" without re-describing it.
9. Save what was made
Write the paragraph prompt, the compositional deconstruction JSON, and the resulting
image URL(s) (base + any reframed variants) to
04-projects/<project>/marketing-assets/ (or wherever the project already keeps
marketing visuals — check for an existing folder first, matching the pattern
brand-identity-sheet/character-model-sheet use for logo-explorations//
branding/). Nothing generated here should live only in the conversation.
Error handling
- User actually wants working code / a functional prototype — say plainly this
skill produces finished raster images, not editable/responsive code, and redirect to
an HTML/CSS-output tool. Never fake interactivity in a static image, never silently
produce an image when code was requested.
- User wants a pixel-accurate recreation of a real, existing live product screen —
flag before generating that Ideogram's diffusion output is a stylized
representation, not a pixel-accurate screenshot tool; set that expectation
explicitly.
- Garbled, misspelled, or illegible on-screen text after generation — treat as a
defect, attempt a targeted
edit_image fix (workflow step 7), and if that doesn't
resolve it after a reasonable attempt, report the defect honestly rather than
shipping or describing broken text as acceptable.
reframe_image cropping into important copy — per workflow step 6's caveat,
check hero-copy/CTA placement safety before reframing to a significantly different
aspect ratio; prefer a fresh generate_image over a reframe that would clip copy.
- Missing real copy (no headline/CTA/nav text supplied, no brand.md) — ask for it
directly rather than inventing final marketing copy wholesale; a placeholder is
acceptable only when the user explicitly says this is a rough concept exploration,
not a deliverable.
- Ambiguous format type (user says "make a mockup" without specifying which of the
three) — ask which of the three named format types they mean, using
references/mockup-anatomy.md's definitions, rather than guessing and producing the
wrong compositional layout.
Reference files
references/mockup-anatomy.md — the three format types (landing-page hero,
device-in-context mockup, dashboard screenshot) and the compositional layers each is
built from, with a per-format table stating which layers apply.
references/composition-spec-format.md — the full JSON schema for the
compositional deconstruction (high_level_description, elements[] with
type/bbox/desc, text elements with text), the layer-tagging convention, and a
worked Technauts landing-hero example.
references/anti-slop-discipline.md — the UI-mockup-specific failure modes
(meaningless charts, decorative dead-end sidebars, illegible micro-text-as-texture,
stock-SaaS gradient washes, AI-glow screens with no real content), the real-copy
requirement gate, and the pre-generation gate to run before every generate_image
call.
1---2name: marketing-ui-mockup-hero-generator3description: Generates finished raster marketing visuals — landing-page hero shots, device-in-context product mockups, and dashboard screenshots — and actually renders them via the ideogram MCP tools, not just drafts a prompt. Use whenever the user asks for a "hero image," "landing page hero," "device mockup," "product mockup," "dashboard screenshot," "App Store screenshot," "pitch deck visual," or "pitch deck screenshot." This skill produces finished images, not functional HTML/CSS/React — a request for working code, a live component, or a responsive layout should go to a code-output tool instead, never get pulled into this skill just because it also involves UI. Sibling to `brand-identity-sheet`, `character-model-sheet`, and `moodboard-generator` structurally (same prompt-composition pattern, same paragraph-prompt + compositional-deconstruction pair of artifacts), but targets marketing-visual deliverables — a single hero shot, a device-in-context product photo, a dashboard screen — rather than a whole brand system or a 4---56# Marketing UI Mockup / Hero Generator78This skill produces one of three fixed format types, each a finished raster image9rendered via Ideogram, not a mockup described in prose or built as working code:1011- **Landing-page hero shot** — a full-bleed marketing hero with headline, subheadline,12 and CTA button copy baked in via Ideogram's text rendering, typically showing the13 product in a browser/device frame or as a standalone visual. The shot a visitor sees14 before scrolling.15- **Device-in-context product mockup** — a product's UI shown inside a physical device16 shell (laptop, phone, tablet, browser chrome) placed in an environmental or lifestyle17 context (desk surface, hand, studio backdrop). The format for pitch-deck slides and18 "see it in the real world" shots.19- **Dashboard screenshot** — a single stylized app/dashboard screen (nav, cards,20 charts, sidebar) rendered to look polished and "real" for App Store listings, pitch21 decks, or marketing pages — not a literal render of any actual live codebase.2223See `references/mockup-anatomy.md` for each format's full compositional-layer24breakdown; read it before drafting a prompt (workflow step 2 below), not25reverse-engineered only after generation.2627## The two artifacts this skill produces28291. **A generation prompt** — a paragraph, Ideogram-legible, naming every assigned30 compositional layer in reading order with literal copy in quotes.312. **A compositional deconstruction** — the structured JSON breakdown per32 `references/composition-spec-format.md`, tagging each element with which33 compositional layer it belongs to so a later pass can reference "the CTA element34 from the hero shot" without re-describing it.3536Always produce both. The paragraph prompt is what you feed the image model; the37compositional deconstruction is what you save back to the vault so the mockup's38structure survives past the single image.3940This skill is a sibling to `brand-identity-sheet`, `character-model-sheet`, and41`moodboard-generator` structurally — same paragraph-prompt-plus-JSON-deconstruction42pattern — but targets marketing-visual deliverables (hero shots, device mockups,43dashboard screenshots) rather than brand systems or characters.4445## Workflow4647### 1. Gather the brief4849Ask for, or pull from context:5051- **Format type** — hero / device mockup / dashboard screenshot. If the user's52 phrasing is ambiguous ("make a mockup"), use `references/mockup-anatomy.md`'s53 definitions to clarify which of the three they mean rather than guessing (see Error54 handling below).55- **Real headline/subhead/CTA/nav copy** — ask directly if it's missing rather than56 filling with placeholder text.57- **Brand truth** from the project's `brand.md`/`design.md` if one exists — palette,58 typography, adjectives. Same pull-don't-reinvent pattern `brand-identity-sheet`'s59 step 1 uses.60- **Target placements** — landing page only, or also a social-square variant, or also61 an App Store portrait crop. This determines whether workflow step 6 (reframe) runs.6263### 2. Assign compositional layers6465Using `references/mockup-anatomy.md`'s per-format layer table, decide which layers66this format needs and what each one contains. This is the step that directly67implements the UI-specific compositional-deconstruction differentiation angle — done68before drafting the prompt, not reverse-engineered only after.6970### 3. Draft the paragraph prompt7172One Ideogram-legible paragraph naming each assigned layer in reading order with its73literal copy in quotes. Apply the same "name real things, not generic placeholders"74discipline `brand-identity-sheet` step 3 uses for its material vocabulary, here applied75to UI copy and product specifics: a real nav-item label, not "Home / About / Contact";76a real chart metric, not "a chart."7778### 4. Run the anti-slop gate7980Score the drafted prompt against `references/anti-slop-discipline.md`'s81pre-generation table before calling `generate_image`. Anything scoring under 3 on any82axis means revise now, not after generating.8384### 5. Generate the base image8586Call `mcp__ideogram__generate_image` with the paragraph prompt.8788- **`style_type`**: `"DESIGN"` for UI-chrome-dominant formats (dashboard screenshots,89 hero shots where the UI panel is the focal element), `"REALISTIC"` for photographic90 device-in-context shots. This mapping is documented guidance to sanity-check against91 the actual result, not a verified Ideogram model guarantee.92- **`rendering_speed`**: `"QUALITY"` always.93- **`aspect_ratio`**: pick for the primary target placement — e.g. `"16x9"` for a94 landing-page hero, `"1x1"` for a dashboard screenshot destined for a square social95 post, `"9x16"` for an App Store portrait screenshot.9697### 6. Reframe for additional formats, if requested9899For each additional placement gathered in step 1, call `mcp__ideogram__reframe_image`100with the base generation's `response_id` and the target `aspect_ratio`, rather than101re-running `generate_image` from scratch.102103Crop-risk caveat: before reframing to a significantly different aspect ratio, check104whether the base composition's Hero Copy Zone/CTA elements sit safely away from the105frame edges (from the compositional deconstruction produced in step 8, or by106inspection if step 8 hasn't run yet for this composition). If the layout is107aspect-ratio-sensitive, tell the user a fresh `generate_image` composed for that target108ratio will look better than a reframe.109110### 7. Targeted fixes via edit_image, not full regeneration111112If a specific element comes back wrong after generation — a garbled CTA label, a113misspelled nav item, a headline needing a word changed — call114`mcp__ideogram__edit_image` with `image_response_ids` and a prompt describing only the115fix. Do not fall back to a fresh `generate_image` or `remix_image` call to "get a116similar but fixed" result — that silently discards a composition that was otherwise117correct.118119### 8. Reverse-engineer into a compositional deconstruction120121Produce the structured JSON breakdown per `references/composition-spec-format.md`,122tagging each element with which compositional layer it is (Nav Bar, Hero Copy Zone,123CTA, Device Frame/Chrome, Supporting UI Chrome, Background/Environment) so a later124pass can reference "the CTA element from the hero shot" without re-describing it.125126### 9. Save what was made127128Write the paragraph prompt, the compositional deconstruction JSON, and the resulting129image URL(s) (base + any reframed variants) to130`04-projects/<project>/marketing-assets/` (or wherever the project already keeps131marketing visuals — check for an existing folder first, matching the pattern132`brand-identity-sheet`/`character-model-sheet` use for `logo-explorations/`/133`branding/`). Nothing generated here should live only in the conversation.134135## Error handling136137- **User actually wants working code / a functional prototype** — say plainly this138 skill produces finished raster images, not editable/responsive code, and redirect to139 an HTML/CSS-output tool. Never fake interactivity in a static image, never silently140 produce an image when code was requested.141- **User wants a pixel-accurate recreation of a real, existing live product screen** —142 flag before generating that Ideogram's diffusion output is a stylized143 representation, not a pixel-accurate screenshot tool; set that expectation144 explicitly.145- **Garbled, misspelled, or illegible on-screen text after generation** — treat as a146 defect, attempt a targeted `edit_image` fix (workflow step 7), and if that doesn't147 resolve it after a reasonable attempt, report the defect honestly rather than148 shipping or describing broken text as acceptable.149- **`reframe_image` cropping into important copy** — per workflow step 6's caveat,150 check hero-copy/CTA placement safety before reframing to a significantly different151 aspect ratio; prefer a fresh `generate_image` over a reframe that would clip copy.152- **Missing real copy** (no headline/CTA/nav text supplied, no brand.md) — ask for it153 directly rather than inventing final marketing copy wholesale; a placeholder is154 acceptable only when the user explicitly says this is a rough concept exploration,155 not a deliverable.156- **Ambiguous format type** (user says "make a mockup" without specifying which of the157 three) — ask which of the three named format types they mean, using158 `references/mockup-anatomy.md`'s definitions, rather than guessing and producing the159 wrong compositional layout.160161## Reference files162163- `references/mockup-anatomy.md` — the three format types (landing-page hero,164 device-in-context mockup, dashboard screenshot) and the compositional layers each is165 built from, with a per-format table stating which layers apply.166- `references/composition-spec-format.md` — the full JSON schema for the167 compositional deconstruction (`high_level_description`, `elements[]` with168 `type`/`bbox`/`desc`, text elements with `text`), the layer-tagging convention, and a169 worked Technauts landing-hero example.170- `references/anti-slop-discipline.md` — the UI-mockup-specific failure modes171 (meaningless charts, decorative dead-end sidebars, illegible micro-text-as-texture,172 stock-SaaS gradient washes, AI-glow screens with no real content), the real-copy173 requirement gate, and the pre-generation gate to run before every `generate_image`174 call.