UGC Script Writer skill

Write authentic UGC (user-generated content) ad scripts that sound like real people sharing real experiences.

by Motion-Creative·MIT license·GitHub ↗

★ 22 Stars on the repo·Checked

npx degit Motion-Creative/motion-creative-plugin/Plugin/skills/ugc-scripts#main ~/.claude/skills/ugc-scripts

SKILL.md · 10.3 KB · installs the whole folder to ~/.claude/skills/ugc-scripts

Files of UGC Script Writer

Files 1 file
Show the full text250 lines

UGC Script Writer

Create authentic creator-style scripts for paid social ads. The core test: would a real person actually say this out loud?

Scripts are talking points with a scripted hook — not teleprompter copy. The creator should rephrase everything in their own words except the opening line.


Phase 1: Discovery

1a. Parse Arguments
  • Hook or concept ($ARGUMENTS): The opening line, concept direction, or product angle. Can be a specific hook from /write-hooks or a general direction.
  • Product: What's being sold. If not in args, ask.
  • --creator-type: micro-influencer, customer-testimonial, expert, founder, or any. Default: any.
  • --duration: Target length. Default: 30s (75-100 words). Options: 15s, 30s, 45s, 60s.

If hook and product aren't provided, ask before proceeding.

1b. Load Context
  1. Read ${CLAUDE_PLUGIN_ROOT}/motion-creative.config.md for brand voice, creative do's/don'ts, target demographics, production constraints. If the file does not exist, use these defaults and suggest the user run /customize:
    • default_date_preset: LAST_30_DAYS
    • Brand guidelines: pull from get_workspace_brand
    • production_capabilities: all formats
  2. Read ${CLAUDE_SKILL_DIR}/../creative-strategist/SKILL.md for methodology.
  3. Read ${CLAUDE_SKILL_DIR}/../creative-strategist/references/brief-template.md for output structure reference.
  4. Use default_date_preset from settings as the datePreset for all calls unless the user specified a date range.
1c. Pull Performance Data

The SPEND call must come first (it returns goalMetric and spendThreshold). Then dispatch remaining calls in parallel.

  1. get_auth_context() — resolve workspace
  2. get_creative_insights(workspaceId, insightType="SPEND", datePreset="LAST_30_DAYS", limit=10, withAggregatedInsights=true) — spend leaders + account-level aggregates

