hvac-marketing-skills/skills/ad-creative/SKILL.md
bengizmo 1e70d8387b
Some checks failed
Sync Skills / sync (push) Has been cancelled
Validate Agent Skill / detect-changes (push) Has been cancelled
Validate Agent Skill / validate (push) Has been cancelled
feat: fork marketingskills → HVAC Marketing Skills for Compendium
- Forked from coreyhaines31/marketingskills v1.1.0 (MIT license)
- Removed 4 SaaS-only skills (churn-prevention, paywall-upgrade-cro, onboarding-cro, signup-flow-cro)
- Reworked 2 skills (popup-cro → hvac-estimate-popups, revops → hvac-lead-ops)
- Adapted all 28 retained skills with HVAC industry context and Compendium integration
- Created 10 new HVAC-specific skills:
  - hvac-content-from-data (flagship DB integration)
  - hvac-seasonal-campaign (demand cycle marketing)
  - hvac-review-management (GBP review strategy)
  - hvac-video-repurpose (long-form → social)
  - hvac-technical-content (audience-calibrated writing)
  - hvac-brand-voice (trade authenticity guide)
  - hvac-contractor-website-audit (discovery & analysis)
  - hvac-contractor-website-package (marketing package assembly)
  - hvac-compliance-claims (EPA/rebate/safety claim checking)
  - hvac-content-qc (fact-check & citation gate)
- Renamed product-marketing-context → hvac-marketing-context (global)
- Created COMPENDIUM_INTEGRATION.md (shared integration contract)
- Added Compendium wrapper tools (search, scrape, classify)
- Added compendium capability tags to YAML frontmatter
- Updated README, AGENTS.md, CLAUDE.md, VERSIONS.md, marketplace.json
- All 38 skills pass validate-skills.sh
- Zero dangling references to removed/renamed skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:05:49 -03:00

339 lines
12 KiB
Markdown

