---
name: crm-smm-visual-director
description: Use this skill whenever writing an image-generation prompt for a Swipix Telegram post using nanobanana 2 / Gemini image-gen. Triggers include any mention of "промпт для nanobanana", "nanobanana 2", "mega-prompt", "промпт для картинки/баннера", "Gemini image gen", "ТЗ дизайнеру для картинки", "image brief for the post", "generate the banner image", "визуал для поста". Make sure to use this skill any time a Telegram post needs an image prompt written — it turns the voice-and-style visual tracks into a single well-structured mega-prompt (subject, composition, palette, headline space, format), by the pattern proven in artifacts/smm/content-plan-10-posts.md.
---

# Swipix SMM Visual Director — nanobanana 2 mega-prompts

Turns a chosen visual track (`crm-smm-voice-and-style` §B) and a post's content
into one well-formed nanobanana 2 / Gemini image-generation prompt — a single
paragraph, not a multi-field brief, following the pattern already proven across
all 10 image briefs in `artifacts/smm/content-plan-10-posts.md`.

This skill does not choose WHAT the post is about (that's
`crm-smm-content-planner`) or which visual track fits the post type (that's
`crm-smm-voice-and-style` §B) — it converts a decided track + subject into the
actual prompt text.

## When this skill activates

Any time a Telegram post needs its "ТЗ для nanobanana 2" field filled in.
Requires the post's visual track (1/2/3, see voice-and-style) and its core visual
idea already decided — ask for those first if missing, don't invent a track.

## Mega-prompt structure (one paragraph, five components in order)

Every prompt in `content-plan-10-posts.md` follows this shape — keep the order,
keep it as prose (not a bulleted brief):

1. **Medium + subject** — what kind of image and of what. Be literal and
   specific: "A single glossy 3D render of...", "3D plush blue alien mascot
   with...", "Editorial fashion photograph of...". Match the visual track
   (fashion-photo / mascot / product-render) chosen in `crm-smm-voice-and-style`.
2. **Composition/action** — what the subject is doing or how it's arranged
   (holding a prop, mid-gesture, grid layout, forked path, etc.) — concrete
   enough that regeneration is consistent, not a vague mood word.
3. **Palette + lighting** — always the brand signature: dark/charcoal base +
   teal/cyan↔purple/magenta gradient or glow, named explicitly (e.g. "soft
   teal-purple bokeh glow", "cool teal-to-magenta gradient glow bleeding from
   behind"), plus a lighting style (studio product lighting / dramatic side
   lighting / golden-hour rim light) that matches the track.
4. **Format + negative space** — always state the aspect ratio (**square 1:1**,
   "+ adaptive 4:5 for Instagram" unless the subject genuinely requires a fixed
   grid, like a hidden-tile puzzle) AND explicitly reserve empty space —
   name which third ("empty space in the lower third for a headline overlay",
   "left side of the lower third left empty for headline text").
5. **Explicit exclusion** — always end with "no text or logos in the image" (or
   equivalent) — the headline is composited afterward, never generated in.

## Worked templates by track

**Track 1 (fashion + gradient headline)** — e.g. Post 3:
> Editorial fashion photograph of [subject/action], shot on [setting] with soft
> bokeh, [warm/cool] rim light contrasted with a cool teal-to-magenta color grade
> applied in post, moody premium editorial look, dark vignette, square 1:1 crop,
> generous empty dark space in the bottom third for a bold white headline
> overlay, no text in the image.

**Track 2 (3D mascot)** — e.g. Post 2 / Post 5 / Post 8:
> 3D plush blue alien mascot with big round cartoon eyes and a silver crown with
> red gems, [holding/doing: prop or gesture tied to the post's mechanic], dark
> background with soft [color] bokeh glow, playful cute studio lighting, glossy
> fur render, square 1:1, empty space in the lower third for a headline overlay,
> no text baked into the image.
>
> Variant without crown (younger/smaller mascot) is valid for softer/community
> posts (see Post 8) — state that explicitly if used.

**Track 3 (glossy product/UI render)** — e.g. Post 1 / Post 4 / Post 9:
> A single glossy 3D render of [product/UI element], on a dark charcoal
> leather-textured or reflective surface, dramatic [lighting description],
> ultra-glossy reflective surfaces, high-end product-photography style, square
> 1:1, generous empty dark space in the [third] for a headline overlay, no text
> or logos in the image.

**Grid/puzzle exception** (e.g. Post 6, "hidden emoji" mechanic): when the
mechanic itself requires a fixed grid (bingo card, hidden-tile puzzle), state the
grid explicitly (e.g. "flat 3x3 grid of large glossy emoji-style icons... one
tile that is a subtly different..."), keep the square 1:1 format, but the 4:5
Instagram adaptive can be dropped since the puzzle needs an exact square — note
that explicitly rather than silently omitting it.

## Method

1. Confirm the post's visual track (1/2/3) and its subject/mechanic — from
   `crm-smm-content-planner` output or ask.
2. Pick the matching worked template above.
3. Fill medium+subject with the SPECIFIC prop/action tied to this post (not a
   generic restatement of the track).
4. Name the palette/lighting explicitly — don't just say "brand colors", spell
   out teal/cyan + purple/magenta + dark base.
5. State format (1:1 default, +4:5 unless a grid mechanic overrides it) and name
   which third is reserved for the headline.
6. Close with the no-text/no-logo exclusion line.
7. Output as ONE prose paragraph, ready to paste into the nanobanana 2 field —
   not a bulleted list of components.

## Anti-patterns

- Bulleted/multi-field prompt instead of one flowing paragraph (nanobanana 2
  responds better to prose, and it breaks the established pattern).
- Omitting the palette (any generated image without teal/purple/magenta +
  dark base drifts from the brand signature).
- Forgetting to reserve headline space, or reserving it in a different third
  than the rest of the channel's recent posts.
- Baking text/logos into the generated image "just this once."
- Dropping the 4:5 adaptive note without a stated reason (only grid/puzzle
  mechanics justify skipping it).
- Writing a vague mood-word prompt ("cool techy vibe") instead of concrete
  medium + subject + action.

## Quality check

- [ ] One paragraph, five components present in order (medium/subject →
      composition → palette/lighting → format+negative-space → exclusion).
- [ ] Palette explicitly names dark base + teal/cyan + purple/magenta.
- [ ] Format states 1:1 (+4:5 unless grid-mechanic exception, and that
      exception is stated, not silent).
- [ ] A specific third of the frame is named as reserved for the headline.
- [ ] Ends with an explicit no-text/no-logo exclusion.
- [ ] Subject/prop is specific to this post's mechanic, not a generic track
      restatement.

## Pair with

- `crm-smm-voice-and-style` §B — which track to pick and why.
- `artifacts/smm/content-plan-10-posts.md` — 10 worked example prompts, one per
  post, all following this exact structure.
- `crm-smm-content-planner` — supplies the post's subject/mechanic this skill
  turns into a prompt.
