Produce a structured creative brief for an ad concept — ready to hand to a designer or creative team. Takes a concept description or builds from performance data.
Produce a production-ready creative brief from a concept — structured so a creative team can execute without follow-up questions. Uses the creative-strategist skill methodology and brief template standards.
Data accuracy: Every performance reference in the brief must cite a specific data point. If the brief references "top-performing hooks," cite which hooks and their metrics. Never include performance claims not grounded in tool data. If a data point is missing (e.g., no demographic data to inform targeting), flag it rather than guessing.
The $ARGUMENTS should contain one of:
/create-concepts run — the user might say "brief concept 2" or paste a concept titleIf empty, use AskUserQuestion:
"What creative concept do you want to brief? You can describe the idea, paste a concept from
/create-concepts, or tell me the audience/angle you want to target and I'll build the concept."
Call get_auth_context() for workspaceId.
The SPEND call must come first (it returns goalMetric and spendThreshold). Then dispatch remaining calls in parallel.
get_creative_insights(workspaceId, "SPEND", datePreset="LAST_30_DAYS", limit=5, withAggregatedInsights=true) — spend leaders + account-level aggregates→ Extract goalMetric and spendThreshold from the response. If goalMetric.isCustomConversion is true, find the matching conversion in the customConversions array and include ["{id}_cost", "{id}_count"] in tableKPIs on all subsequent calls. Use goalMetric for all efficiency-sorted calls.
get_workspace_brand(workspaceId) — brand positioning, voice, visual identity, tone constraintsget_glossary_values(workspaceId) — creative taxonomy for alignmentget_creative_insights(workspaceId, insightType=goalMetric, datePreset="LAST_30_DAYS", limit=5) — efficiency leaders by workspace goal metric for visual referenceIf the concept references a competitor or specific brand:
5. search_brands(query, workspaceId) or get competitor creatives for reference examples
${CLAUDE_PLUGIN_ROOT}/motion-creative.config.md for org-specific configuration. 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_DAYSbrief_format: defaultproduction_capabilities: all formatsmax_production_difficulty: Highget_workspace_brandreferences/brief-template.md for the output structure and quality bar.default_date_preset from settings as the datePreset for all calls unless the user specified a date range.Settings influence:
brief_format is "custom" and references/custom-brief-template.md exists, use that template instead of the default.production_capabilities and max_production_difficulty to constrain Deliverables section.primary_kpi to set the Success Metrics section — what "good" looks like depends on what the team optimizes for.target_demographics to inform audience-specific copy choices.If the user provided a full concept (from /create-concepts or detailed description), use it directly.
If the user provided a partial concept (just an audience, or just a hook idea), build it out:
references/concept-standards.mdThe concept must be clear before writing the brief — audience, hook approach, messaging angle, and format all need to be defined.
From the goalMetric top performers (Phase 2), select the creative that best matches the brief's intended format and visual approach. This becomes the Visual Example in the brief — a real ad from the brand's account that shows "make it look like this."
If the concept was inspired by competitor activity, pull 1-2 competitor creatives as additional reference:
get_inspo_creatives(brandId, workspaceId, limit=5, sort="NEWEST", status="ACTIVE")For the 2-3 most relevant reference creatives (own + competitor), pull transcripts with get_creative_transcript. These inform the Copy section — what hooks, pacing, and CTAs work in similar creatives.
Follow the structure in references/brief-template.md exactly.
Before the brief, write 3-5 casual bullets showing the key inputs:
BRIEF: [Title]
CONCEPT OVERVIEW
[What we're making and why. 1-2 sentences. No jargon.]
COPY
[For video: timestamped script with spoken copy + text overlays per beat.
For static: headline, subheading, supporting text, CTA.
Write exactly what appears on screen or is spoken.
No placeholders. The hook must be a specific verbatim line.]
VISUAL APPROACH
[For video: opening beat, background, pacing, production style, tone.
For static: composition, layout, key visual elements.
Specific enough that two designers would make similar things.]
DELIVERABLES
[Number of assets, format, dimensions, duration. No rationale.]
VISUAL EXAMPLE
[Reference creative from own account that shows how this should look.
Include creative ID if available. Note if no strong match exists.]
SUCCESS METRICS
[Which insightTypes to watch. What "good" looks like.
When to evaluate. What to diagnose if underperforming.]
Every brief must include a specific, verbatim hook — the actual opening line. Not "start with a question about X" but the exact words. The hook must follow the persuasive attribute standard: direct, pressured, specific.
get_workspace_brand AND settings brand guidelines (settings may have stricter rules)max_production_difficulty, don't exceed it in the briefBefore presenting the brief, verify: Can a creator read this and NOT ask "what do you want me to make?" Check: Is the hook verbatim (not "start with a question about X")? Is the visual obvious on first read? Is the awareness stage clear in every line? Does every section change what gets made? Revise any section that fails.
Present the pre-brief reasoning bullets, then the brief itself. Render the brief as-is — do not add strategy sections, next steps, or concept cards after it.
End with: "This brief is ready for your creative team. Want me to adjust anything, or brief another concept?"
Before delivering, check against references/brief-template.md quality bar: