From motion-creative
Generate psychologically-driven hooks for paid social ads. Uses Schwartz's 5 awareness stages and 8 psychological triggers, grounded in the workspace's actual top-performing hooks from Motion. Activate when users ask to "write hooks", "generate hooks", "hook ideas", "scroll-stopping openings", "attention grabbers", or need opening lines for ads. Pairs with write-hooks/references for tactic and template libraries.
How this skill is triggered — by the user, by Claude, or both
Slash command
/motion-creative:write-hooksopusThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate psychologically-driven hooks that capture attention in the first 1-3 seconds of paid social ads. Every hook is grounded in workspace performance data from Motion.
Generate psychologically-driven hooks that capture attention in the first 1-3 seconds of paid social ads. Every hook is grounded in workspace performance data from Motion.
/build-brief) or analyze how existing hooks perform (/analyze-ad).If the user provided product, persona, and pain point clearly, skip questions.
A hook is the tactical expression of a messaging angle at a specific awareness stage. Before writing hooks, understand what the audience already knows and feels.
Pain points are the most reliable hook source. Start here before trying other angles. See references/hook-sources.md for the full breakdown.
6 categories of pain-based hook material:
When generating a set of hooks, mine at least 2-3 different source categories to ensure emotional variety.
Extract from $ARGUMENTS:
--stage: Awareness stage (unaware, problem-aware, solution-aware, product-aware, most-aware). Default: generate across all stages.--format: Video or static. Default: video.--count: How many hooks. Default: 10.If any required input is missing, ask the user before proceeding.
${CLAUDE_PLUGIN_ROOT}/motion-creative.config.md for brand guidelines, primary KPI, target demographics. If the file does not exist, use these defaults and suggest the user run /customize:
primary_kpi: use goalMetric from first get_creative_insights responsedefault_date_preset: LAST_30_DAYSget_workspace_brand${CLAUDE_SKILL_DIR}/../creative-strategist/SKILL.md for methodology.default_date_preset from settings as the datePreset for all calls unless the user specified a date range.${CLAUDE_SKILL_DIR}/references/hook-tactics.md for the 35+ tactic library.${CLAUDE_SKILL_DIR}/references/hook-voice-patterns.md for proven template clusters.${CLAUDE_SKILL_DIR}/references/hook-sources.md for pain-based hook material. Pain points are the most reliable hook source — start here before trying other angles.${CLAUDE_SKILL_DIR}/references/hook-eval-judge.md for the 5-test quality bar and calibrated examples.Dispatch all in parallel:
get_auth_context() — resolve workspaceget_workspace_brand(workspaceId) — brand voice, positioning, creative do's/don'tsget_creative_insights(workspaceId, insightType="SPEND", datePreset="LAST_30_DAYS", limit=20, insightGroups=["defaultKpiMetrics", "motion"]) — top creatives by spend. We pull SPEND (not HOOK) because the HOOK insightType returns the same ranking as SCALING and misses proven high-spend performers. After receiving results, filter to video creatives and sort by thumbstop_ratio to find the actual best hook performers.get_glossary_values(workspaceId, includeCreativeIds=true) — hook taxonomy tagsThen sort the video creatives by thumbstop_ratio descending and take the top 5:
5. get_creative_transcript(creativeEntityId, creativeOrigin) — extract the actual hooks word-for-word from the top 5 by thumbstop rate
Before generating new hooks, understand the workspace's proven patterns:
From transcripts of the top 5 video creatives by thumbstop rate (hook rate), pull the first 1-3 seconds of each. Identify:
From glossary values, check which hook-related categories exist:
From workspace brand + settings:
Reference the 5 Awareness Stages and 8 Psychological Triggers from ${CLAUDE_SKILL_DIR}/../concept-engine/references/creative-strategy-engine.md. Each awareness stage demands a different hook strategy; each hook leverages one or two psychological triggers. The strongest hooks combine two triggers (e.g., Identity Call-Out + Pain Agitation).
For each hook:
references/hook-tactics.mdreferences/hook-voice-patterns.md for natural phrasingStrong hooks:
Weak hooks (never generate these):
Describing instead of hitting. Feature statements, product claims, and benefit summaries are not hooks. Nobody stops scrolling for facts. If the line is about the product rather than the viewer's life, it's a description, not a hook.
Being too generic. If every competitor in the category could run the same line, it's not a hook. Hooks should feel like they're talking to one specific person in one specific situation.
Telegraphing that it's an ad. "Introducing," "discover," "learn how," "have you tried" — these phrases sound like ads and trigger the urge to skip. Hooks should sound like something a real person might think or say.
Curiosity without stakes. Teaser-style hooks that promise something surprising without explaining why it matters to the viewer are just noise. The viewer needs to feel why this is relevant to them.
Benefits without tension. The tension — the gap between where the viewer is now and where they want to be — is what makes people stop. Benefits alone describe the destination; tension makes the viewer feel the distance from where they currently are.
Not hitting a pain point. If the hook doesn't connect to something the viewer is actually struggling with, frustrated by, or worried about, it has no grip. Pain points are the most reliable way to make someone feel seen.
Video hooks (first 3 seconds spoken):
Static hooks (headline):
When the user provides existing hooks to improve or iterate on:
Present hooks organized by awareness stage, with the psychological trigger labeled:
## [Awareness Stage]
1. "[Hook text]"
Trigger: [Primary trigger] + [Secondary trigger]
Tactic: [From hook-tactics library]
Psychological trigger: [Name the specific trigger mechanism]
Why: [One sentence — what makes this stop the scroll for this audience]
2. "[Hook text]"
...
When --format video, label each hook with three distinct layers:
The three should work together — not repeat each other. Label each component clearly in the output.
Open with 2-3 sentences about what you found in the workspace's top hooks — what patterns are proven, what's missing. This grounds the output in data, not generic advice.
End with: "Want me to develop any of these into full ad concepts? Run /create-concepts with the hooks you like, or I can build a brief with /build-brief."
Before returning hooks to the user, evaluate every hook against the quality bar in references/hook-eval-judge.md.
--count with all-passing hooks.Each hook in the final output should include:
Cross-reference the "What ALWAYS Fails" list and calibrated examples in references/hook-eval-judge.md. If a hook matches any anti-pattern, discard it immediately.
Read ${CLAUDE_SKILL_DIR}/../creative-strategist/references/error-handling.md for degraded mode and error handling guidance.
npx claudepluginhub motion-creative/motion-creative-plugin --plugin motion-creativeGenerate 10 scroll-stopping hooks across 5 psychological trigger types — the opening lines that determine whether a prospect reads or scrolls past. One of the 3 core RMBC skills.
Creates viral social media hooks using proven psychological patterns and trigger words. Use when user needs attention-grabbing openings for posts, threads, videos, or content.
Writes direct response copy (headlines, ads, emails, Instagram captions) using psychological triggers and storytelling frameworks for infoproducts.