Builds a working quiz, calculator, scorecard or audit tool as one self-contained HTML file that captures leads into GoHighLevel.
Produces a single self-contained HTML file under 200KB that runs a working interactive tool: one question per screen, a visible progress bar, an animated results reveal, and a contact-capture gate that POSTs name, email, phone, answers and score to a GoHighLevel webhook. Five types are supported: scored quiz, personality or type quiz, calculator, scorecard or assessment, and audit tool. Alongside the file you get a strategy document, a GHL integration guide, and hosting instructions. No PDFs, no ebooks.
This skill has no button. You start it by saying what you want. Any of these will do it:
| If you actually want | Use this instead |
|---|---|
| a static PDF guide, checklist or swipe file with no scoring | legendary-copywriters |
| the page that hosts the tool, if it is a plain landing or funnel page | frontend-design |
| the funnel around the tool: page order, email and SMS follow-up, CRM sequences | funnel-architect |
| the Meta campaign and Lead Form driving traffic to it | meta-lead-system |
| the ad copy itself | meta-ads-copywriter |
| What you need | Why | |
|---|---|---|
Your ICA or avatar, from an ideal-customer-avatar run or answered directly | the skill states plainly that a lead magnet built without audience clarity produces generic questions and weak conversion | Required |
Your core offer, from an offer-architect run or answered directly | the results-page CTA points at the offer, so without it the tool ends in nothing | Required |
| A decision on what someone should do after seeing their results: book a call, view the offer page, get a detailed report by email, start a trial, or join a waitlist | the skill asks this explicitly and the CTA button text, link and surrounding copy all hang off the answer | Required |
| Your industry or niche | it determines question topics, terminology and scoring logic | Required |
| A choice of delivery version: A for organic and direct traffic (gate screen before results) or B for traffic where the contact already exists in GHL (no gate, contact ID passed by URL parameter). Default is A | the two versions have different screen flows and different webhook payloads, so it cannot be swapped after the build without a rewrite | Required |
| A GoHighLevel Inbound Webhook URL, created in a GHL workflow | without it the tool still runs and shows results, but no lead data leaves the page | Optional |
| Brand colours as hex codes and brand fonts, from brand memory or supplied directly | without them it falls back to high-conversion defaults and a system font stack, so the tool will not match your site | Optional |
For Version B: a GHL workflow that creates the contact and sends the tool link with ?cid={{contact.id}} appended | the contact ID in the URL is how quiz answers attach to the existing record instead of creating a duplicate | Optional |
| For an audit tool in automated mode: a Playwright or Firecrawl MCP connection | without one it falls back to guided mode, which asks the user self-assessment questions instead of analysing their site | Optional |
brand/[workspace]/verified-claims.md holding any number, benchmark or result that will appear on the results page | unbacked specifics get genericised or replaced with a proof gap marker rather than invented | Optional |
learnings.md tagged skill: interactive-lead-magnet.lead-magnet-quiz-[topic-slug].html, lead-magnet-type-[topic-slug].html, lead-magnet-calc-[topic-slug].html, lead-magnet-scorecard-[topic-slug].html or lead-magnet-audit-[topic-slug].htmllead-magnet-strategy.md: type rationale, target audience, expected conversion flow, scoring logic explainedlead-magnet-ghl-setup.md: custom fields to create, webhook setup steps, workflow configuration, testing checklistlead-magnet-output schema artifact, plus entries appended to assets.md and learnings.md[YOUR PHONE] that you must fill before publishing.| The mistake | Do this instead |
|---|---|
| Putting the contact form before the questions | Version A gates after the questions on purpose. Once someone has spent two to five minutes answering, they will not abandon before seeing the result. Capture in front of the questions throws that away. |
| Using Version A for Facebook Lead Form traffic | Use Version B. Those people already gave their details in the Lead Form, so a second form is friction. Version B drops the gate and passes the contact ID by URL so the answers enrich the existing record. |
| Assuming Version B is Facebook only | Version B covers any pre-captured source. Email link clicks from an existing subscriber and SMS link clicks from a text campaign follow the same pattern, because the contact already exists in GHL. |
| Building the tool before checking whether it is worth building | Run the ROI gate first. A tool that pulls high volume from non-buyers such as students, job seekers and hobbyists fails the gate no matter how good the usage numbers look. |
| Writing 15 questions to look thorough | Stay in range: 5 to 8 for a scored quiz, 6 to 10 for a personality quiz, 3 to 6 inputs for a calculator, 2 to 3 questions per category for a scorecard. Length costs completions. |
| Shipping generic results copy | The quality gate requires personalised recommendations per result tier, not platitudes. Each tier needs its own specific, actionable advice and its own CTA framing. |
The gate screen placement is the whole conversion mechanism, not a form location. Contact capture sits after every question because the visitor has already invested the time and will not walk away one screen before their result. That is also why the gate copy is written as anticipation ("your results are ready") rather than as a request for details, and why the quality gate checks that copy specifically. Move the form to the front and you have built a landing page with a quiz attached, which converts like a landing page.