Claude Code's Landing Page Generator Skill: Build a City × Service Matrix for SEO Without Writing a Single Page Manually
Use Claude Code's /landing-page-generator skill to build a city × service matrix — tree trimming Toronto, tree trimming Vancouver
One Skill, Infinite Pages: How Claude Code’s /landing-page-generator Turns a City × Service Matrix Into an SEO Asset
The command is /landing-dash-page-generator [service] [city] [traffic source]. Type it once, and Claude Code generates a fully customized landing page for that specific combination — tree trimming Toronto, tree trimming Vancouver, tree trimming Montreal — without you touching a template or writing a single line of HTML.
This is the zipper approach to page multiplication, and if you’re running any kind of local or regional service business, it’s the most underused SEO lever available to you right now.
The mechanic is simple: you have two sides of a zipper. One side is geography — cities, boroughs, neighborhoods. The other side is services. You zip them together and you get a matrix. A landscaping company serving four cities with five service lines has twenty potential landing pages. Most businesses have one. That gap is the opportunity.
The Skill That Builds the Matrix
Before the skill exists, you need the environment. The build stack here is Anti-Gravity — Google’s free desktop coding workspace — with the Claude Code plugin installed from the left sidebar. Claude Code requires a paid Anthropic plan, though Anti-Gravity gives you some free credits via its own agent builder if you want to test before committing.
Not a coding agent. A product manager.
Remy doesn't type the next file. Remy runs the project — manages the agents, coordinates the layers, ships the app.
The other prerequisite is a claude.md file in your project folder. This file is the instruction set — it tells Claude how to behave on web projects specifically. Think of it as onboarding documentation for a new hire. Without it, Claude will build something generic. With it, Claude builds to a defined standard. The creator of this workflow makes his claude.md available in a free School community linked from his video.
Once your environment is set up and you’ve built your first landing page — using a Dribbble.com design as a visual reference, uploaded directly to Claude as an image — you convert that page into a skill. The prompt is straightforward: ask Claude to turn the current project into a skill called /landing-dash-page-generator. Claude creates the workflow. From that point, you open a new tab, type the command with three arguments, and the page gets generated.
The three arguments matter. [service] scopes the page to a specific offering. [city] localizes every headline, subheading, and meta element. [traffic source] lets you tune the page for the intent of whoever’s arriving — someone clicking a Google Ad is in a different mental state than someone who found you through organic search. The skill handles all three dimensions simultaneously.
If you’re interested in how skills like this fit into a broader automation architecture, the post on Claude Code skills vs plugins is worth reading — it covers when to build your own skill versus pulling from a packaged plugin bundle.
Why the Matrix Matters for Search
Here’s the thing about search intent that most people building landing pages get wrong: a user who types “tree trimming Toronto” is not looking for a general landscaping company. They’re looking for tree trimming in Toronto. If your page says “landscaping services” in the headline and your URL is /services, you’ve already lost them — not because your service is wrong, but because the signal mismatch triggers doubt.
The creator of this workflow describes it as a unified journey. The search query, the ad listing, the landing page headline, the follow-up text message, and the sales call opening should all use the same language. “Tree trimming in Toronto” all the way through. Every time the language drifts, conversion probability drops.
This is why one generic homepage doesn’t work for SEO at scale. You need the page to reflect the query. And since you can’t manually write fifty location-service pages without losing your mind, you need the skill to generate them.
The zipper approach also applies to paid traffic. If you’re running Google Ads for multiple service lines across multiple cities, you want the ad and the landing page to match exactly. A generic landing page receiving traffic from a specific ad is a conversion leak. The skill closes that leak by generating a page that’s already tuned to the ad’s keyword.
The SEO Warning You Shouldn’t Skip
One caveat that deserves more emphasis than it usually gets: do not generate a thousand pages at once.
Google’s crawlers are pattern-recognition systems. A site that goes from ten pages to a thousand pages in a week looks like a spam operation, because it often is. Google will penalize you for it — not a manual penalty necessarily, but a trust signal degradation that can take months to recover from.
Remy is new. The platform isn't.
Remy is the latest expression of years of platform work. Not a hastily wrapped LLM.
The right approach is gradual ramp-up. Start with your highest-priority city-service combinations. Add pages in batches. Let Google index and evaluate each batch before adding the next. The skill makes generation fast; the deployment cadence should stay slow.
This is a place where having a content production system — rather than a one-time build — actually works in your favor. You can use the skill to generate pages on a schedule rather than all at once. The Claude Code content marketing skill system post covers how to build that kind of scheduled, skill-based production pipeline if you want to apply the same logic to content beyond landing pages.
What’s Buried in the Conversion Data
The page multiplication strategy only pays off if the pages themselves convert. And the conversion data from this workflow is specific enough to be useful.
The creator ran landing pages that achieved a 20% conversion rate — ten times the industry average of 2–4% — and attributes $1.2M in revenue to that gap. That’s not a claim about the skill specifically; it’s a claim about the underlying page architecture the skill replicates.
The S-tier non-negotiables, as he calls them: video testimonials on the page, the lead form directly on the page (not behind a “contact us” link), a founder video, speed-to-lead automation, a clear offer, and risk removal. These aren’t optional enhancements. They’re the baseline.
The video testimonial data is the most striking. Adding nine video testimonials to a Google Ads landing page dropped cost per conversion from $200 to $30 — a 7x reduction. The testimonials don’t have to be studio-produced. A client filming a 30-second clip on their phone often outperforms polished video because it reads as unscaged.
The founder video is its own lever. Adding one increased conversions from 10% to 15% — a 33% lift in leads from a single change. The video should be 45 seconds maximum. You’re not explaining your service; you’re selling yourself as someone worth trusting.
Page load speed is the silent conversion killer. The data is stark: a page that loads in 1 second converts at 3.05%. At 2 seconds, that drops by roughly half. At 4 seconds, you’re at about 0.6% — approximately 20% of what you’d get at 1 second. If you’re spending money on ads and your page takes 4 seconds to load, you’re effectively burning 80% of your ad budget before a visitor reads a single word.
The fix is Lighthouse — Google’s performance auditing tool, built into Chrome DevTools. Run the audit, copy the full report, paste it into Claude with a prompt asking for optimization. The workflow demonstrated going from 90% to 95% performance score in one pass. You iterate until you hit 100%.
Mobile-First Is Not Optional
64% of landing page visitors arrive on mobile. 33% on desktop. 3% on tablet. If you’re designing and testing your pages on a desktop and only checking mobile as an afterthought, you’re optimizing for a third of your traffic.
Coding agents automate the 5%. Remy runs the 95%.
The bottleneck was never typing the code. It was knowing what to build.
Chrome DevTools has a responsive mode — three dots, More Tools, Developer Tools, then the device toggle icon. You can simulate any phone, any tablet, any screen width. The pinned call-to-action button at the bottom of the mobile view — visible throughout the entire scroll — is a different pattern than the scattered CTAs on desktop. Both are intentional. The skill should generate both correctly.
For the pages that do convert, the speed-to-lead automation is what closes the loop. When a form is submitted, a webhook fires, creates a contact in the CRM, and triggers a VoIP call — typically via Twilio as the backbone — within about 10 seconds. The data on this is unambiguous: calling a lead in the same minute they submit a form generates 4x more sales than calling 30 minutes later. Tools like Zapier, Make.com, or n8n can wire this up without writing backend code.
If you want to go further with the orchestration layer — connecting form submissions to CRMs, Slack notifications, calendar bookings, and more — MindStudio handles this kind of multi-step agent workflow visually, with 1,000+ pre-built integrations and support for 200+ AI models, which means you’re not stitching APIs together manually for each new connection.
Testing the Pages You Generate
Generating pages is only half the system. You need to know which variants win.
PostHog is the testing layer here — free, and installable via the PostHog wizard in the terminal. The setup involves pasting a code snippet, authorizing your domain URL, and configuring an experiment that splits traffic 50/50 (or however you want to divide it) between page variants. A “conversion” is defined as landing on the thank-you page after form submission, which PostHog tracks automatically once you’ve set up the authorized URL.
The heat map feature in PostHog — available after you deploy to Vercel — shows you where visitors click, where they stop scrolling, and what they ignore. Session recordings let you watch individual visits in real time. These aren’t vanity metrics; they’re the inputs for the next iteration of the skill.
The deployment pipeline is GitHub → Vercel, both free. The only configuration step that trips people up is environment variables: when you upload to GitHub, your PostHog API keys don’t come with it (they’re in a .gitignore file for security). You have to manually enter them as environment variables in Vercel before deploying. The Next.js preset is required in Vercel’s project settings.
For teams building more complex applications on top of this kind of page infrastructure — not just landing pages but full-stack tools with databases and auth — Remy takes a different approach: you write a spec in annotated markdown and it compiles a complete TypeScript backend, SQLite database, and frontend from it. The spec is the source of truth; the code is derived output. It’s a different abstraction layer than what Claude Code’s skill system operates at, but relevant if the landing page is the front door to something more complex.
The Offer Formula That Anchors Every Page
Every page the skill generates needs an offer. The formula: “We’ll [verb] your [metric] by [number] in [timeframe] or [risk reversal].”
Remy doesn't write the code. It manages the agents who do.
Remy runs the project. The specialists do the work. You work with the PM, not the implementers.
In practice: “We’ll generate you 20 leads per month or your money back.” “We’ll increase your sales by 20% in 90 days or you don’t pay a dime.” The formula works best when the outcome is concrete and measurable. It’s harder to apply to some service categories — landscaping doesn’t have an obvious metric the way lead generation does — but the underlying principle holds: make a specific promise and remove the risk of being wrong.
The offer is what the skill populates into the hero section of each generated page. Because the service and city are passed as arguments, the offer can be localized: “We’ll handle your tree trimming in Toronto in under 48 hours or the next service is free.” That specificity is what makes the page feel written for the visitor rather than assembled for everyone.
The animated 3D websites with Claude Code post covers the visual production side of high-end landing pages if you want to push the design quality of the pages the skill generates — scroll-triggered animations, AI-generated video assets, and the rest of it. The conversion fundamentals stay the same regardless of how polished the design gets.
Running the Skill
The actual workflow, compressed:
Set up Anti-Gravity with the Claude Code plugin. Add the claude.md file to your project folder. Build your first landing page using a Dribbble reference image. Optimize it with the S-tier checklist — form on page, founder video, video testimonials, offer, speed-to-lead webhook. Run Lighthouse, paste the report into Claude, iterate to 100%. Deploy to Vercel via GitHub. Then ask Claude to convert the project into the /landing-dash-page-generator skill.
After that, generating a new city-service page is a single command. The skill handles the localization, the headline tuning, the meta elements, and the structural replication of your winning template. You review, adjust if needed, and deploy.
The matrix builds itself. You just have to start it — and then be patient enough not to publish all of it at once.