B2B Lead Generation
minhnv0807/ai-business-skills
Plans B2B pipeline work from ICP definition and prospecting through lead scoring, outbound sequences, sales assets and MQL to SQL handoff, aiming at qualified pipeline.
A skill your agent uses 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…
$ npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-outreach --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/linkedin-outreach .claude/skills/linkedin-outreach && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "linkedin-outreach" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-outreach into .claude/skills/linkedin-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outreach", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-outreachType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-outreach --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/linkedin-outreach .agents/skills/linkedin-outreach && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "linkedin-outreach" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-outreach into .agents/skills/linkedin-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outreach", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-outreach --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/linkedin-outreach .cursor/skills/linkedin-outreach && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "linkedin-outreach" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-outreach into .cursor/skills/linkedin-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outreach", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/linkedin-outreach--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-outreach --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/linkedin-outreach .gemini/skills/linkedin-outreach && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "linkedin-outreach" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-outreach into .gemini/skills/linkedin-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outreach", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness linkedin-outreachInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/linkedin-outreach .github/skills/linkedin-outreach && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "linkedin-outreach" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-outreach into .github/skills/linkedin-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outreach", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-outreach --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/linkedin-outreach .opencode/skills/linkedin-outreach && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "linkedin-outreach" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-outreach into .opencode/skills/linkedin-outreach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outreach", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
linkedin-outreachA skill your agent uses 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…
Linkedin Outreach is an agent skill from ericrisco/rsc-harness. 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).
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/ledger-schema.md`).
It sits in Sales & Support, covering Cold outreach and CRM management. It works with LinkedIn. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Linkedin Outreach loads about 2.8k tokens when it runs, and up to ~4.4k if it reads all its reference files. Until then it costs about 94 tokens; SKILL.md has 1,477 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,477 words, ~2,799 tokens.
.claude/skills/linkedin-outreach/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.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/SKILL.md, and it splits on message-vs-system:
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.
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.
02-DOCS/ ledger with the outcome.Each phase gets a section below; the last one compresses all five into a day.
Build the saved search from the ICP, not from a name list:
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.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.
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. |
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.
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:
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.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:
call_booked) in the ledger.../sales-pipeline/SKILL.md — the moment a deal exists it is theirs, and you set no stages or forecasts.One file. Path: 02-DOCS/linkedin-outreach/touches.csv. The header row is fixed (verify.sh checks it verbatim):
date,name,profile_url,channel,trigger,action,stage,outcome,next_touchchannel: connect | inmail | dm | comment | view.outcome (enum, no blanks): requested | accepted | replied | conversation | call_booked | dead.{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:
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.
| 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/ |
Run this as a checklist; it is the loop compressed into a day.
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.
© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in skills/linkedin-outreach of ericrisco/rsc-harness.
Open the folder on GitHubat commit e3d5b33
Linkedin Outreach next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Linkedin Outreach this skillericrisco/rsc-harness | 174 | — | ~2.8k | Automated safety check: Pass | MIT | |
| B2B Lead Generationminhnv0807/ai-business-skills | 610 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Prospectingcoreyhaines31/marketingskills | 54k | — | ~5k | Automated safety check: Pass | MIT | |
| Sales OsromangojiberryAI/gojiberryai-sales-os | 139 | — | ~2k | Automated safety check: Pass | MIT | |
| Cold Outreach Personalizeraiskilloftheweek/claude-ai-skill-of-the-week | 148 | — | ~2.6k | Automated safety check: Pass | None | |
| Cold Emailcoreyhaines31/marketingskills | 54k | — | ~3.1k | Automated safety check: Pass | MIT |
minhnv0807/ai-business-skills
Plans B2B pipeline work from ICP definition and prospecting through lead scoring, outbound sequences, sales assets and MQL to SQL handoff, aiming at qualified pipeline.
coreyhaines31/marketingskills
When the user wants to find, qualify, and build a list of prospects to reach out to, across B2B SaaS, general B2B, or local small businesses.
romangojiberryAI/gojiberryai-sales-os
A complete outbound sales department in one skill. An agent skill from romangojiberryAI/gojiberryai-sales-os.
aiskilloftheweek/claude-ai-skill-of-the-week
Generates hyper-personalized cold outreach messages (email, LinkedIn DM, connection request) from raw prospect research.
coreyhaines31/marketingskills
Write and run B2B cold outbound that gets replies, from cold emails and follow-ups to sending setup, LinkedIn, multichannel cadences, and reply handling.
BrianRWagner/ai-marketing-claude-code-skills
Builds researched LinkedIn and email outreach for prospects, from a single message to a multi-prospect system, with personalization graded by the signals found.
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Works with
Categories
A skill your agent uses 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…. Linkedin Outreach is an agent skill from ericrisco/rsc-harness. 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.
Linkedin Outreach fits situations like: 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.
Run `npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a claude-code`. Or copy the skill folder (skills/linkedin-outreach in ericrisco/rsc-harness) into .claude/skills/linkedin-outreach in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a codex`. Or copy the skill folder (skills/linkedin-outreach in ericrisco/rsc-harness) into .agents/skills/linkedin-outreach in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill linkedin-outreach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/linkedin-outreach, .gemini/skills/linkedin-outreach, .github/skills/linkedin-outreach and .opencode/skills/linkedin-outreach in your project.
Going by SKILL.md and its folder, Linkedin Outreach needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Linkedin Outreach is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Linkedin Outreach: B2B Lead Generation (minhnv0807/ai-business-skills, 610 stars), Prospecting (coreyhaines31/marketingskills, 54k stars), Sales Os (romangojiberryAI/gojiberryai-sales-os, 139 stars) and Cold Outreach Personalizer (aiskilloftheweek/claude-ai-skill-of-the-week, 148 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 174 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 7, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.