# Skill: monday-brief

## Purpose

Connects to the account, pulls the last 7 days across Meta and Google, and produces a **single prioritised action list** — the three to five most important things to do this week, ranked by dollar impact, each with the exact change and the number that justifies it. The output arrives before the marketer opens Ads Manager. The day starts in execution mode, not investigation mode.

This is the Tier 2 Monday morning. The Tier 1 version takes 2–3 hours and still misses things. This one takes one run of the skill.

> **Read-and-recommend only.** This skill never makes changes. The marketer applies recommendations manually.

---

## When to Use This Skill

Run this skill:
- Every Monday morning before opening Ads Manager
- After a weekend of unmonitored spend
- After returning from any period of low account attention (holidays, launches, busy periods)
- Any time the marketer wants a fast situational read without a full audit

**Do not use** for deep creative diagnosis (use creative-analyzer), keyword research (use keyword-researcher), or test design (use test-architect). This skill is a triage and prioritisation tool — it tells you what to look at first, not everything about everything.

---

## Step 0 — Data Inventory

Before running, confirm:

1. **Platforms connected** — Meta only, Google only, or both?
2. **Date range** — Last 7 days (Mon–Sun of the prior week). If today is Monday, pull the full prior week.
3. **Targets** — ROAS target (ecommerce) or CPA target (lead gen) for each platform. Ask if not visible.
4. **Conversion type** — Ecommerce, lead gen, or mixed? Never aggregate ROAS and CPL in the same snapshot.
5. **Account size context** — Total weekly spend range (used to calibrate what counts as a significant deviation).

If both Meta and Google are connected, pull both. Run the analysis for each separately, then combine in the output.

---

## Analysis Framework

Run the following checks in this order. Each check produces zero or one flag per entity. Collect all flags, then rank by estimated dollar impact.

---

### Check 1 — Account-level health

Pull total spend and primary KPI for the last 7 days vs the prior 7 days (14-day window).

| Signal | Flag if |
|---|---|
| Total spend dropped > 20% week-on-week | Possible campaign paused, budget exhausted, or delivery issue |
| ROAS dropped > 15% week-on-week | Performance deterioration — needs investigation |
| CPA increased > 15% week-on-week | Same |
| Total conversions dropped > 20% week-on-week with spend flat | Tracking issue or conversion event change |

Flag the account-level health in the snapshot section. If total spend dropped significantly, note it prominently — this is often the most important signal the marketer misses.

---

### Check 2 — Zero-conversion campaigns (72-hour rule)

Flag any active campaign with:
- Spend > $30 in the last 72 hours AND zero conversions in the last 72 hours
- Exception: brand awareness or top-of-funnel campaigns where conversions are not the objective — skip these

This is the highest priority flag. A campaign spending money with zero conversions for 72+ hours is either broken, fatigued, or mis-targeted.

---

### Check 3 — Creative fatigue signals (Meta)

For each active ad set with ≥ $20/day spend:
- Pull CTR for this week vs last week
- Pull frequency

| Signal | Flag if |
|---|---|
| CTR declined ≥ 20% week-on-week | Creative fatigue beginning |
| CTR declined ≥ 30% week-on-week | Creative fatigue acute — brief new creative |
| Frequency ≥ 3.5 with CTR declining | Confirmed fatigue — same audience has seen the ad too many times |

---

### Check 4 — Scale opportunities

Flag any campaign or ad set that meets all of the following:
- ROAS ≥ target × 1.20 (20%+ above target)
- Daily spend < 90% of budget cap (room to scale)
- Frequency ≤ 3.0 (not fatigued)
- Active for ≥ 7 days (past learning phase)

These are the entities the marketer should be putting more money into this week. Flag them as scaling opportunities.

---

### Check 5 — Search term waste (Google only)

Pull search terms from the last 7 days with:
- Spend > (CPA target × 0.75) AND zero conversions

Sum the total wasted spend across flagged terms. If total waste > $100 for the week, flag this as a line item with the sum and note that negative-keyword-builder can produce the full block list.

---

### Check 6 — Budget pacing anomalies

Flag any campaign where:
- Daily spend was > 120% of daily budget on ≥ 2 days (overpacing — potential delivery issue)
- Daily spend was < 50% of daily budget on ≥ 4 of 7 days (underpacing — budget not being used)

---

## Action Ranking Logic

After all checks, collect every flag and rank by estimated weekly dollar impact:

