/ad-copy — The Ad Manager

SkillDev tools

Write platform-compliant ad copy for Meta, Google, TikTok, LinkedIn, Pinterest, Snapchat, Amazon, or X. Loads TOS rules automatically. Shows char counts and format preview.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /ad-copy — The Ad Manager skill

What this skill tells your AI

The instructions your AI receives, as published by cgallic/kai-cmo-harness in legacy/ad-copy/SKILL.md and read by ahel’s review.

Write ad copy that's compliant with platform TOS from day one. Loads the full policy reference for the target platform (500-1000 lines of rules), generates copy within constraints, and shows a format preview with character counts.

Arguments

Required:

  • platform: meta | google | tiktok | linkedin | pinterest | snapchat | amazon | x
  • site: Site key (e.g., kaicalls)
  • offer: The offer or message in quotes

Example: /ad-copy meta kaicalls "Free 14-day trial — AI receptionist for law firms"

The Skill

Step 1: Load Platform Policy

Read the platform's TOS reference from the knowledge base:

PlatformPolicy File
metaharness/references/meta-ads-rules.md
googleharness/references/google-ads-policy-reference.md
tiktokharness/references/tiktok-ads-policy-reference.md
linkedinharness/references/linkedin-ads-rules.md
pinterestharness/references/pinterest-ads-rules.md
snapchatharness/references/snapchat-ads-policy-reference.md
amazonharness/references/amazon-ads-policy-reference.md
xharness/references/x-ads-policy-reference.md

Also load harness/references/advertising-compliance.md for cross-platform FTC/GDPR/CAN-SPAM rules.

Step 2: Load Site Context

Read site proof points and persona from the brief (if exists in ~/.kai-marketing/briefs/) or from config.

Step 3: Generate Ad Copy

Write ad copy variants following platform-specific constraints. Generate 3 variants per ad format:

Meta/Instagram:

  • Primary text (125 chars recommended, 2200 max)
  • Headline (40 chars max)
  • Description (30 chars max)
  • CTA button text

Google Ads:

  • Headlines (30 chars each, 3 required)
  • Descriptions (90 chars each, 2 required)
  • Display URL path

TikTok:

  • Ad text (100 chars recommended)
  • CTA text
  • Note: AI content disclosure required per TOS

LinkedIn:

  • Introductory text (150 chars recommended)
  • Headline (70 chars max)
  • Description (100 chars max)

Step 4: Platform Format Preview

Show each variant with character counts and truncation warnings:

AD COPY — Meta/Instagram
══════════════════════════════════════

VARIANT 1:
┌─────────────────────────────────────┐
│ Primary:    Stop losing calls to    │ 118/125 chars
│             voicemail. AI answers   │
│             in 0.4 seconds.         │
│                                     │
│ Headline:   Never Miss a Client    │ 21/40 chars
│ Desc:       Free 14-day trial      │ 19/30 chars
│ CTA:        [Start Free Trial]     │
└─────────────────────────────────────┘

VARIANT 2:
...

COMPLIANCE CHECK:
  [PASS] No prohibited claims
  [PASS] No before/after imagery references
  [PASS] No personal attributes addressed
  [PASS] FTC disclosure not required (no endorsement)
  [WARN] If targeting housing/employment/credit, enable Special Ad Category

Step 5: Compliance Gate

Check each variant against the platform's restricted content categories:

  • Prohibited content (hard block)
  • Restricted content (may need approval/certs)
  • Special categories (housing, employment, credit, political)
  • Required disclosures (AI content, endorsements, financial)

If any variant has compliance issues, flag them with specific TOS section references.

Step 6: Run Quality Gate

Run the standard quality gate with a lower threshold (10/16 Four U's for ads):

kai-gate score {draft_path} --format json

Error Handling

  • Unknown platform: List valid platforms
  • Policy file missing: Warn and generate without TOS constraints (clearly flagged)
  • Character overflow: Show which fields exceed limits with truncation suggestions

Chain State

Optional reads: ~/.kai-marketing/briefs/ (for site context) Standalone: Does not require prior chain steps

Signals

GitHub stars
47
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ad-copy
Source
github.com/cgallic/kai-cmo-harness