Generate Instagram image ad concepts with visual descriptions, copy constraints (125/40/30 chars), and HTML mockups. Visual-first, mobile-native single-image ads for Feed and Stories.
73
58%
Does it follow best practices?
Impact
100%
1.56xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./creative-skills/multi-channel-ad-ideation/channels/instagram/SKILL.mdGenerate Instagram image ad concepts with vivid visual descriptions and HTML mockups. Instagram is visual-first: the image is the hero, copy supports it.
This skill can be used standalone or delegated from multi-channel-ad-ideation.
Standalone usage: User directly invokes "Generate Instagram ad concepts for..."
Delegated usage: Multi-channel skill invokes this skill after creative direction is selected:
When delegated, expect this context:
Use this context to create visual-first concepts where image quality and mobile-native design align with the creative direction.
Image constraint: Generate concepts for single static images only. No:
Generate 3-5 Instagram image ad concepts using table format for easy side-by-side comparison:
Format requirements - Table Format:
Colors: ..., Composition: ..., Focal Point: ..., Typography: ..., Style: ...| | | | | | |) between concept pairs for visual spacingExample Table Format:
| Concept | Primary Text | Headline | Description | CTA Button | Quality |
|---|---|---|---|---|---|
| Bold Visual Impact "Transform your morning routine with UltraFit Pro" | Transform your morning routine with UltraFit Pro. Premium sound, all-day comfort, seamless connectivity. Available now. | UltraFit Pro - Now Available | Premium wireless headphones | Shop Now | 31/35 |
| ↳ Image Concept (1080x1080px): Colors: #667eea (Deep Purple) → #764ba2 (Violet), Composition: Product centered with rule of thirds, Focal Point: Headphones at 30-degree angle, Typography: "NEW" badge in top-right corner, Style: Clean, minimal, premium aesthetic | |||||
| Lifestyle Focus "Your perfect workout companion" | Your perfect workout companion. Designed for athletes who demand more. Sweat-proof, secure fit, exceptional sound. Train harder. | Fitness-First Audio | Engineered for performance | Learn More | 29/35 💪 |
| ↳ Image Concept (1080x1080px): Colors: #10b981 (Success Green) → #059669 (Dark Green), Composition: Action shot with dynamic movement, Focal Point: Athlete mid-workout wearing headphones, Typography: "BUILT TOUGH" text overlay, Style: Energetic, bold, athletic |
Key Benefits of Table Format:
Note: The markdown table format above is the default. Always use standard markdown tables for Instagram concepts to enable easy horizontal comparison while ensuring reliable rendering.
Required workflow: Every time you generate HTML for Instagram, write the HTML to a file and call mcp__tdx-studio__open_file to open the preview. Complete both the file writing and preview opening steps automatically.
ONLY generate HTML mockups AFTER user confirms text concepts with phrases like:
HTML Generation and Preview Workflow (complete all steps):
../references/html-preview-templates.mdinstagram-ad-*.png files in working directorybackground-image:url(data:image/png;base64,{base64_string}) with background-size:cover;background-position:center in image areabackground:{color} with emoji/text placeholderinstagram-preview-{timestamp}.html in working directory (use YYYYMMDD-HHMMSS format for timestamp)mcp__tdx-studio__open_file with the absolute file path to open preview in artifact panelImportant workflow requirement: After generating HTML for Instagram, always complete steps 4 and 5 automatically. Write the HTML to a file and immediately open it with mcp__tdx-studio__open_file. This ensures the user sees the preview without needing to ask for it.
Image Integration Note: If you previously generated an image using the image-gen skill, this workflow will automatically detect the most recent instagram-ad-*.png file and use it as the background image in the HTML preview. This creates a more realistic preview with actual AI-generated visuals instead of placeholders.
Example:
### Concept: [Concept Name] - HTML Preview
[Generated HTML mockup]Preview automatically opened in artifact panel via mcp__tdx-studio__open_file
Generate HTML when:
Do NOT generate HTML when:
This skill automatically integrates with the image-gen skill to create more realistic HTML previews.
How it works:
image-gen skill firstinstagram-ad-*.png file in the working directoryExample workflow:
User: "Generate an Instagram ad image for hiking boots"
[image-gen skill creates instagram-ad-20250316-143022.png]
User: "Now show me the HTML mockup"
[This skill detects the PNG, converts to base64, embeds in HTML]
Result: HTML preview displays with the actual generated hiking boots image as backgroundFallback: If no instagram-ad-*.png file is found, the HTML mockup uses the standard placeholder/emoji approach.
This is the caption text that appears below the image.
Formula: [Hook] + [Benefit/Value] + [CTA hint]
Good examples:
Tips:
Appears in feed and can show in some placements.
Good examples:
Tips:
Optional additional context, often hidden.
Good examples:
When to use: Additional offer details, shipping info, time limits
Instagram provides preset CTA buttons. Choose the most appropriate:
E-Commerce:
Lead Generation:
Engagement:
App-Focused:
Event/Booking:
Avoid: Vague CTAs like "Learn More" when "Shop Now" is more specific
1. Rule of Thirds Focal point at intersection of 1/3 grid lines. Best for: Product photography, lifestyle shots Example: Product in left third, empty space right third with text overlay
2. Centered & Symmetrical Subject perfectly centered, balanced composition. Best for: Minimalist aesthetic, bold statements, symmetry Example: Coffee cup centered, clean background, text below
3. Full-Bleed Product Product fills entire frame, no empty space. Best for: E-commerce, fashion, food Example: Close-up of product with vibrant colors edge-to-edge
4. Text-Dominant Large text overlay, image as background. Best for: Announcements, quotes, bold statements Example: "50% OFF" huge text, subtle background pattern
5. Lifestyle Context Product in real-world setting with person/environment. Best for: Demonstrating use case, aspirational lifestyle Example: Person using product in beautiful setting
High-Contrast (stands out in feed):
Brand-Consistent:
Emotional Tone:
When to use on-image text:
Typography best practices:
Logo placement:
Brand colors:
Visual identity:
Feed Image (Square):
Feed Image (Portrait):
Stories (optional, but same creative):
Recommendation: Default to 1080x1080px square unless portrait makes sense for the product.
For complete HTML preview templates, reference ../references/html-preview-templates.md.
Basic Instagram mockup structure:
<div style="max-width:375px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,sans-serif;">
<div style="background:#fff;border:1px solid #dbdbdb;border-radius:3px;">
<!-- Instagram header -->
<div style="padding:14px;display:flex;align-items:center;border-bottom:1px solid #efefef;">
<div style="width:32px;height:32px;border-radius:50%;background:#ddd;margin-right:12px;"></div>
<strong style="font-size:14px;color:#262626;">brand_name</strong>
</div>
<!-- Image (1:1 ratio) -->
<div style="position:relative;width:100%;padding-bottom:100%;background:{{image_bg}};overflow:hidden;">
<div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:40px;text-align:center;">
{{image_content}}
</div>
</div>
<!-- Caption -->
<div style="padding:12px 16px;">
<p style="font-size:14px;line-height:18px;color:#262626;margin:0;">
<strong>brand_name</strong> {{primary_text}}
</p>
</div>
<!-- CTA button -->
<div style="padding:0 16px 16px 16px;">
<button style="width:100%;background:#0095f6;color:#fff;border:none;border-radius:8px;padding:9px;font-size:14px;font-weight:600;cursor:pointer;">
{{cta_button}}
</button>
</div>
</div>
</div>Format reminder: Always use the markdown table format shown in "Phase 1: Text Concept Format" above. Here's an example:
| Concept | Primary Text | Headline | Description | CTA Button | Quality |
|---|---|---|---|---|---|
| Product Hero - Minimal "Introducing the UltraFit Pro" | Introducing the UltraFit Pro. Wireless. Waterproof. 48-hour battery. Your new workout essential. 🎧 | Meet UltraFit Pro Headphones | Free shipping + 30-day returns | Shop Now | 34/35 |
| ↳ Image Concept (1080x1080px): Colors: #FFFFFF (Clean White) → #1a1a1a (Matte Black) → #0095f6 (Vibrant Blue accent), Composition: Centered product shot with rule of thirds, Focal Point: Sleek black headphones at 30° angle, Typography: "NEW" badge top-right (Helvetica Bold, blue), Style: Clean, minimal, premium tech aesthetic |
Busy images - Too many elements compete for attention Unreadable text - Low contrast or too small on mobile Generic stock photos - Looks inauthentic, doesn't stand out Exceeding character limits - Copy gets cut off No clear focal point - Eye doesn't know where to look Brand elements too large - Logo shouldn't dominate Ignoring mobile preview - Looks great on desktop, tiny on phone
Do this instead: Single clear focal point, high contrast text, authentic imagery, respect 125/40/30 limits, test on mobile, subtle branding, mobile-first design
Tip: Instagram ads work best when they don't look like ads. Aim for content that fits naturally in users' feeds while clearly communicating your offer.
79bb9b8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.