1. **Zero-conversion campaigns** — dollar impact = spend with zero return. Rank first.
2. **Scale opportunities** — dollar impact = estimated additional revenue from 20% budget increase × ROAS. Rank second.
3. **Acute creative fatigue** (CTR down 30%+) — dollar impact = estimated CPA increase from continued fatigue × weekly spend. Rank third.
4. **Search term waste** — dollar impact = confirmed wasted spend. Rank fourth.
5. **Budget pacing anomalies** — rank last unless overpacing is significant.

Cap the action list at **5 items**. If more than 5 flags exist, include only the top 5 by dollar impact. Note how many additional flags exist and offer to run a full audit.

---

## Output Format

```
MONDAY BRIEF
Week: [Mon DD MMM] – [Sun DD MMM YYYY]
Generated: [today's date]

────────────────────────────────
ACCOUNT SNAPSHOT
────────────────────────────────

META
  Spend:        $[X]  ([+/-X%] vs prior week)
  ROAS:         [X.Xx]  (target: [X.Xx])  [↑ / ↓ / → vs target]
  Conversions:  [N]  ([+/-X%] vs prior week)

GOOGLE
  Spend:        $[X]  ([+/-X%] vs prior week)
  CPA:          $[X]  (target: $[X])  [↑ / ↓ / → vs target]
  Conversions:  [N]  ([+/-X%] vs prior week)

COMBINED
  Total spend:  $[X]
  Estimated revenue (attributed): $[X]
  Blended ROAS: [X.Xx]

────────────────────────────────
🔴 ACT TODAY
Ranked by estimated dollar impact
────────────────────────────────

1. [Entity name] — [Platform] — [Exact action]
   Why: [The one metric that justifies this, with the number]
   Impact: ~$[X]/week

2. [Entity name] — [Platform] — [Exact action]
   Why: [Metric + number]
   Impact: ~$[X]/week

3. [Entity name] — [Platform] — [Exact action]
   Why: [Metric + number]
   Impact: ~$[X]/week

[4 and 5 if applicable]

────────────────────────────────
🟡 WATCH THIS WEEK
(Not urgent now — but will need action if these signals continue)
────────────────────────────────

- [Signal] — [Entity] — [Threshold that triggers action]
- [Signal] — [Entity] — [Threshold that triggers action]

────────────────────────────────
🟢 WHAT'S WORKING
(Leave these alone unless something changes)
────────────────────────────────

- [Entity] — [Metric] — [Why it's healthy]
- [Entity] — [Metric] — [Why it's healthy]

────────────────────────────────
WANT TO GO DEEPER?
────────────────────────────────

[N additional flags exist below the top 5. Run the relevant skill to investigate:]
- Full creative diagnosis: run creative-analyzer on [ad name]
- Full keyword clean-up: run negative-keyword-builder
- Scale decision on [entity]: run scale-or-pause
- Test design for [entity]: run test-architect
```

---

## Guardrails

- Never recommend more than 5 actions. A brief that lists 12 things is not a brief — it's an audit. If there are more than 5 flags, surface only the top 5 by dollar impact and note the rest.
- Never include metrics without context. Every number in the output must be compared to something — a target, a prior week, or a threshold. Raw numbers without context do not help the marketer decide.
- Do not include creative diagnosis in this brief. If an ad needs a brief, note it as a "go deeper" item and point to creative-brief-writer.
- Do not aggregate ROAS and CPL across different campaign objectives. If the account has both ecommerce and lead gen campaigns, snapshot them separately.
- If the data is more than 24 hours old when run, note this. Monday brief outputs based on stale data can lead to the wrong actions.
- If only one platform is connected, state this clearly at the top. A one-platform brief may miss cross-channel dynamics.

---

## Minimum Required Data

| Source | What You Need |
|---|---|
| MCP (GoMarble — preferred) | Campaign and ad-set level: spend, conversions, ROAS or CPA, CTR, frequency (Meta), daily budget, IS metrics (Google). Last 7 days + prior 7 days for WoW comparison. Search term data for Google waste check. User's ROAS/CPA target per platform. |
| CSV | Two separate exports (this week + prior week) for both platforms: campaign and ad-set level with spend, conversions, ROAS or CPA, CTR, frequency (Meta). Plus a Google Search Terms report for the same period. This is the minimum — with MCP the brief runs in one step. |

**Note on MCP advantage:** This skill is designed to be run in a single session with a connected MCP server. With a CSV workflow, the user needs to pull and upload 5–6 separate exports. With GoMarble MCP connected, the brief runs from a single prompt. This is the difference between a 2-minute Monday and a 25-minute one.
