The campaign orchestration skill for LinkedIn outbound. Variant testing, daily caps, sequence advancement, and Notion sync built in.
Any of these natural language phrases activates the skill inside Claude Code.
The Unipile Campaign skill takes a list of qualified prospects and a campaign hypothesis and runs a 3 step LinkedIn sequence: connection request, follow up DM 1, follow up DM 2. Each campaign supports multiple message variants for A B testing. Daily sends respect LinkedIn's behavioral limits (30 connects per day per account). Sequence state lives in Notion via the Campaigns DB.
Where the Unipile Outreach skill is the message verb, this skill is the campaign engine. It enforces cadence, manages variants, advances steps based on response state, and never re-sends to prospects who replied. Combined with the Yalc rule "skip DMs if prospect replied", you get a safe, hands-off LinkedIn outbound system.
The Unipile Campaign skill sits at the **send** node specifically for multi step LinkedIn sequences. It chains with `unipile-outreach` (the underlying message verb) and `notion-page-writer` (state writeback) to deliver outbound campaigns at scale.
The skill enforces three guardrails by default: 30 connects per day per account, no DM if the prospect replied, and variant rotation. These are non-negotiable for LinkedIn account safety.
The campaign engine. Yalc creates campaigns, this skill executes them daily within safety limits, advances prospects through the sequence, and writes outcomes to Notion.
UNIPILE_API_KEYUNIPILE_DSNNOTION_API_KEYRequires Notion Campaigns DB (data source ID `dcacce4d-77a6-44a7-b7ff-1f7bf281e012`) and Unified Leads DB (data source ID `56e04a3e-a757-4714-b328-1e5910a80bb1`). The skill reads campaigns from the first, prospects from the second.
Three steps (connect, DM1, DM2) is the LinkedIn safe pattern. Beyond that, response rates plummet and account flagging risk increases. Add value content posts between steps if you need more touches without messaging.
The skill assigns each prospect to a variant on first contact. The same prospect always sees the same variant across all 3 steps. Variants rotate round-robin across new prospects entering the campaign.
They sit in the queue. The skill checks daily; if accepted, they move to DM1 cadence. If still pending after 14 days, the skill marks them as inactive and moves on.
Yes. Update the Notion campaign status to "paused" and the next daily run skips the campaign. Resume by changing back to "active".
Replies surface in the unified Unipile inbox. The skill reads new replies daily, classifies intent via Claude, writes the classification to the prospect's Notion page, and prevents further DMs.
Send schedule respects the LinkedIn account's local time zone. The skill batches sends to the prospect's morning hours when timezone data is available, otherwise sends evenly through the workday.
Clone the Yalc skill set, drop in your env, run from your next Claude Code session.
gh repo clone Othmane-Khadri/YALC-the-GTM-operating-system && cp -r YALC-the-GTM-operating-system/.claude/skills/unipile-campaign ./.claude/skills/