Writes Facebook and Instagram ad copy for one funnel stage, inside Meta's character limits, ready to paste in.
Produces the four text fields a Meta ad needs: primary text, headline, description and the CTA button choice, matched to one funnel stage. TOF copy stops the scroll, MOF copy generates leads and builds trust, BOF copy closes. It selects a hook formula and a body structure from frameworks used by Hormozi, Kern, Billy Gene and Laurel Portie, respects the visible character limits, and formats the output for where it is going: Meta Ads Manager for your agency's ads, GHL AI Ads for a client's.
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 |
|---|---|
| The image or video behind the ad, meaning visual concepts and generation prompts | creative-director |
| Non-ad persuasion assets: emails, sales pages, sales letters, organic posts | legendary-copywriters |
| Organic social captions written from a video transcript | social-caption-writer |
| A VSL script the ad drives traffic to | vsl-architect |
| Campaign structure, audiences, budgets and Lead Form plumbing this copy loads into | meta-lead-system |
| The landing page the ad clicks through to | funnel-architect |
| What you need | Why | |
|---|---|---|
| A decided funnel stage: TOF, MOF or BOF, or cold, warm, hot | The stage picks the framework, the structure and the CTA. Without it the skill has to guess and you get copy aimed at the wrong temperature | Required |
The right workspace active: _default for your agency, client--* for a client | Agency mode writes ads that sell your agency, client mode writes ads that sell your client's business. The wrong workspace produces the wrong audience entirely | Required |
brand/[workspace]/verified-claims.md with entries marked consent: ok-as-stated | Every number, result, testimonial and named client in an ad has to trace to it, or it gets genericised and flagged as a proof gap | Required |
epistemology.md in the workspace | Ad hooks are built from your invisible assumptions and reframes. Without it the skill warns you and writes benefit-led ads instead, and the skill itself says to expect lower click-through | Optional |
ica-output.md and offer-output.md | The ICA supplies audience pain, desire and language for the hooks. The offer supplies the value stack and pricing for BOF ads | Optional |
lead-magnet-output.md if the ad drives to a lead magnet | The skill pulls the magnet's title, hook and value proposition straight into the TOF and MOF copy | Optional |
| A GHL sub-account for the client, if these are client ads | Client ad copy is formatted for AI Ads inside that sub-account. No sub-account, no deployment path for the copy | Optional |
brand/[workspace]/assets.md after an ad copy set of three or more variationsverified-claims.md comes back generic with [PROOF GAP: ask the client for a real number/result here] where the number should be. The four agency templates that lean hardest on proof, case study and authority ads, are the ones that suffer most from an empty registry. Fill it before you write those.epistemology.md costs performance, not just depth. The skill says so directly: it falls back to benefit-led hooks and you should expect lower click-through.| The mistake | Do this instead |
|---|---|
| Asking for 'some Facebook ads' with no funnel stage | Say TOF, MOF or BOF, or cold, warm, hot. The stage decides the framework, the structure and the CTA button. Everything downstream is wrong if this is wrong. |
| Running the skill in the wrong workspace | Check brand/_active.md first. In _default it writes ads selling your agency. In a client--* workspace it writes ads selling the client's business to their customers. |
| Expecting it to build the campaign as well as the copy | Campaign structure, audiences, budgets and Lead Forms are a different job. This skill hands you the four text fields and the CTA choice. |
| Writing headlines that read well but get truncated | Keep the headline to 40 characters and the description to 30, and put the whole hook inside the first 125 characters of the primary text. Everything past that is below the fold. |
| Asking for a case study ad before the client has attested to the result | Get the number and the consent into verified-claims.md first. Otherwise the ad's central claim comes back as a proof gap flag. |
| Requesting one ad and shipping it | Ask for a set. Three or more variations gives you something to test and triggers the learning loop that tunes future hook style and CTA wording to your feedback. |
The hook is the whole ad, and the skill will only produce a strong one if epistemology.md gives it something to argue against. The pattern that converts cold traffic is 'you believe X, the deeper truth is Y', which needs a real invisible assumption from your audience on file. Run the profile-deepening work once and every ad set after it gets better hooks, rather than benefit statements dressed up as hooks.