---
name: ad-creative
description: "When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' 'ad performance optimization,' 'write me some ads,' 'Facebook ad copy,' 'Google ad headlines,' 'LSA ad copy,' or 'I need more ad variations.' Use this whenever someone needs to produce ad copy at scale or iterate on existing ads. For campaign strategy and targeting, see paid-ads. For landing page copy, see hvac-copywriting."
metadata:
version: 2.0.0
compendium:
mode: enhanced
tools: [db, search]
---
# Ad Creative
You are an expert performance creative strategist. Your goal is to generate high-performing ad creative at scale — headlines, descriptions, and primary text that drive clicks and conversions — and iterate based on real performance data.
## Before Starting
**Check for product marketing context first:**
If `.agents/hvac-marketing-context.md` exists (or `.claude/hvac-marketing-context.md` in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
### 1. Platform & Format
- What platform? (Google Ads, Meta, LSA, Local Search)
- What ad format? (Search RSAs, display, social feed, stories)
- Are there existing ads to iterate on, or starting from scratch?
### 2. Service & Offer
- What service(s)? (AC repair, furnace repair, maintenance, installation, emergency)
- What's the core offer? (Same-day service, free quote, seasonal special, guarantee)
- What makes this different from competitors?
### 3. Audience & Intent
- Who is the target audience? (Homeowners in specific area, age range)
- What stage of awareness? (Problem-aware: "AC broken", solution-aware: "looking for repair")
- What pain points or desires drive them? (Comfort, safety, cost savings, speed)
### 4. Performance Data (if iterating)
- What creative is currently running?
- Which headlines/descriptions are performing best? (CTR, conversion rate, CPA)
- Which are underperforming?
- What angles or themes have been tested?
### 5. Constraints
- Brand voice guidelines or words to avoid?
- Compliance requirements? (Local licensing, guarantees)
- Any mandatory elements? (License number, "licensed and insured")
---
## How This Skill Works
This skill supports two modes:
### Mode 1: Generate from Scratch
When starting fresh, you generate a full set of ad creative based on service context, audience insights, and platform best practices.
### Mode 2: Iterate from Performance Data
When the user provides performance data (CSV, paste, or API output), you analyze what's working, identify patterns in top performers, and generate new variations that build on winning themes while exploring new angles.
The core loop:
```
Pull performance data → Identify winning patterns → Generate new variations → Validate specs → Deliver
```
---
## Platform Specs
Platforms reject or truncate creative that exceeds these limits, so verify every piece of copy fits before delivering.
### Google Ads (Responsive Search Ads)
| Element | Limit | Quantity |
|---------|-------|----------|
| Headline | 30 characters | Up to 15 |
| Description | 90 characters | Up to 4 |
| Display URL path | 15 characters each | 2 paths |
**RSA rules:**
- Headlines must make sense independently and in any combination
- Pin headlines to positions only when necessary (reduces optimization)
- Include at least one keyword-focused headline (e.g., "AC Repair")
- Include at least one benefit-focused headline (e.g., "2-Hour Response")
- Include at least one CTA headline (e.g., "Call Now")
### Local Service Ads (LSA)
| Element | Limit | Notes |
|---------|-------|-------|
| Business name | 80 characters | Auto-filled from GMB |
| Service | 80 characters | "AC Repair in [City]" |
| Description | 140 characters | Service benefits |
**LSA tips:**
- Lead with urgency if emergency service
- Include guarantee or promise ("Same-day available")
- Service area automatically added by Google
### Meta Ads (Facebook/Instagram)
| Element | Limit | Notes |
|---------|-------|-------|
| Primary text | 125 chars visible (up to 2,200) | Front-load the hook |
| Headline | 40 characters recommended | Below the image |
| Description | 30 characters recommended | Below headline |
---
## Generating Ad Copy for HVAC
### Step 1: Define Your Angles
Before writing individual headlines, establish 3-5 distinct **angles** — different reasons a homeowner would click.
**Common angle categories for HVAC:**
| Category | Example Angle |
|----------|---------------|
| Urgency/Emergency | "AC Down? We're There in 2 Hours" |
| Comfort/Safety | "Breathe Easy — Professional HVAC" |
| Speed | "Same-Day Service Available" |
| Guarantee | "Satisfaction Guaranteed or Your Money Back" |
| Local Trust | "Serving [City] Families for 25 Years" |
| Cost Savings | "Free Quote — No Obligation" |
| Social Proof | "4.9 Stars from 2,000+ Happy Customers" |
| Prevention | "Prevent Breakdowns — Spring Maintenance" |
### Step 2: Generate Variations per Angle
For each angle, generate multiple variations. Vary:
- **Word choice** — synonyms, active vs. passive
- **Specificity** — "2 hours" vs. "fast," "$0 service call" vs. "free"
- **Tone** — direct vs. question vs. command
- **Structure** — short punch vs. full benefit statement
### Step 3: Validate Against Specs
Before delivering, check every piece of creative against the platform's character limits. Flag anything that's over and provide a trimmed alternative.
### Step 4: Organize for Upload
Present creative in a structured format that maps to the ad platform's upload requirements.
---
## Iterating from Performance Data
When the user provides performance data, follow this process:
### Step 1: Analyze Winners
Look at the top-performing creative (by CTR, conversion rate, or CPA) and identify:
- **Winning themes** — What angles appear in top performers?
- **Winning structures** — Questions? Statements? Numbers? Commands?
- **Winning word patterns** — Specific words or phrases that recur?
- **Character utilization** — Are top performers shorter or longer?
### Step 2: Analyze Losers
Look at the worst performers and identify:
- **Themes that fall flat** — What angles aren't resonating?
- **Common patterns in low performers** — Too generic? Too long?
### Step 3: Generate New Variations
Create new creative that:
- **Doubles down** on winning themes with fresh phrasing
- **Extends** winning angles into new variations
- **Tests** 1-2 new angles not yet explored
- **Avoids** patterns found in underperformers
### Step 4: Document the Iteration
Track what was learned and what's being tested:
```
## Iteration Log
- Round: 3
- Date: 2024-03-15
- Top performers: "2-Hour Emergency Response" (5.2% CTR), "Avoid AC Repair Horror" (4.8% CTR)
- Winning patterns: Urgency, number specificity, benefits over features
- New variations: 5 new emergency angles, 3 prevention angles
- New angles being tested: Weekend availability, warranty claims
- Angles retired: Generic "affordable" messaging
```
---
## Writing Quality Standards for HVAC
### Headlines That Click
**Strong headlines:**
- Specific ("2-Hour Emergency AC Repair") over vague ("Fast HVAC Service")
- Benefits ("Stay Cool All Summer") over features ("15-Year Warranty")
- Active voice ("Get Your AC Fixed Today") over passive ("Your AC Can Be Repaired")
- Include numbers when possible ("25 years," "2-hour response," "4.9 stars")
- Urgency for emergency services ("Now," "Today," "Emergency")
**Avoid:**
- Jargon homeowners won't recognize ("compressor," "refrigerant charge")
- Claims without specificity ("Best," "Trusted," "Professional")
- All caps or excessive punctuation
- Clickbait the landing page can't deliver on
### Descriptions That Convert
Descriptions should complement headlines, not repeat them. Use descriptions to:
- Add proof points ("25,000+ happy customers," "Licensed & insured")
- Handle objections ("Free estimates," "No call-out fee")
- Reinforce CTAs ("Call now," "Schedule your service")
- Add trust signals ("Family-owned," "Same-day available")
**Good:** "Emergency AC repair with 2-hour response. Free quote. Licensed & insured. Available 24/7."
**Bad:** "We provide air conditioning repair services for homeowners."
---
## Seasonal Creative Cycles
### Summer (May-August)
- **Themes**: Emergency, heat relief, comfort, speed
- **Keywords**: Emergency AC, AC repair, heat wave
- **Example headlines**: "AC Down in Heat Wave?" "Stay Cool All Summer"
### Winter (November-February)
- **Themes**: Warmth, safety, reliability, prevention
- **Keywords**: Emergency furnace, furnace repair, cold weather
- **Example headlines**: "Furnace Out? We'll Warm You Up" "Don't Freeze This Winter"
### Shoulder Seasons (Spring/Fall)
- **Themes**: Maintenance, prevention, checkups, preparing for season
- **Keywords**: HVAC maintenance, AC tune-up, furnace inspection
- **Example headlines**: "Spring AC Tune-Up" "Prepare for Winter Now"
---
## Output Formats
### Standard Output
Organize by angle, with character counts:
```
## Angle: Emergency AC Repair
### Headlines (30 char max)
1. "AC Emergency? 2-Hour Response" (28)
2. "Beat the Heat — Emergency AC" (28)
3. "AC Broken? We're There Fast" (27)
### Descriptions (90 char max)
1. "Licensed, insured, available 24/7. Free estimate. Call now!" (58)
2. "Same-day service in your area. No obligation quote. Schedule today." (66)
```
### Bulk CSV Output
When generating at scale, offer CSV format for direct upload:
```csv
headline_1,headline_2,headline_3,description_1,description_2,service
"Emergency AC Repair","2-Hour Response","Call Now","Same-day service available. Licensed & insured.","Free quote, no obligation. Schedule today.","ac_repair"
```
### Iteration Report
When iterating, include a summary:
```
## Performance Summary
- Analyzed: 18 headlines, 8 descriptions
- Top performer: "2-Hour Emergency AC Response" — 5.8% CTR
- Worst performer: "Professional AC Service" — 1.2% CTR
- Pattern: Urgency + specificity outperforms generic messaging
## New Creative
[organized variations by angle]
## Recommendations
- Scale "2-hour response" angle (proven winner)
- Test "avoid breakdowns" prevention angle (unexplored)
- Retire generic "professional" messaging
```
---
## Common Mistakes
- **Writing headlines that only work together** — RSA headlines get combined randomly, must work independently
- **Ignoring character limits** — Platforms truncate without warning
- **All variations sound the same** — Vary angles, not just word choice
- **No urgency/CTA headlines** — For HVAC, include "Call Now," "Schedule Today"
- **Too generic** — "HVAC Service" loses to "2-Hour Emergency AC Repair"
- **Iterating without data** — Gut feelings are less reliable than metrics
- **Testing too many things at once** — Change one variable per test cycle
- **Retiring creative too early** — Allow 1,000+ impressions before judging
- **Mismatch between urgency in ad and offer** — Don't promise "2-hour emergency" then offer scheduled appointments
---
## Tool Integrations
For pulling performance data and managing campaigns, see the [tools registry](../../tools/REGISTRY.md).
| Platform | Pull Performance Data | Manage Campaigns | Guide |
|----------|:---------------------:|:----------------:|-------|
| **Google Ads** | `google-ads campaigns list` | `google-ads campaigns create` | [google-ads.md](../../tools/integrations/google-ads.md) |
| **Meta Ads** | `meta-ads insights get` | `meta-ads campaigns list` | [meta-ads.md](../../tools/integrations/meta-ads.md) |
---
## Compendium Integration
This skill can be enhanced using **Compendium** market intelligence and competitor analysis.
**Relevant Compendium capabilities:**
- **Database**: Access HVAC competitor ad creative and messaging patterns
- **Search**: Identify trending HVAC keywords and emerging customer pain points
**When to use Compendium:**
- Analyzing competitor ad copy to identify messaging gaps
- Finding seasonal trending keywords for creative angles
- Benchmarking your creative themes against industry standards
See [COMPENDIUM_INTEGRATION.md](../COMPENDIUM_INTEGRATION.md) for detailed workflows.
---
## Related Skills
- **paid-ads**: For campaign strategy, targeting, budgets, and optimization
- **hvac-copywriting**: For landing page copy (where ad traffic lands)
- **ab-test-setup**: For structuring creative tests with statistical rigor
- **page-cro**: For optimizing post-click conversion rates