# Run a weekly campaign review from Claude or ChatGPT

A prompt that walks Claude or ChatGPT through the diagnose_campaign procedure over every active campaign, plus a prompt pack for the other jobs people ask for.

Works with: Claude, ChatGPT, Cursor.

MCP tools used (https://docs.versionseven.ai/guides/connect-your-ai):

- `campaigns_list` (read) List the organization's campaigns.
- `campaign_queue` (read) Backlog, daily capacity, runway and warnings.
- `sender_accounts` (read) The connected LinkedIn and email accounts.
- `campaign_analysis` (read) Funnel, replies, channels and the A/B verdict.
- `campaign_step_funnel` (read) How leads move through each step.
- `campaign_sender_breakdown` (read) Outbound and replies per sender.
- `personalization_quality` (read) How each AI field resolved at send time.
- `search_victoria_help` (read) Search the Help Center and Playbook.
- `find_leads` (write, spends credits) Search the lead database.
- `add_leads_from_search` (write, spends credits) Add lead-database matches to a campaign.
- `update_campaign` (write) Rename, describe, pause, or toggle the reply agent.
- `update_sequence` (write) Replace the whole sequence.

MCP prompts used: `diagnose_campaign`.

MCP resources used: `victoria://playbook/index`.

Once Victoria AI is connected to Claude or ChatGPT, the weekly review is a conversation: the assistant reads each campaign's numbers with the same tools the app uses, finds the first stage that underperforms, and says what to change. This recipe is the prompt for that conversation, built on the server's own `diagnose_campaign` procedure, plus a short pack of prompts for the other things people ask once the connection is there.

## Before you start

- Victoria AI connected as a connector in Claude or ChatGPT, or over an API key in Cursor. [Connect your AI](https://docs.versionseven.ai/guides/connect-your-ai) is the three-step setup; **Read only** access is enough for the review itself.
- At least one campaign that has been sending for a week or two. Before that, there's little to review.

## The weekly review prompt

Paste this at the start of a chat with the connector on. It follows the steps the server's `diagnose_campaign` prompt lays out, applied to every active campaign rather than one:

```text
Run my weekly outbound review in Victoria AI.

1. List my campaigns and keep the active ones.
2. For each active campaign, read its queue, its analysis, its step funnel, its sender breakdown and its personalization quality, all for the last 7 days. Also read the sender accounts once.
3. For each campaign, give me: contacted / replied / positive / meetings this week; days of runway; and the first stage that underperforms, using this order and nothing downstream of it:
   - no sends or warnings in the queue → the campaign can't send (sender, limits, backlog)
   - low LinkedIn acceptance → the sender's profile and the connection request
   - accepted or delivered but few replies → relevance of the first message
   - replies but few positive → the ask and the give
   - positive but no meetings → the meeting as a next step, or the Setter's goal link
   - email: deliverability (DNS, warm-up) before copy
4. Flag any AI field whose fallback or held share is over a quarter of its runs.
5. End with the three most valuable changes across all campaigns, each as one sentence saying what to change and which campaign. Don't change anything; I'll ask if I want you to.
Where a Help Center or Playbook article covers the fix, link it.
```

What comes back is a short report per campaign and three actions. The assistant's tool calls are visible in the chat, so each number can be traced to the call that produced it: `campaign_analysis` (which includes the A/B verdict as `ab_verdict` when a test is running), `campaign_step_funnel`, `campaign_sender_breakdown`, `personalization_quality` and `campaign_queue`, all reads.

In Claude Code the same procedure is one command: the server publishes it as the `diagnose_campaign` prompt, which Claude Code lists as `/victoria:diagnose_campaign (MCP)` when the server was added as `victoria`; `/mcp__victoria__diagnose_campaign Q3 outbound` runs it for one campaign, with the campaign's name or id as the argument. Claude.ai and ChatGPT don't list MCP prompts, which is why the text above spells the steps out.

## Reading the result

- **The order matters more than the numbers.** A campaign with 2% acceptance and 20% reply rate has a profile problem, not a copy problem; fixing the copy first changes nothing. [Diagnose a campaign](https://docs.versionseven.ai/playbook/diagnose-a-campaign) is the Playbook version of the same order.
- **Small numbers lie.** Under 50 contacted leads, rates swing by one reply. The assistant should say when a campaign is too young to judge; if it doesn't, ask.
- **Runway is a forecast.** `days_of_runway` is backlog divided by today's capacity. A sender still ramping makes it look shorter than it will be.

## Prompt pack

Each of these does one job. The tools it calls and whether it spends credits are listed, so you know what the host will ask you to approve.

| Ask | What it calls | Approval / cost |
| - | - | - |
| _"Which of my campaigns got positive replies this week, and from whom?"_ | `campaigns_list`, `campaign_analysis` | Reads only; nothing to approve. |
| _"Why isn't Q3 outbound sending?"_ | `campaign_queue`, `sender_accounts`, `campaign_preflight` | Reads only. The queue's warnings name the cause. |
| _"Pause every campaign whose only sender is disconnected."_ | `campaigns_list`, `campaign_queue`, `sender_accounts`, then `update_campaign` with `is_active: false` per campaign | The host asks before each pause. Nothing is activated; activation always runs the preflight and is its own approval. |
| _"Find 25 heads of sales at US SaaS companies with 50 to 200 people and add them to Q3 outbound."_ | `find_leads`, then `add_leads_from_search` | Spends credits. Both tools quote the cost first: about 0.825 credits per result found and, in `email` mode, about 3.3 credits per email found. Capped at 5,000 credits in any 24 hours. |
| _"Write a variation B of the first email in Q3 outbound that leads with the give, and turn on a 50/50 test."_ | `campaign_detail`, the `victoria://guides/messaging-rules` resource, `update_sequence`, `set_ab_testing` | The host asks before the sequence is replaced and before the test is turned on. Ask to see the step before approving. |
| _"What does the Playbook say about step delays?"_ | `search_victoria_help` with `kb: sales` | Reads only; answers with links to the articles. |

A **Read only** connection lists only the read tools, so the pause, lead and sequence prompts answer that the tool isn't available; reconnect with **Read and write** to use them. An API key behaves the same way according to its scopes.

## What a connected assistant never does

It never sends or replies to a prospect, never reads the Inbox, and never activates a campaign without the preflight passing and you approving. Every write is marked as one, which is what Claude and ChatGPT use to ask first. Each signed-in user gets 120 tool calls a minute and 2,000 a day; a weekly review of ten campaigns uses about fifty.

## Next steps

- [Build a campaign from a brief with a Claude Code skill](https://docs.versionseven.ai/cookbook/claude-code-campaign-skill), the write side of the same connection.
- [Post a daily campaign digest to Slack](https://docs.versionseven.ai/cookbook/daily-campaign-digest), the same numbers without a conversation.
- [Connect your AI](https://docs.versionseven.ai/guides/connect-your-ai) for every tool, prompt and resource the server exposes.
