← MotionCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Motion
Snapshot Sep 30, 2026 · 23:08 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "ugc-scripts",
"description": "Write authentic UGC (user-generated content) ad scripts that sound like real people sharing real experiences. Produces talking points — not word-for-word scripts — with a scripted hook and soft CTA. Grounded in Motion workspace data for hooks that convert. Activate when users ask for \"UGC script\", \"creator script\", \"influencer brief\", \"talking points for a creator\", \"authentic ad script\", or need scripts for creator-style paid social ads.\n",
"included_files": [],
"skill_md_contents": "---\nname: ugc-scripts\ndescription: >\n Write authentic UGC (user-generated content) ad scripts that sound like real people\n sharing real experiences. Produces talking points — not word-for-word scripts — with\n a scripted hook and soft CTA. Grounded in Motion workspace data for hooks that convert.\n Activate when users ask for \"UGC script\", \"creator script\", \"influencer brief\",\n \"talking points for a creator\", \"authentic ad script\", or need scripts for\n creator-style paid social ads.\nargument-hint: \"[hook or concept] [product] [--creator-type any] [--duration 30s]\"\nallowed-tools:\n - Read\n - \"mcp__ruimotion__get_auth_context\"\n - \"mcp__ruimotion__get_workspace_brand\"\n - \"mcp__ruimotion__get_creative_insights\"\n - \"mcp__ruimotion__get_creative_transcript\"\n - \"mcp__ruimotion__get_glossary_values\"\n - \"mcp__ruimotion__get_demographic_breakdown\"\nmodel: opus\n---\n\n# UGC Script Writer\n\nCreate authentic creator-style scripts for paid social ads. The core test: **would a real person actually say this out loud?**\n\nScripts are talking points with a scripted hook — not teleprompter copy. The creator should rephrase everything in their own words except the opening line.\n\n---\n\n## Phase 1: Discovery\n\n### 1a. Parse Arguments\n\n- **Hook or concept** (`$ARGUMENTS`): The opening line, concept direction, or product angle. Can be a specific hook from `/write-hooks` or a general direction.\n- **Product**: What's being sold. If not in args, ask.\n- **`--creator-type`**: micro-influencer, customer-testimonial, expert, founder, or any. Default: any.\n- **`--duration`**: Target length. Default: 30s (75-100 words). Options: 15s, 30s, 45s, 60s.\n\nIf hook and product aren't provided, ask before proceeding.\n\n### 1b. Load Context\n\n1. 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`:\n - `default_date_preset`: LAST_30_DAYS\n - Brand guidelines: pull from `get_workspace_brand`\n - `production_capabilities`: all formats\n2. Read `${CLAUDE_SKILL_DIR}/../creative-strategist/SKILL.md` for methodology.\n3. Read `${CLAUDE_SKILL_DIR}/../creative-strategist/references/brief-template.md` for output structure reference.\n4. Use `default_date_preset` from settings as the datePreset for all calls unless the user specified a date range.\n\n### 1c. Pull Performance Data\n\n**The SPEND call must come first** (it returns goalMetric and spendThreshold). Then dispatch remaining calls in parallel.\n\n1. `get_auth_context()` — resolve workspace\n2. `get_creative_insights(workspaceId, insightType=\"SPEND\", datePreset=\"LAST_30_DAYS\", limit=10, withAggregatedInsights=true)` — spend leaders + account-level aggregates\n\n→ Extract `goalMetric` and `spendThreshold` from the response. Use goalMetric for all efficiency-sorted calls.\n\n3. `get_workspace_brand(workspaceId)` — brand voice, positioning, creative constraints\n4. `get_creative_insights(workspaceId, insightType=\"HOOK\", datePreset=\"LAST_30_DAYS\", limit=10)` — top-performing hooks\n5. `get_creative_insights(workspaceId, insightType=goalMetric, datePreset=\"LAST_30_DAYS\", limit=10)` — efficiency leaders by workspace goal metric\n6. `get_glossary_values(workspaceId)` — taxonomy (especially UGC-related categories)\n7. `get_demographic_breakdown(workspaceId)` — who's responding\n\nThen pull transcripts from the top 3-5 UGC-style performers (identify from glossary tags or visual format):\n8. `get_creative_transcript(creativeEntityId, creativeOrigin)` — see what hooks and pacing work\n\n---\n\n## Phase 2: Emotional Mapping\n\nBefore writing, plan how the viewer moves from attention through to action.\n\n### 2a. Define the Emotional Arc\n\nEvery UGC script follows this arc:\n\n```\nATTENTION (0-3s) → PROBLEM (3-8s) → SOLUTION (8-15s) → PROOF (15-22s) → CTA (22-30s)\n```\n\nFor each beat:\n- **Attention**: The hook. This IS scripted — exact words matter. What stops the scroll?\n- **Problem**: Name the specific pain or frustration. Mirror their internal monologue.\n- **Solution**: Introduce the product naturally. NOT a pitch — a discovery or recommendation.\n- **Proof**: Specific detail that makes it believable. One feature, one result, one moment.\n- **CTA**: Soft invitation. NOT \"buy now.\" More like \"try it for yourself\" or \"link's in my bio.\"\n\n### 2b. Identify the Single Key Message\n\nUGC fails when it tries to say too much. Choose ONE:\n- One pain point\n- One key benefit\n- One surprising feature\n- One transformation\n\nEverything in the script serves this one message.\n\n### 2c. Gather Authenticity Details\n\nFrom brand context and performance data, collect:\n- Specific product features (NOT marketing claims — real functional details)\n- Social proof snippets (review quotes, numbers, real results)\n- Sensory details that make the product tangible (\"leaf blower outside, gone\" > \"great noise canceling\")\n\n---\n\n## Phase 3: Build the Script\n\n### Creator Profile\n\nBefore writing, define who's speaking:\n\n- **Demographics**: Age range, gender, look/feel\n- **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.\n- **Energy/vibe**: How they come across on camera (e.g., \"casual and direct, mid-conversation energy, not performative\")\n- **Credibility signal**: What makes them believable — actual customer, expertise, lifestyle match\n- **Casting note**: 1-2 sentences a casting director could use\n\n### Script Structure\n\n```\nHOOK (0:00-0:03): \"[EXACT SCRIPTED WORDS]\"\n— This is the one thing that's verbatim. Every other beat is talking points.\n\nPROBLEM/SETUP (0:03-0:08):\nTalking point: [What the creator should communicate — in their own words]\nTone: [How they should sound — frustrated, amused, confessional]\n\nSOLUTION/DISCOVERY (0:08-0:15):\nTalking point: [How they discovered or started using the product]\nTone: [Genuine surprise, casual recommendation, matter-of-fact]\nShow: [What they do on camera — hold product, demonstrate, react]\n\nPROOF/DETAIL (0:15-0:22):\nTalking point: [One specific detail that makes it real]\nTone: [Honest, specific — not hyperbolic]\nOptional: [Quote a review, show a before/after, mention a timeframe]\n\nCTA (0:22-0:30):\nTalking point: [Soft invitation — NOT a hard sell]\nExamples: \"Try it for yourself\" / \"Link's in my bio\" / \"I'm telling everyone about this\"\n```\n\n### Word Count Guidelines\n\n| Duration | Word Count | Beats |\n|---|---|---|\n| 15s | 35-50 words | Hook + Problem + Quick CTA |\n| 30s | 75-100 words | Full arc |\n| 45s | 100-125 words | Full arc with extended proof |\n| 60s | 125-150 words | Full arc with storytelling |\n\n### The Read-Aloud Test\n\nRead the entire script out loud. If ANY line:\n- Sounds like it was written by a brand → rewrite it\n- Uses words like \"revolutionary\", \"game-changing\", \"innovative\" → delete them\n- Feels like reading a teleprompter → make it conversational\n- Includes more than 2 product features → cut to 1\n\n### Authenticity Guidelines\n\n**Setting**: Where to film — must match persona's life context\n- Customer testimonial: their home, car, bathroom, kitchen\n- Expert: office, studio, relevant professional setting\n- Founder: behind-the-scenes, warehouse, office\n\n**Do's:**\n- Pause and think before key points (real people don't have instant answers)\n- Show the actual product in use, not a beauty shot\n- Include one imperfect moment (stumble, laugh, aside)\n- Reference a specific moment or experience, not a general benefit\n- Use \"I\" language: \"I noticed...\" \"For me...\" \"What I like...\"\n\n**Don'ts:**\n- Don't read from a teleprompter (talking points, not scripts)\n- Don't use marketing language (\"clinically proven\", \"dermatologist recommended\")\n- Don't start with \"Hey guys!\" (oversaturated, instantly signals ad)\n- Don't pack multiple features (one message per script)\n- Don't end with aggressive urgency (\"Buy NOW before it's GONE!\")\n\n### Brand Safety Guardrails\n\nFrom workspace brand + settings:\n- Claims that CANNOT be made (legal/compliance)\n- Competitor mentions: allowed or not\n- Required disclosures (FTC, #ad, etc.)\n- Brand elements that must appear (logo, product shot, URL)\n\n---\n\n## Quality Gate\n\nBefore 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.\n\n---\n\n## Phase 4: Output\n\n### Pre-Script Context\n\n3-5 bullets showing:\n- What performance insight shaped the talking points\n- Which persona the creator maps to\n- What reference creatives informed the hook\n- What brand constraints shaped the guardrails\n\n### The Script\n\nPresent the full script structure with creator profile, talking points per beat, and authenticity guidelines.\n\n### Deliverables Section\n\n- Number of takes expected (recommend 3-5 for variety)\n- Aspect ratios needed\n- Audio requirements (clean audio, no background music unless specified)\n- Raw footage requirements\n\n### Success Metrics\n\n- **Primary**: HOOK rate — UGC lives or dies by the first 3 seconds\n- **Secondary**: goalMetric (workspace efficiency metric)\n- **Evaluation window**: After sufficient spend (reference workspace's spendThreshold)\n- **Diagnostic**:\n - HOOK is low → the opening line isn't working. Test a different hook.\n - HOOK is high but CPA is poor → talking points need refinement. The hook promises something the body doesn't deliver.\n\n### Close\n\n\"Want me to write variations with different hooks? Or turn this into a full production brief with `/build-brief`?\"\n\n---\n\n## Common Mistakes to Catch\n\n- **Feature dumping**: More than 2 features in a 30s script → cut to 1\n- **Fake enthusiasm**: \"OH MY GOD you guys\" without substance → replace with specific detail\n- **Missing the hook's promise**: Hook says one thing, body talks about something else → realign\n- **Corporate tone**: Any sentence that sounds like a press release → rewrite in first person\n- **No specific proof**: Generic \"it works so well\" → replace with \"after 2 weeks, [specific result]\"\n- **Hard sell CTA**: \"Use code X for 20% off!\" → soften to \"honestly just try it\"\n\n---\n\n## Error Handling\n\nRead `${CLAUDE_SKILL_DIR}/../creative-strategist/references/error-handling.md` for degraded mode and error handling guidance.\n"
}SHA-256: 9833304a9f8fa656420a9f14ce490c583bcc4658bfa99d766ec332cbe3dbd89d