Find Leads
eracle/OpenOutreach
Find qualified B2B leads with OpenOutreach — run openoutreach find N [emails], read the CSV it prints on stdout, and hand the rows to whatever sends.
Agent skill
by growthenginenowoslawski in growthenginenowoslawski/coldoutboundskills
Build prospect lists where the prospect is already one hop from the client, and write the line that says so.
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills playbook-warm-intros --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/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/playbooks/playbook-warm-intros .claude/skills/playbook-warm-intros && 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 "playbook-warm-intros" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-warm-intros into .claude/skills/playbook-warm-intros/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-warm-intros", 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/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-warm-introsType 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 growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills playbook-warm-intros --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/playbooks/playbook-warm-intros .agents/skills/playbook-warm-intros && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "playbook-warm-intros" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-warm-intros into .agents/skills/playbook-warm-intros/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-warm-intros", 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 growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills playbook-warm-intros --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/playbooks/playbook-warm-intros .cursor/skills/playbook-warm-intros && 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 "playbook-warm-intros" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-warm-intros into .cursor/skills/playbook-warm-intros/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-warm-intros", 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/growthenginenowoslawski/coldoutboundskills.git --path skills/playbooks/playbook-warm-intros--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 growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills playbook-warm-intros --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/playbooks/playbook-warm-intros .gemini/skills/playbook-warm-intros && 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 "playbook-warm-intros" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-warm-intros into .gemini/skills/playbook-warm-intros/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-warm-intros", 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 growthenginenowoslawski/coldoutboundskills playbook-warm-introsInstalls 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 growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/playbooks/playbook-warm-intros .github/skills/playbook-warm-intros && 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 "playbook-warm-intros" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-warm-intros into .github/skills/playbook-warm-intros/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-warm-intros", 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 growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills playbook-warm-intros --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/playbooks/playbook-warm-intros .opencode/skills/playbook-warm-intros && 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 "playbook-warm-intros" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-warm-intros into .opencode/skills/playbook-warm-intros/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-warm-intros", 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.
playbook-warm-introsBuild prospect lists where the prospect is already one hop from the client, and write the line that says so.
Playbook Warm Intros is an agent skill from growthenginenowoslawski/coldoutboundskills. Build prospect lists where the prospect is already one hop from the client, and write the line that says so. Seven members, each with its own source. Current-customer alumni is the priority member - everyone who ever worked at one of the client's customers or case-study companies and has since moved on. Triggers on "warm intro", "who do we know at that account", "they used to work at our customer", "alumni of our case study company", "shared investor angle", "who is in the same city as our rep", "did they visit…
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `clay-table.md` and `clay-workflow.md`).
It sits in Marketing & SEO, covering Lead generation. The repository describes itself as: Open-source Claude Code skills for cold email and outbound sales. Grade campaigns, export Prospeo searches, scrape Google Maps — all from Claude Code. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 25c5d85. 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.
No scripts in the folder and no shell commands in SKILL.md.
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.
Playbook Warm Intros loads about 2.4k tokens when it runs. Until then it costs about 152 tokens; SKILL.md has 1,387 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); files beside SKILL.md are not scanned.
The full file from growthenginenowoslawski/coldoutboundskills at commit 25c5d85, republished under its MIT licence (© growthenginenowoslawski). 1,387 words, ~2,378 tokens.
.claude/skills/playbook-warm-intros/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.All rules here are best practice, not law. Override any of them when the campaign calls for it; note the best practice once and move on.
Use when: the campaign's whole premise is that the prospect is already one hop from the client, and you need both the list and the line. The strongest version, and the one to build first, is "you used to work at a company that is now our client's customer".
Do not use when: you want a second contact at an account you already email
(playbook-name-to-other-prospects), people who engaged with a competitor's or customer's posts
(playbook-linkedin-engagement), or companies similar to a seed set (playbook-lookalikes).
One-line output: warm_intro_line = "you came up through Coca-Cola, who we work with now",
rendering as Noticed you came up through Coca-Cola, who we work with now.
This is the least proven playbook in the library, and it is written that way deliberately.
warm_intro_line.Everything below §3 is a build spec, not a measured path. Treat the coverage and quality claims as unverified until you run one.
A warm-intro signal is any evidence that the prospect is already one hop from the client, so email 1 can lean on a real connection instead of a cold pitch.
Seven members share the copy shape warm_intro_line. They do not share a data source. So this is
one routing table plus one build recipe per member.
| # | Member | What it means | Status |
|---|---|---|---|
| 1 | same-company alumni | Everyone who ever worked at the case-study company and has since moved on | live, same build as 2 |
| 2 | current-customer alumni | The prospect used to work at one of the client's current customers | live, top priority, build this first |
| 3 | engagement overlap | The prospect engages with the same content the client's world does | live, but routed to playbook-linkedin-engagement |
| 4 | same metro | The prospect sits in the same city as the client, a named rep, or an upcoming trip | live |
| 5 | shared investor or advisor | A common investor, board member or advisor links the two companies | live |
| — | A first-degree connection in common | deleted. Do not re-add it, do not prototype it | |
| 7 | event attendee | Both attended, spoke at or sponsored the same event | live as a custom scrape every time. There is no reusable recipe and there will not be one |
| 8 | website visitor | The prospect's company already visited the client's site | live as a per-client toggle, not a standing integration |
Member 1 originally meant "overlapped in time with someone on the client's team". That list is always too small, and it never once got run.
Reframed, it means everyone who ever worked at the case-study company and has since moved on — which is a large, buildable list from the same source as member 2.
The general lesson: a warm-intro definition that requires a time overlap between two specific people produces a list too small to campaign on. Widen to "worked there at all, and left" and the same data source suddenly supports a real segment.
| Field | Type | Example | Null? |
|---|---|---|---|
warm_intro_line | string | you came up through Coca-Cola, who we work with now | yes, "" |
warm_intro_member | enum | current_customer_alumni | no |
warm_intro_evidence | string, QA only | Coca-Cola, Brand Manager, 2018-2021 | yes |
Abstain value: "".
Keep the member field. Seven members share one copy shape, and without it you cannot tell later which angle actually produced replies — which is the only way this family gets narrowed to the two or three members worth keeping.
The line says "who we work with now", not "we work with Coca-Cola" — unless the client has explicitly approved naming that customer.
Naming a client's customer in cold email is the client's decision, not yours, and it is the fastest way to turn a clever campaign into an awkward phone call. Default to the unnamed form.
Note this is the same posture playbook-lookalikes takes with case-study companies, for the same
reason.
The source is a people search with a past-company filter set to the client's customer or case-study companies.
What the probe confirmed on 20 rows:
That last number is the one to plan from. Roughly three quarters of "ever worked there" is "worked there and left", and the rest are current employees who must be excluded (they are the customer's staff, not prospects).
Inherit them from playbook-linkedin-engagement, because the shape is identical:
Untested for the line. Sources probed only. See the status box above.
The first person to run a member owes the file: a real fill rate, a graded sample of at least 10 lines, and the member name on every row.
clay-table.md — the labelling half as columns.clay-workflow.md — the CLI-buildable version.The line is short, and the copy risk is entirely in what it names, not in how it is written.
Shape: you came up through <former employer>, who we work with now.
Rules:
Verification for this family is source-side, not model-side. The facts come from the prospect's own profile, and the model only phrases them — so the risk is a stale or mismatched profile, which no verifier over your own output can catch. Prefer sources that return a dated experience you can check.
| Symptom | Cause | Fix |
|---|---|---|
| The list is tiny and not worth a campaign | The member was defined as a time overlap between two specific people | Widen to "ever worked there, and has since moved on" |
| The list is full of the customer's current staff | No current-employment exclusion | Drop anyone currently employed by a source company |
| The client's own employees appear | The client's domain got into the source set | Stop. The list is wrong |
| The same people reappear next quarter | Row drops only fix this run | Push the source companies to the client's DNC list |
| A client is unhappy that their customer was named | The line named a real third party | Default to the unnamed form. Naming is the client's decision |
| The line states a date that is wrong | Profile date ranges are imprecise | Never state a date |
| Replies cannot be attributed to an angle | Seven members share one copy field | Keep warm_intro_member on every row |
| Someone proposes rebuilding mutual connections | It is a deleted member | It is unverifiable at scale and reads as a lie when wrong. Do not re-add it |
| An event member becomes a maintenance burden | It was turned into a standing recipe | Event overlap is a custom scrape every time. That is the decision, not a gap |
© growthenginenowoslawski, 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 2 other files in skills/playbooks/playbook-warm-intros of growthenginenowoslawski/coldoutboundskills.
Open the folder on GitHubat commit 25c5d85
Playbook Warm Intros 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 |
|---|---|---|---|---|---|---|
| Playbook Warm Intros this skillgrowthenginenowoslawski/coldoutboundskills | 753 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Find Leadseracle/OpenOutreach | 3.2k | — | ~4.6k | Automated safety check: Pass | GPL-3.0 | |
| 100m Leadsgetagentseal/founder-playbook | 729 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Business Contact and Social Links Finderbrowser-act/skills | 6.1k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| GitHub Lead GenDucksss/codex-profiles | 180 | — | ~1k | Automated safety check: Pass | MIT | |
| LinkedIn Ads Managementivangfalco/ads-skills | 279 | — | ~1.7k | Automated safety check: Pass | Custom licence |
eracle/OpenOutreach
Find qualified B2B leads with OpenOutreach — run openoutreach find N [emails], read the CSV it prints on stdout, and hand the rows to whatever sends.
getagentseal/founder-playbook
Builds lead generation systems using Alex Hormozi's Core Four framework (warm outreach, content, cold outreach, paid ads), lead magnets, and Rule of 100.
browser-act/skills
Finds a company's official website and social profiles from its name, or collects social links from a website URL, using BrowserAct templates run by a Python script.
Ducksss/codex-profiles
A skill your agent uses when running GitHub lead generation for codex-profiles.
ivangfalco/ads-skills
Routes LinkedIn Ads work for B2B SaaS to the right playbook: campaign planning, performance analysis, account audits, creative, scaling and account-based campaigns.
freekmurze/dotfiles
When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or brand awareness.
growthenginenowoslawski/coldoutboundskills
Diagnostic audit for a running cold email program. An agent skill from growthenginenowoslawski/coldoutboundskills.
growthenginenowoslawski/coldoutboundskills
Conversational intake for cold email campaigns. An agent skill from growthenginenowoslawski/coldoutboundskills.
growthenginenowoslawski/coldoutboundskills
META skill — build the largest possible qualified lead list for any request, end to end.
growthenginenowoslawski/coldoutboundskills
Autonomous cold email campaign launcher. An agent skill from growthenginenowoslawski/coldoutboundskills.
growthenginenowoslawski/coldoutboundskills
Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains.
growthenginenowoslawski/coldoutboundskills
Compare reply rates, bounce rates, and positive reply rates broken down by inbox type (SMTP / Gmail / Outlook) for a Smartlead account.
Categories
Build prospect lists where the prospect is already one hop from the client, and write the line that says so. Playbook Warm Intros is an agent skill from growthenginenowoslawski/coldoutboundskills. Build prospect lists where the prospect is already one hop from the client, and write the line that says so.
Playbook Warm Intros fits situations like: who do we know at that account; they used to work at our customer; alumni of our case study company; shared investor angle.
Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a claude-code`. Or copy the skill folder (skills/playbooks/playbook-warm-intros in growthenginenowoslawski/coldoutboundskills) into .claude/skills/playbook-warm-intros in your project. Claude Code loads it when a task matches its description.
Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a codex`. Or copy the skill folder (skills/playbooks/playbook-warm-intros in growthenginenowoslawski/coldoutboundskills) into .agents/skills/playbook-warm-intros 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 growthenginenowoslawski/coldoutboundskills --skill playbook-warm-intros -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playbook-warm-intros, .gemini/skills/playbook-warm-intros, .github/skills/playbook-warm-intros and .opencode/skills/playbook-warm-intros in your project.
SKILL.md names no scripts, command-line tools or credentials: Playbook Warm Intros is instructions for the agent only.
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. Review the folder before installing.
Playbook Warm Intros 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.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Playbook Warm Intros: Find Leads (eracle/OpenOutreach, 3.2k stars), 100m Leads (getagentseal/founder-playbook, 729 stars), Business Contact and Social Links Finder (browser-act/skills, 6.1k stars) and GitHub Lead Gen (Ducksss/codex-profiles, 180 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
growthenginenowoslawski (a GitHub user) maintains it in growthenginenowoslawski/coldoutboundskills, which has 753 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.
Source: growthenginenowoslawski/coldoutboundskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.