$npx -y skills add MoizIbnYousaf/marketing-cli --skill image-genGenerate images using the brand's visual identity and Gemini API. Reads brand/creative-kit.md for visual style, crafts narrative prompts, and produces images via Nano Banana Pro (gemini-3-pro-image-preview). Supports on-brand and freestyle modes. Use when the user needs a blog he
| 1 | # /image-gen — On-Brand Image Generation |
| 2 | |
| 3 | Describe what you need. Get an image that looks like your brand made it. |
| 4 | |
| 5 | This skill reads your visual brand identity from `brand/creative-kit.md`, crafts a narrative prompt that bakes in your style constraints, and generates the image via Gemini API. No brand style defined yet? It still works — just at a lower enhancement level. Run `/visual-style` first for the best results. |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | ## On Activation |
| 10 | |
| 11 | 1. Check `GEMINI_API_KEY` environment variable. |
| 12 | - If missing: "Image generation requires a Gemini API key. Set GEMINI_API_KEY in your environment. Get one at ai.google.dev." |
| 13 | - Do not proceed without it. |
| 14 | |
| 15 | 2. Read brand files in priority order: |
| 16 | - `brand/creative-kit.md` — look for `## Visual Brand Style` section |
| 17 | - `brand/voice-profile.md` — personality informs image tone |
| 18 | - `brand/positioning.md` — angles inform visual metaphors |
| 19 | - `brand/landscape.md` — Claims Blacklist (don't generate imagery that visually implies blacklisted claims) |
| 20 | |
| 21 | 3. Determine enhancement level: |
| 22 | |
| 23 | | Level | Context available | Image quality | |
| 24 | |-------|------------------|---------------| |
| 25 | | L0 | No brand files | Good generic images — uses discovery questions + prompt craft | |
| 26 | | L1 | voice-profile.md | Personality-aligned — playful brand gets warm/bright images | |
| 27 | | L2 | + creative-kit.md colors/typography | Color-constrained — palette woven into prompts | |
| 28 | | L3 | + Visual Brand Style section | Fully on-brand — style anchors, lighting, mood, composition all applied | |
| 29 | |
| 30 | --- |
| 31 | |
| 32 | ## Phase 1: Discovery |
| 33 | |
| 34 | Use AskUserQuestion. Ask one at a time. Skip questions the user already answered in their request. |
| 35 | |
| 36 | **Question 1: Purpose** |
| 37 | "What's this image for?" |
| 38 | - Blog header / article illustration |
| 39 | - Social media post (which platform?) |
| 40 | - Product shot / marketing asset |
| 41 | - Hero image / landing page |
| 42 | - Presentation / slide deck |
| 43 | - Something else (describe it) |
| 44 | |
| 45 | This determines aspect ratio: |
| 46 | |
| 47 | | Use case | Default ratio | Resolution | |
| 48 | |----------|---------------|------------| |
| 49 | | Blog header | 16:9 | 2K | |
| 50 | | Social square | 1:1 | 2K | |
| 51 | | Social story | 9:16 | 2K | |
| 52 | | Hero / banner | 21:9 | 2K | |
| 53 | | Product shot | 4:3 | 4K | |
| 54 | | Thumbnail | 16:9 | 1K | |
| 55 | |
| 56 | **Question 2: Feeling** |
| 57 | "What should someone feel when they see this?" |
| 58 | (Free text — this drives the prompt's emotional anchor) |
| 59 | |
| 60 | **Question 3: Style override** (only if L3 brand style exists) |
| 61 | "Use your on-brand style, or something different?" |
| 62 | - On-brand (default) — applies Visual Brand Style from creative-kit.md |
| 63 | - Different — describe the style you want instead |
| 64 | |
| 65 | If user picks "different," their description overrides the brand style for this image only. |
| 66 | |
| 67 | **Skip discovery when:** The user's request is specific enough. "Generate a 16:9 blog header showing a glowing terminal on a dark background, warm rim lighting" — don't ask what they want, they just told you. |
| 68 | |
| 69 | --- |
| 70 | |
| 71 | ## Phase 2: Prompt Crafting (Nano Banana Prompt Engineering) |
| 72 | |
| 73 | You are an expert Nano Banana prompt engineer. Your job is to turn the user's brief into a single, high-quality prompt for Nano Banana 2 (or Pro), a "thinking" image model used for professional asset production. |
| 74 | |
| 75 | **Core principle: brief a senior art director, don't list keywords.** Write natural language in full sentences. Never use "tag soup" like "dog, park, 4k, realistic." |
| 76 | |
| 77 | ### The 10 Rules |
| 78 | |
| 79 | **1. General style.** Be specific and descriptive about subject, setting, composition, camera/viewpoint, lighting, mood, materials, and textures. Full sentences, not comma lists. |
| 80 | |
| 81 | **2. Context and purpose.** Always encode the purpose and audience (YouTube thumbnail, app icon, hero banner, tweet graphic, 4K wallpaper). Let purpose guide style, polish level, and framing. |
| 82 | |
| 83 | **3. Text and infographics.** If text must appear, put it clearly in quotes in the prompt. Ask for legible, clean typography and specify style (b |