skills/composites/ad-to-landing-page-auditor/SKILL.md
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 skillsauth add gooseworks-ai/goose-skills ad-to-landing-page-auditorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 |
development
End-to-end skill that turns a single reference image into a fully-installed, example-rendered style preset for the goose-graphics composite. Analyzes the image, writes the slim style spec, registers it in styles/index.json, generates all 7 format examples using the standard brief, renders PNGs via Playwright, and updates examples/manifest.json. Invoke with /goose-graphics-create-style.
development
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
tools
Take screenshots of any website using Notte browser automation. Use when asked to screenshot, capture, or snap a webpage.
development
Search the web, platforms, and datasets. Use when asked to search, find, look up, research, or discover information from the web, YouTube, Amazon, eBay, news, academic sources, or any online platform.