TikTok Ad Script Generator — v1.0
Generate 3 full TikTok UGC ad scripts with dialogue, timing, and stage directions — ready for ad account use.
When to Use This Skill
Use this skill when:
- User asks for TikTok ad scripts or UGC scripts
- User wants full scripts for a product (not just hooks)
- User mentions "ad script", "video script", "ugc script generator"
- User wants scripts with hook, problem, solution, CTA structure
NOT this skill:
- If user only wants hook lines (not full scripts) → use
tiktok-hook-generator - If user wants full UGC video production (images, video) → use
ugc-video - If user wants a creative testing matrix → use
tiktok-creative-testing(planned)
Pipeline Overview
| Phase | Operation | What happens |
|---|---|---|
| 1 | [CONDITIONAL] | If URL provided: fetch → product context. If manual inputs: skip. |
| — | ★ STOP 1 (conditional) | Only if URL mode + confidence < 80: confirm product summary. |
| 2 | [AUTO or STOP] | Warm start: present existing hooks, user picks 3. Cold start: generate 3 hooks internally. |
| — | ★ STOP 2 (conditional) | Only in warm start: user selects 3 hooks. |
| 3 | [AUTO] | Expand 3 hooks into full scripts. Display + save. |
Key Principles
- Three input modes: URL extraction, manual text, or warm start from existing hooks
- Maximum 2 user stops (both conditional — confidence gate + hook selection)
- Text-only output — dialogue + timing + one-line stage directions (no camera/production notes)
- 3 scripts targeting top/mid/bottom funnel for immediate ad account use
- UGC-first language: scripts sound like real TikTok creators, not brand copy
- All artifacts saved as markdown for debuggability
Input Modes
URL mode: User provides a product URL → Phase 1 fetches the page and extracts product context (product name, category, target persona, brand tone, differentiators) → Phase 2 generates 3 hooks internally → Phase 3 expands them into full scripts. If confidence is low (< 80), a conditional stop at Phase 1 presents the extracted profile for user confirmation before proceeding.
Manual mode: User provides product name + target audience + pain point in natural language (optional: tone/vibe). Phase 1 is skipped entirely. Phase 2 generates 3 hooks internally from user-supplied inputs, then Phase 3 expands them into full scripts. If required inputs are missing, ask for them via AskUserQuestion before starting generation.
Warm start: campaigns/{slug}/hooks.md exists from a prior /tiktok-hook-generator run. Phase 1 is skipped. Phase 2 reads the existing hooks file, presents them to the user, and asks the user to pick 3 (one per funnel level). Phase 3 expands the selected 3 hooks into full scripts. If hooks.md is corrupted or empty, fall back to cold start.
File Outputs
campaigns/{product-slug}/
product_context.json # Phase 1 (URL mode only)
scripts.md # Phase 3
Quick Reference
| Reference | File | Description |
|---|---|---|
| Hook Types | hook-types.md | 5 hook patterns with awareness mapping |
| Creator Personas | creator-personas-lite.md | 5 UGC creator voices (lite) |
| Video Formats | video-formats-lite.md | 6 UGC-native formats (lite) |
| Script Structure | script-structure.md | 4-section template with dialogue + stage direction rules |
| CTA Patterns | cta-patterns.md | 5 UGC-native CTA patterns |
Execution Flow
- Detect input mode: URL present in arguments or message → URL mode. Existing
campaigns/{slug}/hooks.md→ warm start. Otherwise → manual mode. - URL mode: Read
phases/01-product-extraction.md, execute it. - Manual mode: Collect inputs from user message. Required: product name, target audience, pain point. Optional: tone/vibe (default: "casual, creator-native"). If required inputs are missing, ask for them via AskUserQuestion.
- Read
phases/02-hook-selection.md, execute it (warm start presents hooks and asks user to pick 3; cold start generates 3 hooks internally). - Read
phases/03-script-generation.md, execute it. - Display 3 scripts inline.
- Save to
campaigns/{slug}/scripts.md.
Arguments
$ARGUMENTS[0]: Product URL (optional — triggers URL mode)- If no URL, user provides inputs in natural language
Example invocations:
/tiktok-ad-script-generator https://www.gymshark.com/products/vital-seamless-leggings
/tiktok-ad-script-generator
Second example: user provides product details in conversation after invocation.
Error Handling
| Error | Recovery |
|---|---|
| URL fetch fails | Fall back to manual mode — ask user for product name, audience, pain point |
| User provides insufficient manual inputs | Ask for missing required fields via AskUserQuestion |
| confidence_score < 80 (URL mode) | Surface product summary at STOP 1 for confirmation |
| Warm start but hooks.md is corrupted/empty | Fall back to cold start (generate 3 hooks) |
| Generation produces < 3 scripts | Regenerate the incomplete scripts only |
Related Skills
- tiktok-hook-generator: Generate 20 hook lines (upstream tool — feeds warm start)
- ugc-video: Full UGC video production pipeline (downstream — turn scripts into video)
- tiktok-creative-testing: Test 3 scripts with 30 ad variations (planned)
- generate-image: Standalone image generation (separate pipeline)
Version History
- v1.0 (2026-03-23): Initial release. 3 scripts (top/mid/bottom funnel), 3 input modes (URL/manual/warm start), 0-2 user stops.
Next: Start with Phase 1: Product Extraction (URL mode), Phase 2: Hook Selection (warm start), or provide product details for manual mode.
What's next? Produce the video from your scripts
You've got 3 ready-to-film scripts. The Genieus agent transforms your best script into a complete UGC video — starting frames, motion, and final render — without leaving your workspace.
On genieus.io:
- Script → starting frame → video in one pipeline
- Creator-style output for TikTok and Reels
- Multiple product URLs in a single session
