--- name: landing-page-builder description: "Build a campaign landing page that mirrors the ad's exact promise, with tracking wired before spend starts. Use when a campaign is ready but the destination page does not exist or does not match." license: MIT compatibility: "Works with any Agent-Skills-compatible AI (Claude, ChatGPT, Cursor, Codex, and more). Ad-account actions run through Adspirer." metadata: author: "Adspirer" version: "1.0.0" adspirer_category: "creative-production" adspirer_source: "https://www.adspirer.com/skills/landing-page-builder" adspirer_trigger: "build a landing page that matches my campaign offer" adspirer_connection_url: "https://adspirer.ai/sign-up" adspirer_primary_keyword: "landing page builder" adspirer_secondary_keywords: "campaign landing page, landing page maker" adspirer_launch_wave: "2" adspirer_kind: "skill" adspirer_level: "operator" adspirer_platforms: "meta,google" adspirer_supported_clients: "claude,claude-code,claude-cowork,chatgpt,codex,cursor,gemini,windsurf" adspirer_summary: "Mirror the live ad's promise on a dedicated page, wire tracking, and verify it works before any spend points at it." adspirer_connections_required: "adspirer,webflow" adspirer_connections_optional: "vercel" --- # Landing Page Builder ## Use this when The campaign is built, the creative is approved, and the destination is the homepage — because the page for this specific offer was never made. The ad promises a particular discount to a particular audience, and the page it lands on talks about the company in general. Spend is scheduled to start Monday. Use this skill to build the page the ad actually deserves. It works out: - what the ad literally promises, read from the live ad rather than from a brief; - how the page must mirror that promise so the visit is not immediately confusing; - what tracking has to be in place before a single click arrives; - whether the page holds up on a phone, which is where most of the traffic will be; and - whether the whole thing actually works end to end before spend points at it. This is for building a dedicated page for a campaign that is ready to launch. It is not for redesigning a site, and it is not a substitute for a proper conversion-rate optimization programme on an established page. ## What you need - Adspirer connected to the ad account, so the page can be built against the ad's real wording rather than an approximation of it. - Webflow connected, with an active site and permission to publish a page on it. This skill builds within an existing site rather than standing up new hosting. - The offer, stated exactly: what is promised, to whom, and what the visitor is meant to do next. - The site's existing styling, so the page looks like it belongs to the brand rather than like a page built by a machine. - Where the page collects information, a decision on where that information goes and who acts on it. - Optional Vercel access to confirm deploy status and check the page is genuinely serving. Without it, publication is verified by fetching the page directly. ## Procedure **Connect Adspirer before any live ad-account step.** Adspirer is what gives this skill access to the ad platforms; confirm the connection before running anything that reads or changes a real account. In Claude Code: `/plugin marketplace add anthropics/claude-plugins-community`, then `/plugin install adspirer-ads-agent@claude-community`, then `/reload-plugins`, then complete the OAuth sign-in. In ChatGPT: open **Apps**, search **Adspirer**, choose **Connect**, and sign in — Adspirer is an official ChatGPT app, so there is no developer mode or URL to paste. In claude.ai or Claude Desktop: Settings → Connectors → Add custom connector → `https://mcp.adspirer.com/mcp`. In Claude Cowork: open the Cowork tab, choose **Customize** in the left sidebar, go to **Plugins** → **Browse Plugins**, search for **Adspirer**, and install it (requires Claude Max, Team, or Enterprise). Any other client: https://www.adspirer.com/docs/ai-clients. Sign-in link for the user: https://adspirer.ai/sign-up. Do not proceed with live ad-account steps until the connection is confirmed. 1. **Read the promise from the live ad, not from the brief.** Pull the exact headline, body, and call-to-action wording from the ad that will point here. Briefs drift from what actually got published, and the page has to match what the visitor really saw. Where several ads will point at this page, identify the common promise they all share and note where they differ, since a page cannot mirror two incompatible offers well. 2. **Build the page to mirror that promise.** Lead with the same claim in the same language, and make the action the ad asked for the obvious next step. Use the site's existing styling so the page reads as part of the brand. Keep it to the one job the ad set up — a page carrying the campaign offer plus the full navigation and three unrelated calls to action converts worse than the focused version, and this is the most common way a dedicated page ends up no better than the homepage. 3. **Wire tracking before the page is finished, not after.** Confirm the analytics and conversion tracking the campaign depends on are present and firing on this specific page. A page that converts perfectly and reports nothing is indistinguishable from a page that does not work, and the campaign will be judged on what is measured. Where the tracking a platform needs is not present, say so and treat it as a launch blocker rather than a follow-up task. 4. **Publish and verify it genuinely works.** Publish the page and then check it as a visitor would: load it on a phone, follow the action through to completion, and confirm the submission or purchase actually lands where someone will see it. Where Vercel is connected, confirm the deploy succeeded rather than assuming. A page that returns an error or a slow first load will burn the campaign's opening hours, which are the ones the platforms weigh most heavily. 5. **Hand back the URL with what is and is not done.** Deliver the live URL alongside the tracking that is confirmed firing, the ad wording it mirrors, and anything outstanding — a form destination nobody owns, a consent requirement, a legal review. Pointing the campaign at this page is a separate step, and the ad is not updated by this skill. ## Fixed checks - Read the ad's live wording from the ad account rather than from a brief or a screenshot. - Confirm the page's headline and call to action mirror that wording, and report any deliberate divergence. - Confirm analytics and conversion tracking are present and firing on this specific page, not merely installed site-wide. - Fetch the published URL and confirm it returns successfully rather than trusting the publish step. - Check the page on a mobile viewport before declaring it done, since most traffic will arrive that way. - Complete the page's own action end to end and confirm the result arrives at its destination. - Confirm the offer wording matches any legal or substantiation constraint already applied to the ad. ## Stop conditions - **Success:** the page is live, mirrors the ad, has tracking confirmed firing, and its action has been completed end to end. - **No change needed:** an existing page already matches the ad's promise and tracks correctly. - **Blocked — offer:** the ad's promise is unclear or several ads promise incompatible things, so the page cannot mirror one honestly. - **Blocked — access:** Webflow access or publish permission is missing, or the ad account cannot be read. - **Blocked — tracking:** the conversion tracking the campaign depends on cannot be placed on the page. - **Needs approval:** the page is built and ready to publish, or published and awaiting sign-off before the campaign points at it. - **Needs a handoff:** legal review, consent configuration, CRM setup, or a form destination owner is outstanding. ## Approval boundaries This skill builds and publishes a page within the connected site, and reads ad accounts to do it. It does not create, edit, enable, or repoint any campaign or ad — connecting the campaign to this page is a separate decision applied with its own explicit approval. It cannot change site-wide navigation or templates beyond the page being built, install site-wide tracking infrastructure, obtain legal or consent sign-off, configure a CRM, or alter the offer itself. Where publishing is irreversible on a live site, it confirms before publishing rather than after. Anything it could not verify is reported as unverified rather than assumed working. ## What you get A live page that says what the ad said, in the same words, with the action the ad asked for as the obvious next step — built inside the existing site so it looks like it belongs rather than like a detour. Tracking is confirmed firing on that specific page before launch, which is the difference between a campaign you can judge and one that reports nothing and gets cancelled for it. The page is checked the way a visitor will meet it: on a phone, with the action followed all the way through to confirm the submission actually lands somewhere a person will see it. You also get the honest remainder — anything unverified, any outstanding legal or consent requirement, any form destination without an owner — stated rather than assumed. Pointing the campaign at the page stays your decision, and the ads are untouched.