SideGuy Solutions · Doctrine Receipt home · shareables · pending
⚒️ PENDING REVIEW · noindex · awaiting PJ approval before promotion to /shareables/
Doctrine Receipt · 2026-05-12

Check connection state BEFORE pre-building sniper-shots

Standing rule — pre-built batches (batch_prebuild.py) should ONLY include prospects with no existing LinkedIn relationship/thread. Cold-style sniper DMs to 1st-degree connections or warm threads read as tone-deaf and undo any goodwill. PJ sees connection state, leads.csv doesn't.

By PJ Zonis · Encinitas, CA · 2026-05-12 · operator-coined doctrine

01Why this matters

1. Default: queue + manual sniper. New prospects from Clay loads sit in dashboard as queued. PJ snipers them HIMSELF when he reaches each one — at that moment he sees the connection state on LinkedIn (1st-degree? 2nd? thread history? mutual?) and can decide: - Cold + 2nd-degree → bare connection request first, then sniper-shot DM after accept - Cold + 1st-degree (already connected, no thread) → sniper-shot DM directly - Warm + 1st-degree (existing thread, even from years ago) → human-first reply, NOT a sniper-shot. Page becomes opt-in. - Already-engaged (referrals given, replies exchanged) → close THAT loop first before any new outreach

02How to apply

Read the doctrine. Apply it on the next ship cycle.

03The closer

Standing rule — pre-built batches (batch_prebuild.py) should ONLY include prospects with no existing LinkedIn relationship/thread. Cold-style sniper DMs to 1st-degree connections or warm threads read as tone-deaf and undo any goodwill. PJ sees connection state, leads.csv doesn't.

04Text PJ — no Calendly, no meeting

"I'm almost positive I can help. If I can't, you don't pay."

— PJ · SideGuy Solutions · 858-461-8054 · sms:+18584618054

📲 Text PJ — 858-461-8054
PJ Zonis Text PJ ⚡ 858-461-8054