→ Extract goalMetric and spendThreshold from the response. Use goalMetric for all efficiency-sorted calls.

  1. get_workspace_brand(workspaceId) — brand voice, positioning, creative constraints
  2. For hook rate leaders: filter SPEND results (call #1) to video creatives and sort by thumbstop_ratio descending. Do NOT use insightType="HOOK" — it returns the same ranking as SCALING.
  3. get_creative_insights(workspaceId, insightType=goalMetric, datePreset="LAST_30_DAYS", limit=10) — efficiency leaders by workspace goal metric
  4. get_glossary_values(workspaceId) — taxonomy (especially UGC-related categories)
  5. get_demographic_breakdown(workspaceId) — who's responding

Then pull transcripts from the top 3-5 UGC-style performers (identify from glossary tags or visual format): 8. get_creative_transcript(creativeEntityId, creativeOrigin) — see what hooks and pacing work


Phase 2: Emotional Mapping

Before writing, plan how the viewer moves from attention through to action.

2a. Define the Emotional Arc

Every UGC script follows this arc:

ATTENTION (0-3s) → PROBLEM (3-8s) → SOLUTION (8-15s) → PROOF (15-22s) → CTA (22-30s)

For each beat:

  • Attention: The hook. This IS scripted — exact words matter. What stops the scroll?
  • Problem: Name the specific pain or frustration. Mirror their internal monologue.
  • Solution: Introduce the product naturally. NOT a pitch — a discovery or recommendation.
  • Proof: Specific detail that makes it believable. One feature, one result, one moment.
  • CTA: Soft invitation. NOT "buy now." More like "try it for yourself" or "link's in my bio."
2b. Identify the Single Key Message

UGC fails when it tries to say too much. Choose ONE:

  • One pain point
  • One key benefit
  • One surprising feature
  • One transformation

Everything in the script serves this one message.

2c. Gather Authenticity Details

From brand context and performance data, collect:

  • Specific product features (NOT marketing claims — real functional details)
  • Social proof snippets (review quotes, numbers, real results)
  • Sensory details that make the product tangible ("leaf blower outside, gone" > "great noise canceling")

Phase 3: Build the Script

Creator Profile

Before writing, define who's speaking:

  • Demographics: Age range, gender, look/feel
  • Persona match: Which pain × persona intersection from the Creative Strategy Engine does this creator represent? The creator should BE the persona, not act as one.
  • Energy/vibe: How they come across on camera (e.g., "casual and direct, mid-conversation energy, not performative")
  • Credibility signal: What makes them believable — actual customer, expertise, lifestyle match
  • Casting note: 1-2 sentences a casting director could use
Script Structure
HOOK (0:00-0:03): "[EXACT SCRIPTED WORDS]"
— This is the one thing that's verbatim. Every other beat is talking points.

PROBLEM/SETUP (0:03-0:08):
Talking point: [What the creator should communicate — in their own words]
Tone: [How they should sound — frustrated, amused, confessional]

SOLUTION/DISCOVERY (0:08-0:15):
Talking point: [How they discovered or started using the product]
Tone: [Genuine surprise, casual recommendation, matter-of-fact]
Show: [What they do on camera — hold product, demonstrate, react]

PROOF/DETAIL (0:15-0:22):
Talking point: [One specific detail that makes it real]
Tone: [Honest, specific — not hyperbolic]
Optional: [Quote a review, show a before/after, mention a timeframe]

CTA (0:22-0:30):
Talking point: [Soft invitation — NOT a hard sell]
Examples: "Try it for yourself" / "Link's in my bio" / "I'm telling everyone about this"
Word Count Guidelines
Duration Word Count Beats
15s 35-50 words Hook + Problem + Quick CTA
30s 75-100 words Full arc
45s 100-125 words Full arc with extended proof
60s 125-150 words Full arc with storytelling
The Read-Aloud Test

Read the entire script out loud. If ANY line:

  • Sounds like it was written by a brand → rewrite it
  • Uses words like "revolutionary", "game-changing", "innovative" → delete them
  • Feels like reading a teleprompter → make it conversational
  • Includes more than 2 product features → cut to 1
Authenticity Guidelines

Setting: Where to film — must match persona's life context

  • Customer testimonial: their home, car, bathroom, kitchen
  • Expert: office, studio, relevant professional setting
  • Founder: behind-the-scenes, warehouse, office

Do's:

  • Pause and think before key points (real people don't have instant answers)
  • Show the actual product in use, not a beauty shot
  • Include one imperfect moment (stumble, laugh, aside)
  • Reference a specific moment or experience, not a general benefit
  • Use "I" language: "I noticed..." "For me..." "What I like..."

Don'ts:

  • Don't read from a teleprompter (talking points, not scripts)
  • Don't use marketing language ("clinically proven", "dermatologist recommended")
  • Don't start with "Hey guys!" (oversaturated, instantly signals ad)
  • Don't pack multiple features (one message per script)
  • Don't end with aggressive urgency ("Buy NOW before it's GONE!")
Brand Safety Guardrails

From workspace brand + settings:

  • Claims that CANNOT be made (legal/compliance)
  • Competitor mentions: allowed or not
  • Required disclosures (FTC, #ad, etc.)
  • Brand elements that must appear (logo, product shot, URL)

Quality Gate

Before presenting scripts, verify each against these tests: Does the hook pass the 5-test quality bar (genuine cognitive friction, strong trigger, complete thought, authentic voice, personal stakes)? Do the talking points sound like a real person sharing an experience, not a scripted ad? Is the CTA soft and natural, not salesy? Revise any script that fails.


Phase 4: Output

Pre-Script Context

3-5 bullets showing:

  • What performance insight shaped the talking points
  • Which persona the creator maps to
  • What reference creatives informed the hook
  • What brand constraints shaped the guardrails
The Script

Present the full script structure with creator profile, talking points per beat, and authenticity guidelines.

Deliverables Section
  • Number of takes expected (recommend 3-5 for variety)
  • Aspect ratios needed
  • Audio requirements (clean audio, no background music unless specified)
  • Raw footage requirements
Success Metrics
  • Primary: HOOK rate — UGC lives or dies by the first 3 seconds
  • Secondary: goalMetric (workspace efficiency metric)
  • Evaluation window: After sufficient spend (reference workspace's spendThreshold)
  • Diagnostic:
    • HOOK is low → the opening line isn't working. Test a different hook.
    • HOOK is high but CPA is poor → talking points need refinement. The hook promises something the body doesn't deliver.
Close

"Want me to write variations with different hooks? Or turn this into a full production brief with /build-brief?"


Common Mistakes to Catch

  • Feature dumping: More than 2 features in a 30s script → cut to 1
  • Fake enthusiasm: "OH MY GOD you guys" without substance → replace with specific detail
  • Missing the hook's promise: Hook says one thing, body talks about something else → realign
  • Corporate tone: Any sentence that sounds like a press release → rewrite in first person
  • No specific proof: Generic "it works so well" → replace with "after 2 weeks, [specific result]"
  • Hard sell CTA: "Use code X for 20% off!" → soften to "honestly just try it"

Error Handling

Read ${CLAUDE_SKILL_DIR}/../creative-strategist/references/error-handling.md for degraded mode and error handling guidance.

1---
2name: ugc-scripts
3description: >
4 Write authentic UGC (user-generated content) ad scripts that sound like real people
5 sharing real experiences. Produces talking points — not word-for-word scripts — with
6 a scripted hook and soft CTA. Grounded in Motion workspace data for hooks that convert.
7 Activate when users ask for "UGC script", "creator script", "influencer brief",
8 "talking points for a creator", "authentic ad script", or need scripts for
9 creator-style paid social ads.
10argument-hint: "[hook or concept] [product] [--creator-type any] [--duration 30s]"
11allowed-tools:
12 - Read
13 - "mcp__motion__get_auth_context"
14 - "mcp__motion__get_workspace_brand"
15 - "mcp__motion__get_creative_insights"
16 - "mcp__motion__get_creative_transcript"
17 - "mcp__motion__get_glossary_values"
18 - "mcp__motion__get_demographic_breakdown"
19model: opus
20---
21 
22# UGC Script Writer
23 
24Create authentic creator-style scripts for paid social ads. The core test: **would a real person actually say this out loud?**
25 
26Scripts are talking points with a scripted hook — not teleprompter copy. The creator should rephrase everything in their own words except the opening line.
27 
28---
29 
30## Phase 1: Discovery
31 
32### 1a. Parse Arguments
33 
34- **Hook or concept** (`$ARGUMENTS`): The opening line, concept direction, or product angle. Can be a specific hook from `/write-hooks` or a general direction.
35- **Product**: What's being sold. If not in args, ask.
36- **`--creator-type`**: micro-influencer, customer-testimonial, expert, founder, or any. Default: any.
37- **`--duration`**: Target length. Default: 30s (75-100 words). Options: 15s, 30s, 45s, 60s.
38 
39If hook and product aren't provided, ask before proceeding.
40 
41### 1b. Load Context
42 
431. Read `${CLAUDE_PLUGIN_ROOT}/motion-creative.config.md` for brand voice, creative do's/don'ts, target demographics, production constraints. If the file does not exist, use these defaults and suggest the user run `/customize`:
44 - `default_date_preset`: LAST_30_DAYS
45 - Brand guidelines: pull from `get_workspace_brand`
46 - `production_capabilities`: all formats
472. Read `${CLAUDE_SKILL_DIR}/../creative-strategist/SKILL.md` for methodology.
483. Read `${CLAUDE_SKILL_DIR}/../creative-strategist/references/brief-template.md` for output structure reference.
494. Use `default_date_preset` from settings as the datePreset for all calls unless the user specified a date range.
50 
51### 1c. Pull Performance Data
52 
53**The SPEND call must come first** (it returns goalMetric and spendThreshold). Then dispatch remaining calls in parallel.
54 
551. `get_auth_context()` — resolve workspace
562. `get_creative_insights(workspaceId, insightType="SPEND", datePreset="LAST_30_DAYS", limit=10, withAggregatedInsights=true)` — spend leaders + account-level aggregates
57 
58→ Extract `goalMetric` and `spendThreshold` from the response. Use goalMetric for all efficiency-sorted calls.
59 
603. `get_workspace_brand(workspaceId)` — brand voice, positioning, creative constraints
614. For hook rate leaders: filter SPEND results (call #1) to video creatives and sort by `thumbstop_ratio` descending. Do NOT use insightType="HOOK" — it returns the same ranking as SCALING.
625. `get_creative_insights(workspaceId, insightType=goalMetric, datePreset="LAST_30_DAYS", limit=10)` — efficiency leaders by workspace goal metric
636. `get_glossary_values(workspaceId)` — taxonomy (especially UGC-related categories)
647. `get_demographic_breakdown(workspaceId)` — who's responding
65 
66Then pull transcripts from the top 3-5 UGC-style performers (identify from glossary tags or visual format):
678. `get_creative_transcript(creativeEntityId, creativeOrigin)` — see what hooks and pacing work
68 
69---
70 
71## Phase 2: Emotional Mapping
72 
73Before writing, plan how the viewer moves from attention through to action.
74 
75### 2a. Define the Emotional Arc
76 
77Every UGC script follows this arc:
78 
79```
80ATTENTION (0-3s) → PROBLEM (3-8s) → SOLUTION (8-15s) → PROOF (15-22s) → CTA (22-30s)
81```
82 
83For each beat:
84- **Attention**: The hook. This IS scripted — exact words matter. What stops the scroll?
85- **Problem**: Name the specific pain or frustration. Mirror their internal monologue.
86- **Solution**: Introduce the product naturally. NOT a pitch — a discovery or recommendation.
87- **Proof**: Specific detail that makes it believable. One feature, one result, one moment.
88- **CTA**: Soft invitation. NOT "buy now." More like "try it for yourself" or "link's in my bio."
89 
90### 2b. Identify the Single Key Message
91 
92UGC fails when it tries to say too much. Choose ONE:
93- One pain point
94- One key benefit
95- One surprising feature
96- One transformation
97 
98Everything in the script serves this one message.
99 
100### 2c. Gather Authenticity Details
101 
102From brand context and performance data, collect:
103- Specific product features (NOT marketing claims — real functional details)
104- Social proof snippets (review quotes, numbers, real results)
105- Sensory details that make the product tangible ("leaf blower outside, gone" > "great noise canceling")
106 
107---
108 
109## Phase 3: Build the Script
110 
111### Creator Profile
112 
113Before writing, define who's speaking:
114 
115- **Demographics**: Age range, gender, look/feel
116- **Persona match**: Which pain × persona intersection from the Creative Strategy Engine does this creator represent? The creator should BE the persona, not act as one.
117- **Energy/vibe**: How they come across on camera (e.g., "casual and direct, mid-conversation energy, not performative")
118- **Credibility signal**: What makes them believable — actual customer, expertise, lifestyle match
119- **Casting note**: 1-2 sentences a casting director could use
120 
121### Script Structure
122 
123```
124HOOK (0:00-0:03): "[EXACT SCRIPTED WORDS]"
125— This is the one thing that's verbatim. Every other beat is talking points.
126 
127PROBLEM/SETUP (0:03-0:08):
128Talking point: [What the creator should communicate — in their own words]
129Tone: [How they should sound — frustrated, amused, confessional]
130 
131SOLUTION/DISCOVERY (0:08-0:15):
132Talking point: [How they discovered or started using the product]
133Tone: [Genuine surprise, casual recommendation, matter-of-fact]
134Show: [What they do on camera — hold product, demonstrate, react]
135 
136PROOF/DETAIL (0:15-0:22):
137Talking point: [One specific detail that makes it real]
138Tone: [Honest, specific — not hyperbolic]
139Optional: [Quote a review, show a before/after, mention a timeframe]
140 
141CTA (0:22-0:30):
142Talking point: [Soft invitation — NOT a hard sell]
143Examples: "Try it for yourself" / "Link's in my bio" / "I'm telling everyone about this"
144```
145 
146### Word Count Guidelines
147 
148| Duration | Word Count | Beats |
149|---|---|---|
150| 15s | 35-50 words | Hook + Problem + Quick CTA |
151| 30s | 75-100 words | Full arc |
152| 45s | 100-125 words | Full arc with extended proof |
153| 60s | 125-150 words | Full arc with storytelling |
154 
155### The Read-Aloud Test
156 
157Read the entire script out loud. If ANY line:
158- Sounds like it was written by a brand → rewrite it
159- Uses words like "revolutionary", "game-changing", "innovative" → delete them
160- Feels like reading a teleprompter → make it conversational
161- Includes more than 2 product features → cut to 1
162 
163### Authenticity Guidelines
164 
165**Setting**: Where to film — must match persona's life context
166- Customer testimonial: their home, car, bathroom, kitchen
167- Expert: office, studio, relevant professional setting
168- Founder: behind-the-scenes, warehouse, office
169 
170**Do's:**
171- Pause and think before key points (real people don't have instant answers)
172- Show the actual product in use, not a beauty shot
173- Include one imperfect moment (stumble, laugh, aside)
174- Reference a specific moment or experience, not a general benefit
175- Use "I" language: "I noticed..." "For me..." "What I like..."
176 
177**Don'ts:**
178- Don't read from a teleprompter (talking points, not scripts)
179- Don't use marketing language ("clinically proven", "dermatologist recommended")
180- Don't start with "Hey guys!" (oversaturated, instantly signals ad)
181- Don't pack multiple features (one message per script)
182- Don't end with aggressive urgency ("Buy NOW before it's GONE!")
183 
184### Brand Safety Guardrails
185 
186From workspace brand + settings:
187- Claims that CANNOT be made (legal/compliance)
188- Competitor mentions: allowed or not
189- Required disclosures (FTC, #ad, etc.)
190- Brand elements that must appear (logo, product shot, URL)
191 
192---
193 
194## Quality Gate
195 
196Before presenting scripts, verify each against these tests: Does the hook pass the 5-test quality bar (genuine cognitive friction, strong trigger, complete thought, authentic voice, personal stakes)? Do the talking points sound like a real person sharing an experience, not a scripted ad? Is the CTA soft and natural, not salesy? Revise any script that fails.
197 
198---
199 
200## Phase 4: Output
201 
202### Pre-Script Context
203 
2043-5 bullets showing:
205- What performance insight shaped the talking points
206- Which persona the creator maps to
207- What reference creatives informed the hook
208- What brand constraints shaped the guardrails
209 
210### The Script
211 
212Present the full script structure with creator profile, talking points per beat, and authenticity guidelines.
213 
214### Deliverables Section
215 
216- Number of takes expected (recommend 3-5 for variety)
217- Aspect ratios needed
218- Audio requirements (clean audio, no background music unless specified)
219- Raw footage requirements
220 
221### Success Metrics
222 
223- **Primary**: HOOK rate — UGC lives or dies by the first 3 seconds
224- **Secondary**: goalMetric (workspace efficiency metric)
225- **Evaluation window**: After sufficient spend (reference workspace's spendThreshold)
226- **Diagnostic**:
227 - HOOK is low → the opening line isn't working. Test a different hook.
228 - HOOK is high but CPA is poor → talking points need refinement. The hook promises something the body doesn't deliver.
229 
230### Close
231 
232"Want me to write variations with different hooks? Or turn this into a full production brief with `/build-brief`?"
233 
234---
235 
236## Common Mistakes to Catch
237 
238- **Feature dumping**: More than 2 features in a 30s script → cut to 1
239- **Fake enthusiasm**: "OH MY GOD you guys" without substance → replace with specific detail
240- **Missing the hook's promise**: Hook says one thing, body talks about something else → realign
241- **Corporate tone**: Any sentence that sounds like a press release → rewrite in first person
242- **No specific proof**: Generic "it works so well" → replace with "after 2 weeks, [specific result]"
243- **Hard sell CTA**: "Use code X for 20% off!" → soften to "honestly just try it"
244 
245---
246 
247## Error Handling
248 
249Read `${CLAUDE_SKILL_DIR}/../creative-strategist/references/error-handling.md` for degraded mode and error handling guidance.
250 

Discussion

Alternatives

Also in Short scripts & hooksSee all 325 in Content creator →