morning-briefing
Morning Briefing
Daily creative delta briefing — what changed day-over-day that the team should know about. This is a standup tool, not a deep analysis. Compact, specific, action-oriented.
Core principle: The briefing is the delta, not the state. "Hook rate dropped 15%" is useful. "Hook rate is 3.2%" is a fact sheet. Every bullet should answer "what's different from yesterday?"
Phase 1: Get Context
- Read
${CLAUDE_PLUGIN_ROOT}/motion-creative.config.mdfor org-specific configuration. If the file does not exist, use these defaults and suggest the user run/customize:primary_kpi: use goalMetric from firstget_creative_insightsresponsemorning_briefing_lookback: LAST_7_DAYScompetitors: pull fromget_workspace_competitorsprimary_metrics/exclude_metrics: auto-detect
- Call
get_auth_context()for workspaceId. - Read the creative-strategist skill for methodology.
Settings influence:
- Use
primary_kpito determine which metric delta leads the "Big Things" section. If primary KPI is CPA, a CPA swing matters more than a ROAS swing. - Use
morning_briefing_lookbackas the comparison window if set (default: LAST_7_DAYS). - Use
competitorslist from settings if workspace competitors aren't configured in Motion. - If settings contain
primary_metrics, ensure those metrics lead the delta analysis. Ifexclude_metrics, omit those from the report.
Phase 2: Pull Performance Data (Parallel)
The SPEND call must come first (it returns goalMetric and spendThreshold). Then dispatch remaining calls in parallel.
Spend signals (first):
get_creative_insights(workspaceId, "SPEND", datePreset="YESTERDAY", limit=10, withAggregatedInsights=true)
→ Extract goalMetric and spendThreshold from the response. Use goalMetric for all efficiency-sorted calls.
get_creative_insights(workspaceId, "SPEND", datePreset="LAST_7_DAYS", limit=10)
Scaling signals:
3. get_creative_insights(workspaceId, "SCALING", datePreset="YESTERDAY", limit=10)
4. get_creative_insights(workspaceId, "SCALING", datePreset="LAST_7_DAYS", limit=10)
Efficiency signals:
5. get_creative_insights(workspaceId, insightType=goalMetric, datePreset="YESTERDAY", limit=10) — efficiency leaders by workspace goal metric
6. get_creative_insights(workspaceId, insightType=goalMetric, datePreset="LAST_7_DAYS", limit=10)
Hook signals:
7. Use the SPEND results from call #3 above — filter to video creatives and sort by thumbstop_ratio to find hook rate leaders. Do NOT use insightType="HOOK" as it returns the same ranking as SCALING.
Note: If YESTERDAY returns empty or very limited data (common early in the day), fall back to comparing LAST_7_DAYS against LAST_30_DAYS. Note the adjusted window in the briefing header.
Phase 3: Pull Competitor Activity
get_workspace_competitors(workspaceId)— get tracked competitors- For each competitor (parallel):
get_inspo_creatives(brandId, workspaceId, limit=5, sort="NEWEST", launchDate="LAST_7_DAYS")
If competitor tracking isn't set up, skip this section and note it.
Phase 4: Compute Deltas
Compare yesterday vs. 7-day data to identify what changed:
Performance Deltas
- Newly scaling: Creatives appearing in yesterday's scaling list but not in the 7-day top — they're just starting to gain traction
- Declining: Creatives in the 7-day top performers but absent from or dropping in yesterday's data — they're losing steam
- Spend shifts: Where budget moved — which creatives gained share, which lost it
- Hook rate changes: Compare thumbstop_ratio between yesterday's and 7-day data — new creatives hooking well, or established ones losing grip. Present as "hook rate" to the user.
Competitor Deltas
- New launches: Competitor creatives launched in the last 7 days
- Volume signals: Competitors launching more/fewer creatives than usual
What Counts as "Big"
Not everything that changed is worth reporting. Focus on:
- Creatives that shifted from scaling to declining (or vice versa) — a reversal
- Top-spending creatives with notable goalMetric movement — budget at risk
- New creatives that immediately started scaling — a possible winner
- Competitor launches that represent a new approach (not just more of the same)
- Any creative with significant thumbstop_ratio change (present as "hook rate") — the first signal of fatigue or resonance
If nothing significant changed, say so: "Stable day — no major movements. Current scaling winners are holding." A quiet briefing is better than manufactured urgency.
Phase 5: Output
Format
Keep it tight. This is for a standup, not a strategy session.
# Creative Morning Briefing — [Date]
**Workspace:** [name] | **Window:** Yesterday vs. 7-day trend
## Big Things That Changed
- [Bullet 1 — the single most important delta]
- [Bullet 2 — second most important]
- [Bullet 3 — if warranted, otherwise skip]
## Performance Deltas
| Creative | Metric | Yesterday | 7-Day | Direction |
|----------|--------|-----------|-------|-----------|
| [name] | goalMetric | [val] | [val] | ↑ / ↓ / → |
## Scaling Moves
[1-2 sentences: what's gaining budget, what's losing it, and why it matters]
## Competitor Watch
[New launches from tracked competitors. Format, hook approach, what's notable. Skip if nothing new.]
## Suggested Focus for Today
- [Action 1 — specific, grounded in the data above]
- [Action 2 — if warranted]
Rules
- "Big Things That Changed" is mandatory. Even if the answer is "nothing." This is the section people read.
- 3 bullets max in Big Things. If there are more than 3 significant changes, pick the top 3 and move the rest to the sections below.
- Performance Deltas table is optional — include it when there are specific numbers worth comparing. Skip if the story is better told in prose.
- Competitor Watch is optional — skip if no new launches.
- Suggested Focus should be 1-2 actions, not a to-do list. Each action should connect to a specific finding.
- Total length: Aim for something that can be read in under 2 minutes.
- If someone wants depth, they run
/performance-analysis.
Error Handling
- YESTERDAY returns empty: Fall back to LAST_7_DAYS vs. LAST_30_DAYS comparison. Note the adjusted window.
- Competitor tools fail: Skip Competitor Watch section, note the gap.
- All queries fail: Report: "Motion data unavailable this morning. Check your workspace connection."
- Very few creatives in results: Note limited data, don't over-interpret. "Low volume day — directional signals only."
More from motion-creative/motion-creative-plugin
update
>
2industry-trends
Analyze competitor ad libraries — surface creative trends, formats, hooks, and messaging strategies across the industry.
2create-concepts
>
2competitor-watch
Weekly competitive intelligence scan — tracks competitor ad strategies, messaging shifts, and creative patterns. Compares against last week's baseline to surface what changed. Use for "competitor scan", "what are competitors doing", "competitive intel", "competitor watch", or "what changed in the market".
2customize
>
2ugc-scripts
>
2