Skills/Master Skills/Outbound Engine
Bundle · 28 skills

Outbound Engine

by Victor Shulga · Fractional CRO

The outbound block of a GTM system, assembled as a pipeline: from the signal catalogue and scoring through to prospect lists, sequences, replies and reporting. Inside is a working method with a cost per row and gates between stages.

For the owner or head of sales at an agency or service firm · free · MIT licence

What it does

Outbound breaks somewhere other than where people fix it. Copy gets rewritten when the mail is not landing. More data gets bought when the problem is timing. This pack splits the work into stages, each with its own gate, and stops you skipping the one the next stage depends on.

The claim everything rests on: find the companies that have already described their problem in public, most often in the body of their own job ad, instead of the ones that merely resemble your clients. A company that wrote something awkward about itself paid to publish it and will not take the words back.

The second decision: a signal and a data point are different things. A signal is an event with a date, it exists for only a small share of a list, and it tells you WHEN to write. A data point is a standing fact, it exists for almost everyone, and it tells you WHAT to say. A campaign built without that split quietly turns into a mass send with a first name in the opening line.

Not sure where to start

Run signal-outbound. The master skill runs ten steps from a service page to a named contact with a verified address, holds eight gates between them, and works out where you already stand from three questions. It also diagnoses a campaign that is already running by its symptom, and will tell you when the problem sits in the offer.

28 skills, by stage

0Master
/signal-outbound
Ten steps, eight gates, failure modes
Runs from a service page to a named contact with a verified address. Holds the gates between steps, joins mid-path when an artefact already exists, and routes by symptom when a campaign is live. It will also say when the problem sits in the offer. For steps 1-2 (ICP and offer) the master skill calls skills from other packs: GTM Strategy and offer-factory. Without them you do those two steps by hand.
1Signals and account sourcing
/icp-builder
Ideal customer profile from scratch
An ICP document in the format the other skills in the pack read.
/persona-builder
Buyer persona for one role
One job title up close: what matters to it and how to write so the email gets read.
/signal-catalog
50 triggers for one niche
Scored and grouped so a test reaches usable volume. Separates events from states: a state on its own does nothing until you couple it to an event.
/account-sourcing
Job ads through the ATS → a scored list
Reads the BODY of the job description: that is where a company names its problem. Plus an explicit filtering pass that strips agencies, government bodies and universities out of the raw results.
/signal-research
Signals and data points across an existing list
A catalogue of 60 signals and 33 data points inside. A detection ladder from free bulk sources up to paid ones, proof mandatory, A/B/D queues and a rescan, because lists rot in about 45 days.
/data-research
Raw list → prospect list
An order of passes where the cheapest cut runs first, with a cost per row. A canonical CSV of 12 blocks, two files with identical columns. Rows that failed stay in, with the reason.
2People, email, scoring
/icp-validation
Checking a company against the ICP
A fit score before you pay to find people and emails: take the company on or set it aside.
/waterfall-enrichment
Domains → people → verified email
One people-search node instead of a profile scraper. Then a cascade with a price per step and a ceiling per person. Input data audited before the first cent is spent. The metric is cost per VALIDATED contact.
/prospect-scoring
Scoring before contact
Profile only. Awards no points for anything already handled by a hard filter. A signal here routes the queue rather than adding score: fit and timing are different axes.
/lead-scoring
Scoring after contact
Starts from the profile and adds what only a conversation gives you. Bands are calibrated on the live pipeline and only on a clean cohort.
/hypothesis-builder
Hypothesis matrix
ICP × signal × offer, every combination scored.
/campaign-naming
Campaign names
Turns the hypothesis matrix into names you can read at a glance. The naming rule has to exist BEFORE the campaigns launch, because the statistics cannot be reassembled afterwards.
3The writing
/sequence-writer
8 touches, decision maker and champion separately
No asking for a call, anywhere. Every touch ends on a question that tests interest. The meeting gets booked later, inside the thread.
/personalization-pipeline
Personalisation before the sequencer
Two generated fields and a confidence gate, never a whole generated email. The sequencer generates nothing; it drops in a value that was computed earlier.
/multi-channel-orchestrator
Touch spacing
Treated as part of the copy: the gap between touches changes what each message is allowed to say.
/subject-line-generator
Subject lines
Varied by angle, not by synonym.
/ps-line-generator
The PS line
A pattern interrupt at the bottom of the email.
/linkedin-sequence
LinkedIn sequence
Same signal, different channel.
/followup-sequence
Silence and re-engagement
The people who never replied, and warming a burnt-out list.
4Launch and reading the result
/pre-launch-data-check
The final file, before upload
Seven layers: suppression, verification, empty variables, signal freshness. GO or STOP, plus a file of rows to fix.
/deliverability-audit
Domains, mailboxes, SPF/DKIM/DMARC, warm-up
Before the first email, not after the numbers go bad. With broken deliverability you cannot tell weak copy from a blocked domain.
/reply-objection-handler
One reply → one message
Triage on intent and speed, 14 reply types (12 of them objections), ready text in the prospect's language, plus the action to take in the CRM and the sender.
/reply-audit
A batch of replies → the root cause
Targeting, message or pitch. The counterpart to the handler: that one is a surgeon on a single thread, this one an epidemiologist on a sample.
/ab-test-analyzer
Variant against variant
And whether the sample lets you claim it at all.
/campaign-tiering
What to scale, what to kill
Looks at all campaigns together and reads the results by hypothesis.
/weekly-outreach-report
Weekly outreach report
A readable page with the data-quality warnings up front, not a dump of rows.
/campaign-report
Campaign report
A weekly or monthly outbound summary you can hand to a client or stakeholder as is.

What you get

What you need

Without connections the skills work from pasted data: CSV, sheets, text. Paid services are needed only at the sourcing and enrichment stages, and the cost per row is spelled out inside the skills.

The rest of the system

Outbound is one block of a GTM system. Alongside it: GTM Strategy (a cold audit from a URL into a full strategy) and Content Engine (the content system for LinkedIn).

Want this system in your own firm?

Skills are tools. Putting them to work inside your firm is the job. Book 60 minutes →

How to install

1From the terminalfastest

Node 18+ required. The command installs the whole set of skills into the current project folder:

npx skills add victor-shulga/outbound-engine-skills

To keep the skill at hand in every project, add -g:

npx skills add -g victor-shulga/outbound-engine-skills

If you work in Claude Code, the pack also installs as a plugin, with two commands in the chat:

/plugin marketplace add victor-shulga/outbound-engine-skills
/plugin install outbound-engine@outbound-engine-skills
2Download the ZIPno terminal needed

The archive holds the folder outbound-engine-skills/skills/ : move its contents into ~/.claude/skills/, and each subfolder becomes a separate skill. Restart Claude Code. Claude Desktop and claude.ai accept one skill at a time. To upload to claude.ai: unzip the ZIP — you will see 28 skill folders inside. Zip each one individually (Mac: right-click → Compress; Windows: right-click → Send to → Compressed folder), then upload each zip in claude.ai via Settings → Skills.

Download the ZIP · 220 KB
3Manually from GitHub

Open the GitHub repository and copy the folder skills/ to your machine. The main file is SKILL.md, and the rest is pulled in from it.

Check it works: type /signal-outbound in the chat and the skill should answer. If it does not: skills are read at session start, so restart Claude.

Related skillsAll skills →