git:20260602.d5540f8 to git:20260729.c723fa4

11 added, 31 removed. Audit A to A.

---
name: linkedin-outreach
- description: "Use when running LinkedIn-native social selling as a repeatable motion: building Sales Navigator saved searches and trigger alerts, fixing a low connection-acceptance rate, designing a daily social-selling routine, turning profile views / post engagers / accepted connections into warm conversations, and logging every touch so the loop is measurable. Triggers: 'set up a Sales Nav saved search and alert me on job changes', 'how many connection requests per week without getting flagged', 'my acceptance rate is in the toilet', 'someone viewed my profile, what is the play', 'turn the people who liked my post into conversations', 'munta'm una rutina de social selling a LinkedIn', '¿cuántas invitaciones puedo enviar por semana'. This owns the loop and its ledger, NOT writing the cold connection note or DM copy (that is cold-outreach)."
+ description: "Use when running LinkedIn social selling as a repeatable motion — Sales Navigator saved searches and trigger alerts, weekly request budgets, fixing a low acceptance rate, turning profile views and post engagers into warm threads, logging every touch. NOT the note or DM copy (that is `cold-outreach`), NOT the deal after a reply (that is `sales-pipeline`)."
tags: [linkedin, social-selling, sales-navigator, outreach, pipeline]
recommends: [cold-outreach, lead-gen, sales-pipeline, linkedin-strategy, linkedin-content]
origin: risco
---
# Linkedin Outreach — The Loop and Its Ledger
- *You run the LinkedIn social-selling motion and keep its score. You decide **who** to touch, **when**, through **what** warm-up, and **how** the whole loop is run and logged. You do not write the cold message (`cold-outreach`), source the raw list (`lead-gen`), or run the deal after the reply (`sales-pipeline`). The thesis is warm-first: engagement before connection, signal before send, ledger before "I'll remember it."*
-
- This skill is a *motion*, not a message. Its output is a running system plus a touch ledger under `02-DOCS/`, not a finished line of copy. When prose is genuinely needed, you write the brief and hand it off — you stay in the loop.
-
- ## When to use
-
- - "Set up a Sales Navigator saved search / lead list for [ICP] and the trigger alerts."
- - "How many connection requests can I send this week without getting my account flagged?"
- - "Build me a 30-min-a-day social-selling routine that turns LinkedIn into pipeline."
- - "My acceptance rate is ~15% — how do I run requests so people actually accept?"
- - "Turn everyone who engaged with my last post into a conversation."
- - "Someone viewed my profile / liked my post — what's the play?"
- - "Log my LinkedIn touches and show me what's converting."
- - "munta'm una rutina de social selling a LinkedIn", "¿cuántas invitaciones puedo enviar por semana?"
-
- ## When NOT — the boundary that gets fought over
+ *You run the LinkedIn social-selling motion and keep its score: **who** to touch, **when**, through **what** warm-up, and **how** the loop is run and logged. The thesis is warm-first — engagement before connection, signal before send, ledger before "I'll remember it." The output is a running system plus a touch ledger under `02-DOCS/`, never a finished line of copy: when prose is needed you write the brief and hand it off, then stay in the loop.*
- The sharpest line is against **cold-outreach**. Hold it:
+ ## Boundary
- - **A single message** — the connection note (≤300 chars), the DM bump, its wording and per-inbox send cadence → `../cold-outreach/SKILL.md`. If the ask is "write this" or "fix this template," it is not yours.
- - **The system** — who to touch, when, the warm-up, the budget, the ledger → here. When both are in play, **this skill drives and delegates the copy.**
+ The sharpest line is against `../cold-outreach/SKILL.md`, and it splits on message-vs-system:
- Other routes:
+ - **A single message** — the connection note (≤300 chars), the DM bump, its wording and per-inbox send cadence → cold-outreach. If the ask is "write this" or "fix this template," it is not yours.
+ - **The system** — who to touch, when, the warm-up, the budget, the ledger → here. When both are in play, this skill drives and delegates the copy.
- - Sourcing / scoring the raw prospect list, ICP definition, dedupe → `../lead-gen/SKILL.md`.
- - Running the deal after a reply (stages, forecast, CRM tasks) → `../sales-pipeline/SKILL.md`.
- - Writing/scheduling LinkedIn *posts* → `../linkedin-content/SKILL.md`.
- - Brand growth/positioning strategy → `../linkedin-strategy/SKILL.md`.
+ Also not yours: sourcing / scoring the raw prospect list and ICP definition → `../lead-gen/SKILL.md`; the deal after a reply, i.e. stages, forecast, CRM tasks → `../sales-pipeline/SKILL.md`; writing or scheduling LinkedIn *posts* → `../linkedin-content/SKILL.md`; brand growth and positioning → `../linkedin-strategy/SKILL.md`.
## The loop
Five phases, in order. Each has a *why* and yields one artifact; the artifact gates the next phase. Skipping a phase is how acceptance collapses.
1. **Target** — *why:* outreach timed to a reason beats outreach timed to a calendar. → Yields a Sales Nav saved search + trigger alerts (job change, funding, recent post).
- 2. **Warm** — *why:* a cold context-free request accepts ~20–30%; engaging first lifts it past ~60%. → Yields a logged pre-touch (profile view + one genuine comment/like 1–2 days prior).
+ 2. **Warm** — *why:* a cold, context-free request is the worst-accepting move you can make; engaging first is what fixes it. → Yields a logged pre-touch (profile view + one genuine comment/like 1–2 days prior).
3. **Connect** — *why:* the request is the smallest, most rate-limited move; spend it deliberately. → Yields a sent request inside the weekly budget, note-or-no-note chosen by goal.
4. **Convert** — *why:* an accept is not a conversation; the choreography turns a signal into a warm 1:1. → Yields a thread with a real reply, copy delegated to cold-outreach when needed.
5. **Log** — *why:* a motion you can't measure you can't repeat or fix. → Yields a row in the `02-DOCS/` ledger with the outcome.
- Each phase has its own section below. Run them as a daily checklist (last section).
+ Each phase gets a section below; the last one compresses all five into a day.
## Target with Sales Navigator
Build the saved search from the ICP, not from a name list:
- **Filters that matter:** geography, current job title (use the title field, not keywords, to avoid past-role noise), seniority, company headcount, industry, and `Posted on LinkedIn in past 30 days` (active profiles accept and reply far more). Save it; Sales Nav re-runs it and surfaces new matches.
- **Trigger alerts worth turning on:** *changed jobs in last 90 days* (new role = new budget, new pain), *company funding events*, and *posted recently* (a fresh post is your warm-up hook). Time the request to a trigger, never to a Tuesday.
- **InMail reality:** Core and Advanced both ship **50 InMail credits/mo**, rolling over up to 3 months (max 150 accumulated); an InMail that gets a reply within 90 days is **credited back**. Spend InMail on out-of-network leads where a connection request can't reach — not on people you could warm up and connect to for free.
Free vs Core vs Advanced — buy on the job, not the brand:
| You need | Tier | 2025 price | Why |
| --- | --- | --- | --- |
| Run the loop on a tight ICP, manual budget | Free | $0 | Works if you stay disciplined; no saved-search alerts. |
| Saved searches, 40+ filters, lead/account alerts, 50 InMail/mo | Core | $119.99/mo ($1,079.88/yr) | The default for a working social seller. |
| + TeamLink, Smart Links, buyer-intent, Account/Lead IQ, CRM sync | Advanced | $159.99/mo ($1,799.88/yr) | Only when a team or CRM sync is real. |
Filter recipes per ICP, trigger-alert setup, and the full Core-vs-Advanced buy math → `references/sales-navigator-playbook.md`.
## The connection motion
**Engagement-before-connect ritual.** 1–2 days before the request: view the profile, follow the company page, and drop **one genuine** comment or like on a recent post. This is what moves acceptance from ~20–30% (cold) to ~60%+. Log the pre-touch — it is phase 2, not optional flavor.
**Note or no note — read the paradox correctly.** A personalized note barely moves *acceptance* (26.42% with vs 26.37% without; some 2025/26 datasets show no-note accepting *higher*). But a note with real context nearly **doubles the post-accept reply rate** (9.36% vs 5.44%). So decide by goal:
| Your goal | Note? | Why |
| --- | --- | --- |
| Maximize the **accept** (build network, retarget later) | No note (or near-empty) | Notes don't lift acceptance; an empty request often accepts as well or better. |
| Maximize the **reply** after accept | Short context note | Real context roughly doubles reply; worth the friction only when you have a true hook. |
| No genuine hook exists | No note | A generic note is worse than none — it reads as a pitch. |
When you do send a note, you do **not** write it here — hand the brief (the hook, the person, the goal) to `../cold-outreach/SKILL.md`.
**Weekly request budget — the cap is a rolling weekly limit, not a daily reset.**
| Account | Realistic weekly cap | Daily target | Health rule |
| --- | --- | --- | --- |
| Free | ~100/wk | ~20/weekday, stay under ~80/wk | Pause and warm more if acceptance drops below ~30%. |
| Premium / Sales Nav | up to ~200/wk | up to ~40/day | Only with strong SSI and acceptance >40%; otherwise treat as free. |
- Health rules: requests over the cap get throttled or flagged; acceptance below ~30% means you are spraying — go back to phase 2, don't push volume. Withdraw stale pending requests before they pile up.
+ Over the cap, requests get throttled or the account flagged. Below ~30% acceptance you are spraying — go back to phase 2 instead of pushing volume, and withdraw stale pending requests before they pile up.
## Engagement → conversation
A signal is an opening. Match the signal to a play; the play is choreography (timing, sequence, what to reference), never finished prose.
| Signal | Play | Copy? |
| --- | --- | --- |
| Connection just accepted | Wait, don't pitch. Reference *why* you reached out (their post/role/trigger), ask one genuine question. | Brief → cold-outreach |
| Profile viewer (they viewed you) | Soft, warm reply: "Saw you stopped by — noticed [their thing], curious how you handle X?" | Brief → cold-outreach |
| Post engager (liked/commented your post) | Thank or build on their comment, then DM a related question tied to their work. | Brief → cold-outreach |
| Comment thread (they engaged a third party's post) | Add value in-thread first, connect with that context the next day. | Brief → cold-outreach |
Worked example — the move, not the words:
```text
Bad (pitch-on-accept):
Accepted → "Thanks for connecting! We help teams like yours cut reporting
time 40% with our analytics platform — open to a 15-min demo Thursday?"
Reads as a trap; reply rate craters.
Good (reference-then-ask):
Accepted → "Appreciate the connect — your post on attribution gaps in
ecommerce hit home. How are you splitting paid vs organic credit right now?"
Opens a real thread; the product never comes up until they ask.
```
## Hand off to pipeline
You run the loop up to a **warm intro or a booked call** — then you stop and hand off.
Buying-signal tells in a thread: they ask about price/timeline, mention an active project or pain, reference budget or a decision date, or say "send me more." When you see one:
1. Book the call or send the warm intro.
2. Log the outcome (`call_booked`) in the ledger.
- 3. Hand the thread + context to `../sales-pipeline/SKILL.md`.
-
- **Explicit stop:** this skill never sets deal stages, forecasts, or runs follow-up CRM tasks. The moment a deal exists, it is sales-pipeline's.
+ 3. Hand the thread + context to `../sales-pipeline/SKILL.md` — the moment a deal exists it is theirs, and you set no stages or forecasts.
## The ledger (02-DOCS)
One file. Path: `02-DOCS/linkedin-outreach/touches.csv`. The header row is fixed (verify.sh checks it verbatim):
```csv
date,name,profile_url,channel,trigger,action,stage,outcome,next_touch
```
- `channel`: `connect` | `inmail` | `dm` | `comment` | `view`.
- `outcome` (enum, no blanks): `requested` | `accepted` | `replied` | `conversation` | `call_booked` | `dead`.
- Never leave a literal merge token (`{first_name}`, `[company]`, `XXXX`, `TODO`) in a cell — verify.sh fails on it.
Full column spec, the outcome enum, a filled 5-row example, and the weekly-review formulas → `references/ledger-schema.md`.
**Weekly review ritual** (15 min, same day each week). Compute from the ledger:
- **Acceptance %** = accepted ÷ requested.
- **Post-accept reply %** = replied ÷ accepted.
- **Conversations → calls %** = call_booked ÷ conversation.
- **Touches/week** = rows added this week (is the loop actually running?).
If acceptance < ~30%, warm harder (phase 2). If reply < ~10%, your hooks are weak (better brief to cold-outreach). If touches/week is near zero, the loop stopped — that's the real failure.
## Anti-patterns
| Bad | Why it bites | Do instead |
| --- | --- | --- |
| Spray connection requests over the cap | Rolling weekly limit; throttled or account-flagged | Stay under ~80/wk free, ~200 Premium with >40% accept |
| Pitch the instant a connection accepts | Reads as a trap; reply rate craters | Reference their context, ask one real question first |
| Automation that ignores the rolling limit | Bursts trip LinkedIn's detection; account at risk | Pace within the budget; warm-up beats volume |
| Read "notes don't help" as "context never helps" | Notes don't lift *accept*, but context doubles *reply* | Decide note by goal: accept→none, reply→context |
| Chase SSI as the goal | SSI is a lagging proxy; high SSI ≠ pipeline | Track acceptance/reply/calls; let SSI follow |
| Run outreach with no ledger | No measurement → no repeatable motion | Log every touch + outcome to `02-DOCS/` |
## Daily 30-minute routine
Run this as a checklist; it is the loop compressed into a day.
- [ ] **Engage (10 min):** comment genuinely on 5–8 posts from your saved search and from people you plan to connect with this week (phase 2 warm-up bank).
- [ ] **Connect (5 min):** send today's requests from the saved search / trigger alerts, inside the weekly budget; note-or-no-note by goal (phase 3).
- [ ] **Convert (10 min):** progress 2–3 warm threads — accepted connections, profile viewers, post engagers — using the signal→play table; delegate any copy to cold-outreach.
- [ ] **Hand off (2 min):** any buying signal → book/intro, then route to sales-pipeline.
- [ ] **Log (3 min):** write every touch and outcome to `02-DOCS/linkedin-outreach/touches.csv`.
Weekly, run the review ritual and adjust the next week's targeting. That closes the loop back to phase 1.