Skip to content
~/robynrocha.io
cd /systems

messaging-chain/2026

The Messaging Chain

# Every variant traceable to the decision that produced it

context
Solo build
role
GTM Engineer
stack
Claude Code · Python

Six stages from strategy to recovery. Strategy resolves the play, the positioned offer, the angle, and a specificity dial before anyone writes. Segment turns directions into copy slices that carry their own decision record. Craft writes against that record, Defend hardens it, and a handoff manifest passes two artifacts to the send side.

$render messaging-chain.mmd

No diagram code provided

rendering diagram…

M1the workflow

Email Campaign Factory

A staged, deterministic pipeline run in Claude Code, start to finish — not a vague “AI agent” freelancing its way through the task, but a defined sequence of steps with checkpoints. Describe a campaign in plain English — “target VPs of Marketing at mid-market SaaS” — and the system pulls matching companies from the pre-scored database, checks the CRM for customers and open deals, finds the right people, matches each company to a pitch that has already won customers, and writes a unique email for every person with about twenty AI writers running in parallel.

Play selection is scored, not vibes. Every account is scored against plays derived from actual customer-call analysis — each play defined with its signals, weights, persona fit, and real customer quotes — and the assignment pauses for review before any copy gets written. Then every lead gets genuinely unique copy: structurally distinct while holding the play's messaging, which is an anti-fingerprinting defense that also just reads better. Then machines check the machines — validators scan every email for banned spam-trigger words, unresolved variables, word count, play alignment, and formatting.

A human approves at two points — the play assignments and the sample emails — and each stage writes a checkpoint file, so any failure resumes instead of restarting. The do-not-email rules run at three separate stages and cannot be skipped: customers, open deals, and anyone a rep is actively working are excluded by default, and the deliberate exceptions are asked about explicitly rather than assumed. That is the difference between “AI helps with email” and “AI can be trusted with the send button.” Campaign turnaround goes from days of list-building and copy-writing to a same-day process.

the full write-up

M2the workflow

Outreach Philosophy

There are two honest ways to run outreach, and most programs blur them together when they shouldn't. Some outreach is genuinely triggered by an event — a job change, a target account hiring for a specific role. Those campaigns should be templated on purpose: the trigger already did the personalization work, and the message just needs to reference it clearly and consistently. Trying to make every job-change email “unique” adds writing overhead for zero benefit.

Cold email to a list is different. Every email gets assembled from several independently-prompted lines, each fed by a different public data point about the person or company, composed into one message that wouldn't make sense sent to anyone else. Instead of one model improvising an entire email in one shot, each line gets its own narrow prompt and its own clean variable — and a model that only has to nail one sentence writes a much better sentence.

Think of how personalized advertising already works: the platform doesn't write you a generic ad, it assembles one from what it knows. There is no reason cold email, built on public firmographic and technographic data, can't work the same way — a message that reads like it was written for one company, because it was. Underneath either mode, variation stays structural rather than synonym-swapping: genuinely different skeletons, rotated deliberately, so no pattern repeats across a list.

the full write-up