← MotionCONTENT HISTORY

Update to Motion

Snapshot Sep 30, 2026 · 23:08 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "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.",
  "included_files": [],
  "name": "build-brief",
  "skill_md_contents": "---\nname: build-brief\ndescription: 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.\nargument-hint: \"<concept description or concept number from create-concepts>\"\nallowed-tools:\n  - Read\n  - AskUserQuestion\n  - \"mcp__ruimotion__get_auth_context\"\n  - \"mcp__ruimotion__get_workspace_brand\"\n  - \"mcp__ruimotion__get_glossary_values\"\n  - \"mcp__ruimotion__get_creative_insights\"\n  - \"mcp__ruimotion__get_inspo_creatives\"\n  - \"mcp__ruimotion__get_creative_transcript\"\n  - \"mcp__ruimotion__get_workspace_competitors\"\n  - \"mcp__ruimotion__search_brands\"\nmodel: opus\n---\n\n# Build Brief\n\nProduce 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.\n\n**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.\n\n---\n\n## Phase 1: Get the Concept\n\n### 1a. Parse Input\n\nThe `$ARGUMENTS` should contain one of:\n- **A concept description** — freeform text describing what they want to make (e.g., \"UGC problem-agitation ad targeting busy moms, hook about the 3pm energy crash\")\n- **A reference to a concept from a previous `/create-concepts` run** — the user might say \"brief concept 2\" or paste a concept title\n- **Empty** — ask the user what to brief\n\nIf empty, use `AskUserQuestion`:\n> \"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.\"\n\n### 1b. Get Auth Context\n\nCall `get_auth_context()` for workspaceId.\n\n---\n\n## Phase 2: Gather Strategic Inputs (Parallel)\n\n**The SPEND call must come first** (it returns goalMetric and spendThreshold). Then dispatch remaining calls in parallel.\n\n1. `get_creative_insights(workspaceId, \"SPEND\", datePreset=\"LAST_30_DAYS\", limit=5, withAggregatedInsights=true)` — spend leaders + account-level aggregates\n\n→ Extract `goalMetric` and `spendThreshold` from the response. Use goalMetric for all efficiency-sorted calls.\n\n2. `get_workspace_brand(workspaceId)` — brand positioning, voice, visual identity, tone constraints\n3. `get_glossary_values(workspaceId)` — creative taxonomy for alignment\n4. `get_creative_insights(workspaceId, insightType=goalMetric, datePreset=\"LAST_30_DAYS\", limit=5)` — efficiency leaders by workspace goal metric for visual reference\n\nIf the concept references a competitor or specific brand:\n5. `search_brands(query, workspaceId)` or get competitor creatives for reference examples\n\n### 2a. Load Settings & Methodology\n\n1. Read `${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`:\n   - `primary_kpi`: use goalMetric from first `get_creative_insights` response\n   - `default_date_preset`: LAST_30_DAYS\n   - `brief_format`: default\n   - `production_capabilities`: all formats\n   - `max_production_difficulty`: High\n   - Brand guidelines: pull from `get_workspace_brand`\n2. Read the creative-strategist skill and `references/brief-template.md` for the output structure and quality bar.\n3. Use `default_date_preset` from settings as the datePreset for all calls unless the user specified a date range.\n\n**Settings influence:**\n- If `brief_format` is \"custom\" and `references/custom-brief-template.md` exists, use that template instead of the default.\n- Use `production_capabilities` and `max_production_difficulty` to constrain Deliverables section.\n- Use brand guidelines (voice, do's/don'ts, positioning) as hard constraints on Copy and Visual Approach.\n- Use `primary_kpi` to set the Success Metrics section — what \"good\" looks like depends on what the team optimizes for.\n- Use `target_demographics` to inform audience-specific copy choices.\n\n---\n\n## Phase 3: Build the Concept (if needed)\n\nIf the user provided a full concept (from `/create-concepts` or detailed description), use it directly.\n\nIf the user provided a partial concept (just an audience, or just a hook idea), build it out:\n\n1. Use the performance data from Phase 2 to identify relevant winning patterns\n2. Use brand context to set voice and positioning constraints\n3. Use glossary values to align with the workspace's creative taxonomy\n4. Flesh out the concept following `references/concept-standards.md`\n\nThe concept must be clear before writing the brief — audience, hook approach, messaging angle, and format all need to be defined.\n\n---\n\n## Phase 4: Pull Reference Creatives\n\n### 4a. Own Account Reference\n\nFrom 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.\"\n\n### 4b. Competitor Reference (if relevant)\n\nIf the concept was inspired by competitor activity, pull 1-2 competitor creatives as additional reference:\n- `get_inspo_creatives(brandId, workspaceId, limit=5, sort=\"NEWEST\", status=\"ACTIVE\")`\n\n### 4c. Pull Transcripts\n\nFor 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.\n\n---\n\n## Phase 5: Generate the Brief\n\nFollow the structure in `references/brief-template.md` exactly.\n\n### Pre-Brief Reasoning\n\nBefore the brief, write 3-5 casual bullets showing the key inputs:\n- What performance insight shaped the direction\n- Who the creative is for and what tension it taps into\n- What reference creatives informed the approach\n- Any brand constraints that influenced choices\n\n### The Brief\n\n```\nBRIEF: [Title]\n\nCONCEPT OVERVIEW\n[What we're making and why. 1-2 sentences. No jargon.]\n\nCOPY\n[For video: timestamped script with spoken copy + text overlays per beat.\n For static: headline, subheading, supporting text, CTA.\n Write exactly what appears on screen or is spoken.\n No placeholders. The hook must be a specific verbatim line.]\n\nVISUAL APPROACH\n[For video: opening beat, background, pacing, production style, tone.\n For static: composition, layout, key visual elements.\n Specific enough that two designers would make similar things.]\n\nDELIVERABLES\n[Number of assets, format, dimensions, duration. No rationale.]\n\nVISUAL EXAMPLE\n[Reference creative from own account that shows how this should look.\n Include creative ID if available. Note if no strong match exists.]\n\nSUCCESS METRICS\n[Which insightTypes to watch. What \"good\" looks like.\n When to evaluate. What to diagnose if underperforming.]\n```\n\n### Hook Requirement\n\nEvery 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.\n\n### Constraint Application\n\n- All copy must match brand voice from `get_workspace_brand` AND settings brand guidelines (settings may have stricter rules)\n- Messaging must align with brand positioning\n- Creative Don'ts from settings are **hard constraints** — never include anything on the don't list\n- Creative Do's from settings should be incorporated where natural\n- Concepts must not replicate existing ads from the account (cross-reference with performance data)\n- Flag any compliance concerns if the hook or body makes strong claims\n- If settings specify `max_production_difficulty`, don't exceed it in the brief\n\n---\n\n## Quality Gate\n\nBefore 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.\n\n---\n\n## Phase 6: Output\n\nPresent 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.\n\nEnd with: \"This brief is ready for your creative team. Want me to adjust anything, or brief another concept?\"\n\n---\n\n## Quality Bar\n\nBefore delivering, check against `references/brief-template.md` quality bar:\n\n- **Can it be executed without a meeting?** If not, add detail.\n- **Is the visual obvious immediately?** If not, be more specific in Visual Approach.\n- **Does every section change what the creator does?** If a section is generic, cut it or make it specific.\n- **Is the hook a real line, not a placeholder?** If it says \"something like\" or \"[insert]\", rewrite it.\n- **Could a creator ask \"what do you want me to make?\"** If yes, the brief is not done.\n\n---\n\n## Error Handling\n\n- **No concept provided and user skips AskUserQuestion:** Generate a concept from the top-performing creative patterns in the account. Note that the concept was auto-generated.\n- **Brand context unavailable:** Proceed without voice constraints. Note the gap — copy may need voice adjustment.\n- **No reference creatives match:** Note in Visual Example section that no strong match exists. Proceed without.\n- **Transcript calls fail:** Write the Copy section from concept and brand context alone. Note reduced reference detail.\n- **Very sparse data overall:** Generate the brief with reduced confidence. Flag: \"Limited performance data — this brief is based on brand context and creative fundamentals rather than proven account patterns.\"\n"
}

SHA-256 of public snapshot: 2520be4c425e4a1e2bb99742ece0a2b66219c161a36801933bb34c6e6711d40d