> Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.
npx skills add https://github.com/gooseworks-ai/goose-skills --skill ad-to-landing-page-auditor
The #1 reason ads get clicks but not conversions: the landing page doesn't deliver on the ad's promise. This skill audits the full click path — from ad copy to landing page experience — and flags every disconnect.
Core principle: A great ad with a mismatched landing page is worse than a mediocre ad with a matched one. Message match is the single biggest conversion lever most startups ignore.
If the user has a CSV export from their ad platform, parse that instead.
Parse the provided ads into:
| Ad ID | Platform | Headline | Body/Description | CTA | Landing Page URL | Conv Rate (if known) |
|-------|----------|----------|-----------------|-----|-----------------|---------------------|
For each unique landing page URL, fetch the page content:
fetch_webpage: [landing_page_url]
If fetch_webpage is not available, use curl to retrieve the page HTML.
Extract and score:
| Element | Found? | Content |
|---------|--------|---------|
| Hero headline | [Y/N] | "[Text]" |
| Subheadline | [Y/N] | "[Text]" |
| Primary CTA | [Y/N] | "[Button text]" |
| CTA above fold | [Y/N] | — |
| Social proof | [Y/N] | [Logos / testimonials / metrics] |
| Benefit list | [Y/N] | [Key benefits listed] |
| Form / Sign-up | [Y/N] | [Field count: N] |
| Video | [Y/N] | — |
| Trust signals | [Y/N] | [Security badges, guarantees] |
For each ad → landing page pair, score on:
| Dimension | Score (1-10) | Criteria |
|-----------|-------------|----------|
| Promise continuity | [X] | Does the LP headline deliver on the ad's promise? |
| Language match | [X] | Does the LP use the same words/phrases as the ad? |
| Visual continuity | [X] | Does the LP feel like a continuation of the ad? (Not assessable for search) |
| CTA alignment | [X] | Does the LP's ask match what the ad implied? |
| Specificity match | [X] | If the ad was specific ("for sales teams"), is the LP specific too? |
| Emotional match | [X] | If the ad used fear/urgency, does the LP carry that forward? |
Message Match Score: [Average/60]
| Score | Rating | Meaning |
|-------|--------|---------|
| 50-60 | Excellent | Strong match — LP delivers on every ad promise |
| 40-49 | Good | Minor disconnects but overall coherent |
| 30-39 | Needs work | Noticeable gaps — visitor has to hunt for relevance |
| 20-29 | Poor | Ad and LP feel like different products |
| Below 20 | Critical | Complete mismatch — fix immediately |
Beyond message match, assess landing page conversion friction:
| Friction Type | Check | Status |
|--------------|-------|--------|
| Load time | Does the page feel heavy/slow? (Asset count proxy) | [Fast/Slow/Unknown] |
| Form length | How many fields before conversion? | [N fields] — [Appropriate/Too many] |
| CTA clarity | Is there one clear CTA or competing actions? | [Clear/Cluttered] |
| Above-fold conversion | Can someone convert without scrolling? | [Yes/No] |
| Social proof placement | Is proof near the CTA? | [Yes/No] |
| Navigation distraction | Does the LP have full site nav? (Should be minimal) | [Minimal/Full nav] |
| Mobile experience | Any mobile-unfriendly elements? | [Good/Issues] |
# Ad-to-Landing Page Audit — [Product/Client] — [DATE]
Ads audited: [N]
Unique landing pages: [N]
Platform(s): [Google / Meta / LinkedIn]
Overall message match: [Score/60] — [Rating]
---
## Executive Summary
[3-4 sentences: Overall finding, biggest disconnect, top recommendation, estimated conversion impact]
---
## Audit Results by Ad → Landing Page Pair
### Ad 1: "[Ad headline excerpt]"
**Platform:** [Google Search / Meta / LinkedIn]
**Ad copy:**
> Headline: "[text]"
> Body: "[text]"
> CTA: "[text]"
**Landing page:** [URL]
> LP headline: "[text]"
> LP subhead: "[text]"
> LP CTA: "[button text]"
**Message Match Score: [X/60] — [Rating]**
| Dimension | Score | Issue |
|-----------|-------|-------|
| Promise continuity | [X/10] | [Specific finding] |
| Language match | [X/10] | [Specific finding] |
| CTA alignment | [X/10] | [Specific finding] |
| Specificity match | [X/10] | [Specific finding] |
| Emotional match | [X/10] | [Specific finding] |
**Disconnect found:** [Specific description of mismatch]
**Recommended fix:** [Specific change to ad or LP]
### Ad 2: ...
---
## Landing Page Friction Report
### [Landing Page URL]
| Friction Point | Status | Impact | Fix |
|---------------|--------|--------|-----|
| [Friction] | [Red/Yellow/Green] | [High/Med/Low] | [Specific fix] |
---
## Priority Fixes
### Critical (Fix This Week)
1. **[Ad/LP pair]:** [Specific mismatch] → [Specific fix]
- Est. conversion impact: [X% improvement]
### Important (Fix This Month)
2. **[Issue]:** [Fix]
### Nice-to-Have
3. **[Issue]:** [Fix]
---
## Rewrite Suggestions
### For [Ad or LP with worst match]:
**Current ad headline:** "[current]"
**Suggested ad headline:** "[rewrite that matches LP]"
OR
**Current LP headline:** "[current]"
**Suggested LP headline:** "[rewrite that matches ad]"
Save to ad-lp-audit-[YYYY-MM-DD].md in the current working directory (or user-specified path).
| Component | Cost |
|-----------|------|
| Landing page fetching | Free |
| Analysis | Free (LLM reasoning) |
| Total | Free |
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take gooseworks-ai/ad-to-landing-page-auditor from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.