/operator-cmo:outbound
Outbound is where an unsupervised agent stack does the most damage per token, because the output leaves your domain and lands in somebody's inbox with your name on it.
The decision guard
- Read the brief. No brief, no sequence.
- Read
marketing/decisions/positioning.md: the ICP, the disqualifiers, the problem language, and the proof lines. - Read
marketing/policy/ship-policy.md. Outbound to a named account is tier C by default in the shipped policy, and you should not quietly lower it. - Read
marketing/policy/do-not-contact.mdif it exists. Every list you produce is filtered against it before it is written to disk.
Build the list
Apply the ICP as a filter, then apply the disqualifiers as a second pass, and report how many accounts each disqualifier removed. That count is the most useful diagnostic in this skill: a rule that never fires is not a rule, and a rule that removes 80% of the list means the ICP and the sourcing disagree.
Every row carries: account, contact, role, the trigger that made them
qualified, and the source of that trigger with a date. A row with no trigger is
not a lead, it is a name, and it goes in a separate no-trigger file rather
than into the sequence.
Write the sequence
- Personalisation must be sourced. Every personalised line names where it
came from, in a
src:field the reviewer can check. If you cannot source it, write the generic line. Inventing a detail about a real person is the one mistake in this plugin that cannot be walked back. - The problem in their words, taken from positioning.md, not your own phrasing of it.
- One ask per message. Short. No paragraph of context before the point.
- Proof lines only from positioning.md. No new numbers, no new logos.
- Write the full sequence including the exit condition: what happens when someone replies, and when the sequence stops.
- No em dashes.
Output
marketing/drafts/YYYY-MM-DD-<slug>-list.csv and
marketing/drafts/YYYY-MM-DD-<slug>-sequence.md, both with the standard
header naming bet, decision rev, brief and gate.
Finish
Print: list size, disqualifier hit counts, how many rows had no trigger, unsourced personalisation count (target zero), and the gate tier. Do not send anything. Sending is a human action in this plugin and stays that way.