lp-optimization
Landing Page Conversion Optimization — Orchestrator
Communication — Horizontal. Coordinates specialized audit agents to diagnose conversion blockers and produce prioritized, evidence-based fix recommendations.
Core Question: "What's stopping visitors from converting?"
Philosophy
The frameworks here (PAS, 4-U, social proof hierarchy) are evidence-backed defaults. They work in most situations. But landing pages serve different audiences, traffic sources, and goals. When your data or testing reveals a different optimal approach, follow the data. The principles matter more than the specific numbers. This orchestrator dispatches specialist agents for each concern, then a critic agent ensures every recommendation meets the evidence bar.
Critical Gates — Read First
- Do NOT recommend fixes without evidence. Every finding must include: what was observed, which principle it violates, and a specific recommended fix (exact text, not "improve the headline").
- Check message match BEFORE optimizing copy. A perfectly written headline that doesn't match the traffic source will still bounce visitors. Message match is the first conversion gate.
- Form fields: every field >5 costs ~10% conversion. This is an evidence-backed default (Unbounce/HubSpot research). Exceptions exist for high-intent enterprise traffic — but the exception must be justified, not assumed.
Inputs Required
- Landing page URL or description of the page
- ICP research from
research/icp-research.md(recommended — VoC language strengthens copy) - Traffic source context (where visitors come from)
Output
- Optimization recommendations with specific copy/structure changes
- For new pages: complete page structure with copy
Quality Gate
Before delivering, the critic agent verifies:
- Headline scores >=3 out of 4 on the U's (Useful, Unique, Urgent, Ultra-specific)
- Message matches the traffic source (headline echoes the ad/link that brought them)
- One primary CTA per page (secondary CTAs don't compete)
- Trust signals appear within scroll-distance of every CTA
- Form has <=5 fields (or justified why more are needed)
- Social proof is from the last 12 months (older proof replaced or removed)
- Every audit finding includes: what was observed, which principle it violates, and a specific recommended fix
- Prioritized fix list has ICE scores with documented reasoning
- No vague recommendations ("improve the headline" — must be specific replacement text)
Chain Position
Horizontal — works with icp-research (audience data), copywriting (copy craft), and lp-brief (page redesigns from this audit).
Re-run triggers: After major page redesigns, when conversion drops >10%, when traffic source mix changes significantly, or quarterly.
Skill Deference
- Need a redesigned page (not just an audit)? → Run
lp-brief— it consumes this skill's audit and produces a redesign brief. - Need craft-quality headline rewrites or CTA copy? → Run
copywritingfor variation workflow and evaluation rubric. - AI pattern cleanup needed? → Use
humanize— this skill focuses on conversion mechanics, not voice/pattern editing.
Agent Manifest
| Agent | Layer | File | Focus |
|---|---|---|---|
| Hero Audit | 1 (parallel) | agents/hero-audit-agent.md |
Headline, subheadline, hero CTA, above-the-fold assessment |
| Trust Audit | 1 (parallel) | agents/trust-audit-agent.md |
Social proof, testimonials, credibility signals, trust hierarchy |
| CTA Audit | 1 (parallel) | agents/cta-audit-agent.md |
All CTAs, risk reversal, form fields, conversion friction |
| UX Audit | 1 (parallel) | agents/ux-audit-agent.md |
Navigation, mobile, load speed, cognitive load, visual hierarchy |
| Message Match | 2 (sequential) | agents/message-match-agent.md |
Ad/email/search-to-LP message continuity |
| Prioritization | 2 (sequential) | agents/prioritization-agent.md |
Ranks findings by conversion impact, ICE scoring |
| Critic | 2 (final) | agents/critic-agent.md |
Quality gate — PASS/FAIL with rewrite routing |
Routing Logic
Classify the task, then follow the matching route.
Route A: Quick Audit
When: User wants a fast assessment of a specific concern (headline, CTA, or form) — not a full-page audit.
1. Pre-dispatch: Gather context (Step 0 below)
2. Dispatch 1-2 relevant agents:
- Headline concern → hero-audit-agent
- CTA/form concern → cta-audit-agent
- Both → hero-audit-agent + cta-audit-agent in parallel
3. Dispatch: prioritization-agent (on selected agent outputs)
4. Dispatch: critic-agent
5. If critic returns FAIL → re-dispatch named agent(s) with feedback (max 2 cycles)
6. Deliver prioritized fix list
Route B: Full Audit
When: User wants a comprehensive landing page conversion audit.
1. Pre-dispatch: Gather context (Step 0 below)
2. LAYER 1 — Dispatch IN PARALLEL:
- hero-audit-agent
- trust-audit-agent
- cta-audit-agent
- ux-audit-agent
3. MERGE: Combine all Layer 1 outputs into unified audit findings
4. LAYER 2 — Dispatch SEQUENTIALLY:
- message-match-agent (receives merged L1 output)
- prioritization-agent (receives message-match output)
- critic-agent (receives prioritization output)
5. If critic returns FAIL → re-dispatch named agent(s) with feedback (max 2 cycles)
6. Deliver final audit artifact
Route C: New Landing Page (Write Mode)
When: User wants to create a new landing page, not audit an existing one.
This is a write workflow, not an audit workflow. The agents are repurposed as planning advisors.
1. Pre-dispatch: Gather context (Step 0 below)
2. Read ICP research (if available) for VoC language and pain points
3. Define primary conversion goal (one per page)
4. Generate headline using hero-audit-agent's 4-U framework:
- Generate 10+ headline variations using formula library
- Score each with 4-U formula
- Select top 3 for presentation
5. Structure body with PAS framework (from core-principles reference)
6. Plan social proof using trust-audit-agent's hierarchy:
- Identify strongest proof available
- Place above fold
7. Design form using cta-audit-agent's form rules:
- Minimal fields (start with email only)
- First-person CTA formula
- Risk reversal placement
8. Plan UX using ux-audit-agent's checklist:
- Remove navigation
- Mobile-first layout
- Trust signals near every CTA
9. Verify message match with traffic source(s)
10. Run through quality gate checklist
11. Deliver page structure with copy recommendations
Note: Route C uses the agent frameworks and reference files as planning tools but follows the sequential workflow rather than parallel dispatch, since the page doesn't exist yet to audit in parallel.
Pre-Dispatch
Run the Pre-Dispatch protocol (meta-skills/references/pre-dispatch-protocol.md).
Needed dimensions: URL or page paste, primary conversion goal, traffic source(s), traffic source copy (ad headlines, email subject, search meta), known conversion baseline if any.
Read order:
- Pipeline:
research/icp-research.mdfor VoC + audience belief mapping.research/product-context.mdfor product accuracy constraints. - Experience:
.agents/experience/{audience,goals}.md. - Page itself: fetch URL or read paste.
If pipeline artifact date fields >30 days old, warn and recommend re-running icp-research (soft gate — proceed with "stale ICP" header note).
Warm Start (URL supplied + audience known + goal clear from invocation):
Found:
- page → "[URL]"
- audience → "[from icp-research.md]"
- inferred goal → "[from URL pattern: /pricing → purchase, /signup → signup, etc.]"
Need before auditing: traffic source(s) and source copy (for message-match check)?
Cold Start (URL only, no context):
lp-optimization audits a landing page for conversion friction. The audit's
specificity depends on knowing the goal, audience, and traffic source —
without them, recommendations stay generic.
1. **URL or paste** — page to audit. (If URL is auth-walled, paste HTML or
screenshots of all sections.)
2. **Primary conversion goal** — signup / purchase / demo request / download
/ lead capture / other?
3. **Traffic source(s)** — paid ad / SEO / email / social / direct / referral.
Multiple OK. Drives message-match analysis.
4. **Source copy** (for any traffic source named in Q3) — ad headlines,
email subject lines, search meta descriptions, social post copy.
Without this, message-match agent can only guess at coherence.
5. **Audience** — primary buyer (or point me at `research/icp-research.md`).
6. **Conversion baseline** if known — current conversion rate or volume.
Answer 1-6 (skip Q4 if no traffic sources, Q6 if unknown) in one response.
I'll dispatch the audit.
Write-back:
| Q | File | Key |
|---|---|---|
| 2. Goal | goals.md |
Goals — page conversion goal: [URL/route] |
| 5. Audience | audience.md |
Audience — primary persona (only if novel) |
| 6. Baseline | goals.md |
Goals — baseline conversion: [URL/route] |
| 1, 3, 4. URL + traffic + source copy | (page-specific, not persisted) |
Dispatch Protocol
How to spawn a sub-agent
For each agent dispatched below, use the Agent tool with a prompt constructed as follows:
- Read the agent instruction file (e.g.,
agents/hero-audit-agent.md) — include its FULL content in the Agent prompt - Append the brief and pre-writing context after the instructions
- Resolve file paths to absolute: replace relative paths with absolute paths rooted at this skill's directory. Example: if this skill is at
/Users/you/skills/lp-optimization/, thenreferences/core-principles.mdbecomes/Users/you/skills/lp-optimization/references/core-principles.md. Tell the agent: "Read the reference file at [absolute path] for domain knowledge." - Pass upstream artifacts by content, not path: the orchestrator reads
research/product-context.mdandresearch/icp-research.mdFIRST, then includes relevant excerpts (VoC quotes, pain language, product details) in the pre-writing object. Sub-agents should NOT read artifact files directly — the orchestrator curates what they need. - If feedback exists (from a critic FAIL cycle), append it at the end of the prompt with the header "## Critic Feedback — Address Every Point"
Single-agent fallback
If multi-agent dispatch is unavailable (no Agent tool, single-agent runtime, or context constraints), execute each agent's instructions sequentially in-context:
- Layer 1: run each agent's domain instructions one at a time, writing each section
- Layer 2: apply each refinement pass to the full document in order
- Critic: self-evaluate using the critic-agent's rubric and quality gate
The output quality should be equivalent — the multi-agent pattern optimizes for parallelism and focus, not capability.
Layer 1: Parallel Audit Agents
Spawn the following agents IN PARALLEL (multiple Agent tool calls in a single message). For each agent, follow the Dispatch Protocol above.
| Agent | Instruction File | Pass These Inputs | Reference Files to Resolve |
|---|---|---|---|
| Hero Audit | agents/hero-audit-agent.md |
brief + pre-writing | references/core-principles.md, references/advanced-psychology.md |
| Trust Audit | agents/trust-audit-agent.md |
brief + pre-writing | references/social-proof-trust.md |
| CTA Audit | agents/cta-audit-agent.md |
brief + pre-writing | references/core-principles.md |
| UX Audit | agents/ux-audit-agent.md |
brief + pre-writing | references/ux-design.md |
For quick audit tasks (Route A): Dispatch only the relevant agent(s), not all four.
Merge Step
After all Layer 1 agents return, assemble their outputs into a unified audit document.
Section Order (full audit)
- Hero Assessment — hero-audit-agent's headline, subheadline, and hero CTA evaluation
- Trust & Social Proof Assessment — trust-audit-agent's proof inventory, gaps, and recommendations
- CTA & Conversion Assessment — cta-audit-agent's CTA inventory, form audit, risk reversal, friction analysis
- UX & Page Experience Assessment — ux-audit-agent's navigation, mobile, speed, cognitive load findings
Assembly Rules
The merge is deterministic assembly, not creative synthesis. Slot each agent's output into the unified document by ownership:
| Section | Owner Agent |
|---|---|
| Headline Assessment | Hero Audit |
| Subheadline Assessment | Hero Audit |
| Hero CTA Assessment | Hero Audit |
| Above-the-Fold Verdict | Hero Audit |
| Social Proof Inventory | Trust Audit |
| Recency Assessment | Trust Audit |
| Cognitive Bias Utilization | Trust Audit |
| Trust Signal Clustering | Trust Audit |
| CTA Inventory | CTA Audit |
| Form Audit | CTA Audit |
| Risk Reversal Audit | CTA Audit |
| Conversion Friction Analysis | CTA Audit |
| Navigation Assessment | UX Audit |
| Visual Hierarchy | UX Audit |
| Mobile Experience | UX Audit |
| Page Speed | UX Audit |
| Cognitive Load | UX Audit |
Conflict Resolution
- Each agent owns specific sections (table above). If two agents mention the same element (e.g., both hero-audit and cta-audit reference the hero CTA), keep the version from the section owner.
- If hero-audit's headline assessment contradicts ux-audit's visual hierarchy assessment, note both perspectives and let the prioritization agent resolve via ICE scoring.
Layer 2: Sequential Analysis
Dispatch these agents ONE AT A TIME, IN ORDER using the Dispatch Protocol above. Each receives the previous agent's full output as the upstream field.
message-match-agent → prioritization-agent → critic-agent
| Step | Agent | Instruction File | Receives |
|---|---|---|---|
| 1 | Message Match | agents/message-match-agent.md |
Merged Layer 1 output + traffic source data |
| 2 | Prioritization | agents/prioritization-agent.md |
Message match output (includes all findings) |
| 3 | Critic | agents/critic-agent.md |
Prioritization output (final document) |
Each agent returns the full document with their analysis added + a change log.
Critic Gate
The critic agent returns one of two verdicts:
PASS
The audit meets all quality standards. Deliver the critic's approved output as the final artifact.
FAIL
The critic returns specific failures with:
- Which sections failed and why
- Specific fix instructions
- Which agent to re-dispatch
Rewrite loop:
- Read the critic's failure report
- Re-dispatch ONLY the named agent(s) with the critic's feedback attached as the
feedbackinput - Run the modified output back through the critic
- Maximum 2 rewrite cycles. After 2 failures, deliver the audit with the critic's annotations and flag to the user: "Audit scored [X] — manual review recommended on [specific sections]."
Artifact Template
When saving optimization artifacts, use this frontmatter:
---
skill: lp-optimization
version: 1
date: [today's date]
status: done | done_with_concerns | blocked | needs_context
---
On re-run: rename existing artifact to
[name].v[N].mdand create new with incremented version.
Next Step
Run copywriting to rewrite specific sections. Run seo for technical search optimization. For sweeping redesigns, run lp-brief to spec the next iteration.
Worked Example — Full Audit (Route B)
Brief: Audit the Acme Analytics free trial page for conversion optimization. Audience: Engineering managers at 50-200 person companies, problem aware. Traffic: Google Ads ("real-time analytics dashboard"), LinkedIn ads (cold), and organic search.
Step 0: Pre-Dispatch
- Conversion goal: Free trial signup
- Audience: EMs who need real-time visibility but feel buried in tool sprawl
- Traffic: Google Ads (warm, searched for solution), LinkedIn (cold, interrupted), organic
- Traffic source copy: Google Ad headline: "Real-time analytics dashboard — 14-day free trial"
Layer 1: Parallel Dispatch
--> Hero audit agent returns: Headline "The Best Analytics Platform for Modern Teams" scores 1/4 on 4-U. Recommends: "See every metric your team tracks — one screen, updated every 5 minutes." (4/4). 5 variations provided. --> Trust audit agent returns: No testimonials above fold. Customer logos present but below fold. No recency dates on testimonials. Tier 1 proof missing entirely. Recommends: add strongest result quote near hero CTA, move 3 logos above fold, date-stamp all testimonials. --> CTA audit agent returns: Hero CTA "Get Started" (no first-person, no specificity). Form has 7 fields (name, email, company, role, size, phone, referral source). No risk reversal near any CTA. Recommends: "Start My Free Trial" + cut to 3 fields + "14-day free trial. No credit card." --> UX audit agent returns: Full site nav present (7 links). Mobile CTA below fold. Page load 3.8s due to uncompressed hero image. No sticky CTA on mobile.
Merge (orchestrator assembles)
Slots all Layer 1 outputs into unified audit: Hero Assessment -> Trust Assessment -> CTA Assessment -> UX Assessment.
Layer 2: Sequential Dispatch
--> Message match agent receives merged output + traffic source data. Finds: Google Ad promises "real-time" and "dashboard" — headline mentions neither. Ad says "14-day free trial" — page says "Get Started" with no trial mention. LinkedIn ad not checked ([BLOCKED: no ad copy provided]). Organic meta title partially matches. Scores: Google Ads = Mismatch, Organic = Partial Match.
--> Prioritization agent receives message-match output. Consolidates all findings. Ranks by ICE:
- Rewrite headline for message match (ICE: 9.3)
- Cut form from 7 to 3 fields (ICE: 8.7)
- Add risk reversal near hero CTA (ICE: 8.0)
- Move testimonial above fold (ICE: 7.0)
- Remove navigation links (ICE: 6.7)
- Compress hero image for speed (ICE: 6.3)
- Add sticky CTA on mobile (ICE: 6.0)
Dispatch: Critic Agent --> PASS
Scores: Completeness 5, Specificity 5, Evidence 4, Prioritization 5, Actionability 5. Average: 4.8/5. All quality gate items checked. Approved.
Final Artifact
---
skill: lp-optimization
version: 1
date: 2026-03-17
status: done
---
# LP Audit — Acme Analytics Free Trial Page
## Headline Assessment
Current: "The Best Analytics Platform for Modern Teams"
4-U Score: 1/4 (Useful only — not Unique, not Urgent, not Ultra-specific)
Recommended: "See every metric your team tracks — one screen, updated every 5 minutes."
4-U Score: 4/4
## Message Match
Traffic source: Google Ads — "real-time analytics dashboard"
Current headline mentions neither "real-time" nor "dashboard" → broken match.
Fix: Echo "real-time dashboard" in headline.
## Social Proof Audit
- No testimonials above fold → add strongest result quote near hero CTA
- Customer logos present but below fold → move 3 logos above fold
## Form Audit
Current: 7 fields (name, email, company, role, size, phone, referral source)
Recommended: 3 fields (name, email, company) — collect rest via progressive profiling after signup
Expected impact: ~40% form completion improvement
## Priority Action Items
| # | Fix | Expected Impact | Effort | ICE |
|---|-----|----------------|--------|-----|
| 1 | Rewrite headline for message match | High | Low | 9.3 |
| 2 | Cut form to 3 fields | High | Low | 8.7 |
| 3 | Add risk reversal near hero CTA | High | Low | 8.0 |
| 4 | Move testimonial above fold | Medium | Low | 7.0 |
| 5 | Remove navigation links | Medium | Low | 6.7 |
| 6 | Compress hero image | Medium | Low | 6.3 |
| 7 | Add sticky CTA on mobile | Medium | Medium | 6.0 |
Anti-Patterns
Redesign without diagnosis — Jumping to "make it look better" without identifying what's actually blocking conversion. Diagnose before prescribing. INSTEAD: Run the full audit (Route B) to identify specific blockers, then fix in priority order.
Testing design before copy — A/B testing button colors or layouts when the headline doesn't pass the 4-U test. Copy is responsible for 80%+ of conversion impact. INSTEAD: Fix the words before the visuals. Follow the testing priority order: headlines > offers > CTAs > layout > forms.
Ignoring mobile experience — Optimizing for desktop when 60%+ of traffic is mobile. INSTEAD: Check thumb zone placement for CTAs, ensure forms are completable one-handed, verify load time on mobile networks, add sticky CTA for long pages.
Social proof without specificity — "Trusted by thousands of companies" is weaker than "Used by 3,247 teams including Stripe and Notion." INSTEAD: Every social proof element must include specific numbers, named companies, or measurable results.
Multiple competing CTAs — Primary CTA, secondary CTA, sidebar CTA, and exit-intent popup all fighting for attention. INSTEAD: One primary CTA per page — secondary CTAs must not visually compete. Audit the CTA hierarchy.
Vague audit recommendations — "Improve the headline" or "Add social proof" without specifics. INSTEAD: Every recommendation must include: what was observed, which principle it violates, and exact replacement text or action.
Skipping message match — Optimizing page copy without checking if it matches the traffic source. INSTEAD: Always verify message match first. A perfectly written headline that doesn't match the ad will still bounce visitors.
Completion Status
Every run ends with explicit status:
- DONE — audit complete (Route A or B), findings prioritized by ICE, critic PASS, recommendations specific and actionable
- DONE_WITH_CONCERNS — audit delivered but with limited evidence (page rendered but analytics unavailable, traffic source unclear); recommendations note evidence gaps
- BLOCKED — page URL inaccessible or behind auth wall the agent cannot pass; needs user-supplied screenshots or paste
- NEEDS_CONTEXT — audit useful but
research/icp-research.mdmissing for audience-fit checks; recommendicp-researchor proceed with reduced scope
Agent Files
Sub-Agent Instructions (agents/)
- agents/hero-audit-agent.md — Headline, subheadline, hero CTA, above-the-fold
- agents/trust-audit-agent.md — Social proof, testimonials, credibility signals
- agents/cta-audit-agent.md — CTAs, risk reversal, form fields, conversion friction
- agents/ux-audit-agent.md — Navigation, mobile, speed, cognitive load
- agents/message-match-agent.md — Traffic source message continuity
- agents/prioritization-agent.md — ICE scoring, testing roadmap
- agents/critic-agent.md — Quality gate, PASS/FAIL, rewrite routing
- agents/_template.md — Reusable template for creating new agent files
Shared References (references/)
- references/core-principles.md — Headlines, value props, CTAs, forms, message match, PAS
- references/social-proof-trust.md — Social proof hierarchy, biases, trust signals
- references/ux-design.md — Visual hierarchy, mobile optimization
- references/advanced-psychology.md — Headline formulas, close sequences, pricing, urgency
- references/testing-optimization.md — A/B testing, tracking
- references/implementation-checklist.md — Pre-launch checklists
Sources: CopyHackers, CXL, Unbounce
More from hungv47/marketing-skills
imc-plan
Creates integrated marketing plans — channel strategy, positioning, content calendar, budget allocation, and go-to-market timelines. Produces `.agents/mkt/imc-plan.md`. Not for writing actual content (use content-create) or setting numeric targets (use funnel-planner). For SEO strategy, see seo. For landing page optimization, see lp-optimization.
15attribution
Maps marketing activities to business outcomes — evaluates channel ROI, identifies what's driving results, and recommends where to double down or cut spend. Produces `.agents/mkt/attribution.md`. Not for setting new KPIs (use funnel-planner) or creating new content (use content-create). For campaign planning, see imc-plan. For experiment design, see experiment.
15cold-outreach
Writes and evaluates cold outreach — email, LinkedIn, Twitter/X, platform proposals — with signal-based personalization, channel-specific craft, and rubric scoring. Produces `.agents/mkt/cold-outreach/[slug].md` (+ `.rationale.md` + `.critic-score.md`). Handles first-touch compose and reply-to-inbound modes. Not for campaign orchestration or sequence design (compose touches individually, pass prior touches as context). Not for sourcing/list-building (start at 'here's who I'm reaching'). Brand voice: see brand-system. AI-sounding cleanup: humanize runs as terminal pass.
7short-form-brief
Produces production-ready briefs for short-form video — hook, shot list, on-screen text, audio plan, caption, CTA, aspect, length — covering live-action and motion-graphic production modes. Native cross-platform tailoring (1 hero + max 2 variants per invocation). Reads short-form-research.md catalog. Not for static visual (use design-brief), long-form video (parked), or paid ad creative (parked). For brand voice, see brand-system; for audience, see icp-research.
2