Cross-platform creative quality audit covering ad copy, video, image, and format diversity across all platforms. Detects creative fatigue, evaluates platform-native compliance, and provides production priorities. Collects brand context and creates branding.md if missing. Uses infographic-v2 for generating ad creatives. Use when user says "creative audit", "ad creative", "creative fatigue", "ad copy", "ad design", or "creative review".
From adsnpx claudepluginhub naveedharri/benai-skillsThis skill uses the workspace's default tool permissions.
./branding.md. If not found, run the Brand Info Collection flow below before proceeding.ads/references/platform-specs.md for creative specificationsads/references/creative-volume.md for per-platform volume and refresh requirementsads/references/benchmarks.md for CTR/engagement benchmarksads/references/scoring-system.md for weighted scoring algorithm/infographic-v2 for any flagged gapsRun this at the start if ./branding.md does not exist in the project root.
Goal: Extract the brand's actual styling, copy, and identity — primarily from their website — to personalize the creative audit and enable on-brand creative generation via infographic-v2.
"Before I audit your creatives, I need your brand context to check consistency. What's your brand name and website URL?"
Ask for the brand name and website URL first. If the user provides a URL, immediately run the website extraction (step 2) before asking any further questions.
Do not guess or assume anything. Extract the actual values from the live website.
Use WebFetch on the homepage URL. Extract ALL of the following:
Visual identity:
font-family declarations used on headings and body text.
Look in CSS, <link> tags for Google Fonts / Typekit / custom font URLs, and inline styles.
Report the exact font names (e.g., "Plus Jakarta Sans", "DM Sans", "Geist"), not generic
fallbacks like "sans-serif".Copy and messaging:
Brand voice signals:
If the homepage left gaps, also fetch:
/about or /about-us — company story, mission, team, more voice signals/pricing — pricing model (free trial, freemium, tiers, contact-us)Only fetch if there are genuine gaps. Don't fetch for the sake of it.
Show everything extracted clearly:
Here's what I found on [website]:
Brand: [name]
Tagline: "[extracted tagline]"
Industry: [detected industry]
Business model: [detected model]
Colors:
Primary: [name] #[hex] — used on [CTAs, headers, etc.]
Secondary: [name] #[hex] — used on [subheadings, etc.]
Accent: [name] #[hex] — used on [highlights, badges, etc.]
Background: #[hex]
Text: #[hex]
Fonts:
Headings: [exact font name]
Body: [exact font name]
Visual style: [description of what you observed]
Button style: [pill/rounded/square], [color], [hover behavior if visible]
Voice: [formal/casual], [serious/playful], [technical/simple]
Hero: "[exact hero headline]"
Value prop: "[extracted value proposition]"
CTAs found: "[CTA 1]", "[CTA 2]", "[CTA 3]"
Social proof: [what's shown — logos, metrics, testimonials]
Does this look right? Anything to correct or add?
The user confirms or corrects. Only after confirmation, proceed with remaining questions.
After website extraction, only ask about things that could not be determined from the website. Skip any section where the website gave a clear answer.
Likely still needed (websites rarely cover these):
Do NOT re-ask about colors, fonts, tagline, visual style, or value proposition if the website extraction already captured them.
If the user does not provide a website URL, collect everything manually:
Write ./branding.md in the project root using the canonical format from
ads/references/brand-context.md.
Every value in branding.md must come from the website extraction or the user's direct answers. Never fill in defaults or placeholders. If a field has no data, leave it blank or omit the section.
Validate before writing:
Brand context saved: ./branding.md
Brand: [name]
Colors: [primary hex] [secondary hex] [accent hex]
Fonts: [heading font] / [body font]
Voice: [tone summary]
Audience: [persona summary]
Proceeding with creative audit...
Then continue with the normal creative audit flow (step 2 onward in the Process section).
| Signal | Threshold | Action |
|---|---|---|
| CTR declining | >20% over 14 days | Refresh creative |
| Frequency (Meta) | >5.0 prospecting, >12.0 retargeting | New audience or creative |
| Watch time declining (TikTok) | <3s average | New hook needed |
| QS declining (Google) | Drop of 2+ points | Refresh ad copy |
| Engagement rate drop | >30% decline | Full creative overhaul |
| Platform | Recommended Refresh |
|---|---|
| Google Search | Every 8-12 weeks |
| Meta | Every 10-14 days (top brands avg 10.4 days); hard ceiling 90 days |
| Every 2-4 weeks; 80/20 winner/testing split | |
| TikTok | Every 10-14 days (fatigue onset 3-5 days, lifespan 7-10 days); hard ceiling 30 days |
| Microsoft | Every 8-12 weeks |
| YouTube | Every 4-8 weeks |
Evaluate which formats are active per platform:
| Format | Meta | TikTok | Microsoft | ||
|---|---|---|---|---|---|
| Static Image | RSA image ext | ✅ | ✅ | ❌ | Multimedia |
| Video | YouTube, PMax | ✅ | ✅ | ✅ (required) | ❌ |
| Carousel | ❌ | ✅ | ✅ | ❌ | ❌ |
| Collection | ❌ | ✅ | ❌ | ❌ | ❌ |
| Document | ❌ | ❌ | ✅ | ❌ | ❌ |
| Shopping | PMax, Shopping | Catalog | ❌ | Shop | Shopping |
Using ./branding.md, evaluate these dimensions. Results are advisory only — they
appear as "Brand Consistency Notes" in the report but are NOT included in the health score.
| Dimension | What to Check |
|---|---|
| Color compliance | Ad visuals use brand primary/secondary colors (hex match) |
| Typography | Headlines and body text match brand font guidelines |
| Tone alignment | Ad copy matches brand voice dimensions (formal/casual, etc.) |
| CTA consistency | CTAs match approved CTA list from branding.md |
| Visual style | Photography/illustration style matches brand guidelines |
| Forbidden elements | No forbidden words or elements present in ads |
| Audience match | Messaging addresses documented persona pain points |
After the audit, when the production priority list identifies creatives to produce (static images, infographics, data visuals for ads), offer to generate them using /infographic-v2.
Flow:
/infographic-v2 — it will pick up ./branding.md for brand-consistent outputWhat infographic-v2 uses from branding.md:
Cross-Platform Creative Health
Google: ████████░░ X/X checks passing
Meta: ██████████ X/X checks passing
LinkedIn: ███████░░░ X/X checks passing
TikTok: █████░░░░░ X/X checks passing
Microsoft: ████████░░ X/X checks passing
CREATIVE-AUDIT-REPORT.md — Per-platform creative assessment