Skill library
Open-source Claude Code skills for cold email and outbound sales. Grade campaigns, export Prospeo searches, scrape Google Maps — all from Claude Code.
Repository health
GitHub’s own figures, read from its REST API. Commit and contributor totals come from the paging header rather than an estimate.
- Stars
- 668
- Commits
- 18
- Last 90 days
- 7
- Contributors
- 1
- Last push
- 2026-08-18
- First commit
- 2026-03-10
commits
repo created
50 skills
- auto-research-public
Autonomous cold email campaign launcher. Takes one target company domain, scrapes their website, generates an ICP with Claude, pulls matching leads via Prospeo, enriches emails + company descriptions, personalizes each lead with parallel Claude Code Task sub-agents (A/B/C variants), and uploads as a live Smartlead campaign. Uses local JSON files for state (no database required). Use for automated daily campaign launches after you have an initial `client-profile.yaml` from /icp-onboarding. Triggers on "auto-research", "launch an automated campaign", "daily campaign", "run the research loop".
Needs a keyActs undeclared1,409 words - blitz-list-builder
Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains. Best for SMB owner-finding, domain-to-people lookup, or supplementing Prospeo results. Outputs a CSV you can feed to the email-waterfall or directly to /cold-email-starter-kit for Smartlead upload. Use when your targeting is company-first (not title-first).
Needs a keyActs undeclared1,009 words - campaign-copywriting
Creates cold email copy through a stepwise confirmation process. Use when writing email campaigns, given a campaign strategy document, website, or client context. Confirms direction at each step before outputting final copy.
Self-containedInstructions only4,631 words - campaign-strategy
Generates 15-25+ cold outbound campaign ideas with targeting strategies, AI personalization approaches, and value propositions. Use when planning campaign experiments for a client, given their website or business context.
Self-containedActs undeclared3,311 words - cold-email-kickoff
Single "start here" orchestrator for new cold email operators. Asks infrastructure-status questions first, then runs /icp-onboarding → /lead-magnet-brainstorm → /campaign-strategy in sequence, producing a consolidated campaign-plan.md. Ends with an interactive menu of next skills branched on whether the user already has domains/inboxes. Use as the very first invocation on any new repo checkout or when onboarding someone to cold email from zero.
Needs a keyActs undeclared1,062 words - cold-email-starter-kit
Complete beginner-friendly cold email toolkit. Walks from zero to launched campaign — domain purchase, inbox setup, list building, copywriting, enrichment, and sending via Smartlead or Instantly. Use when setting up cold email for the first time, launching a new campaign, teaching someone cold email, or when you need an end-to-end guide that bundles strategy, copy, infrastructure, and API references in one place.
Needs a keyActs undeclared1,871 words - cold-email-weekly-rhythm
Operational playbook for running cold email continuously. Prescribes what to do on Monday / Wednesday / Friday / biweekly / monthly / quarterly. Use this as your ongoing cadence once your first campaign is live. What separates hobbyist from top 1% operators isn't tooling — it's consistency. This skill is the schedule.
Self-containedActs undeclared1,164 words - competitor-engagers
Find people actively engaging with competitor LinkedIn posts. Given a website URL, discovers competitors, fetches their company and employee posts, collects all commenters and reactors, and outputs a deduplicated CSV of engaged prospects. Use when someone wants to find leads from competitor engagement, build outreach lists from LinkedIn activity, or analyze who interacts with competitor content.
Needs a keyActs undeclared561 words - deliverability-incident-response
Triage playbook for when cold email deliverability breaks. Decision-tree guidance for "I landed in spam", "bounce rate spiked", "domain blacklisted", "inbox blocked in warmup", "reply rate dropped". Tells you what to check first, what to fix, and how long the fix takes. Pair with /email-deliverability-audit for diagnosis.
Reaches the webActs undeclared1,360 words - deliverability-test-public
Compare reply rates, bounce rates, and positive reply rates broken down by inbox type (SMTP / Gmail / Outlook) for a Smartlead account. Use when you want to know "which inbox type delivers best" or when debugging unexplained deliverability differences across a mixed fleet. Operates via Smartlead API only (no database required).
Needs a keyActs undeclared515 words - disco-like
Find lookalike companies via DiscoLike's 65M+ business domain database. Search by seed domains ("find companies like clay.com and apollo.io") or natural-language ICP text ("B2B cold email outreach"). Supports negation domains (exclude competitors/existing customers) and country filtering. Use when you already know 3-10 reference companies and want hundreds more that look like them. Outputs CSV ready for /blitz-list-builder or the email waterfall.
Needs a keyActs undeclared918 words - email-deliverability-audit
Diagnostic audit for a running cold email program. Checks domain authentication (SPF/DKIM/DMARC), inbox health/reputation from Smartlead, bounce rate by inbox type, and optionally runs a spam placement test via Smartlead's Smart Delivery API. Outputs markdown report + CSV with per-domain/per-inbox scores and concrete action items. Use when reply rates drop, when bounces spike, when onboarding someone else's account, or as a weekly/monthly health check.
Needs a keyActs undeclared1,471 words - experiment-design
Framework for running single-variable cold email experiments. Defines experiment types (list-only, copy-only, combined), confidence weighting, minimum sample sizes, and success criteria. Use when the user wants to improve a campaign, test a new list vs old one, or compare copy variants. Prevents the #1 learning-loop mistake — changing list + copy + offer at once and losing all signal.
Self-containedInstructions only1,484 words - google-maps-list-builder
Scrape Google Maps for local businesses by category and location, output CSV ready for cold email enrichment. Best for SMB campaigns targeting restaurants, clinics, gyms, salons, contractors, etc. Uses RapidAPI Maps Data API. Output feeds directly into /blitz-list-builder (to find owner contacts) or /email-waterfall (if you have names already).
Needs a keyActs undeclared2,990 words - icp-onboarding
Conversational intake for cold email campaigns. Interviews the user about their business, ICP (Ideal Customer Profile), offer, lead magnets, and hard vs soft filters. Outputs a structured `client-profile.yaml` that every other skill in the repo reads from. Use at the very start of a new campaign or when onboarding a new business. Triggers on "onboard me", "set up my ICP", "new client", "new business intake", "help me define my ICP".
Reaches the webActs undeclared1,091 words - icp-prompt-builder
Interactive loop that builds and tunes an AI prompt for evaluating whether a company fits a client's ICP. Run after any list-building skill (disco-like, blitz-list-builder, google-maps-list-builder, prospeo-full-export) to qualify companies before scaling. Iterates batches of 10 companies with user feedback, stops when 2 consecutive rounds have zero corrections, saves the final prompt for reuse. Always uses Claude Code Task sub-agents — never an external API key.
Self-containedInstructions only1,274 words - lead-magnet-brainstorm
Helps the user come up with free lead magnets or hooks to offer in cold emails. Asks about their business, what they can legally give away, and what would be genuinely valuable to their ICP. Returns 5-10 concrete offer ideas with example CTA phrasings. Use when the user says their campaign "needs a hook", "needs an offer", "what can I give away", or when ICP onboarding flagged a missing lead magnet.
Self-containedActs undeclared1,165 words - list-builder
META skill — build the largest possible qualified lead list for any request, end to end. Orchestrates discovery (Prospeo + GetLeads + Blitz + Google Maps + lookalike snowball from /list-expander), AI qualification with live-website verify, uncapped contact pull (GetLeads → Blitz → Prospeo), and provider emails (GetLeads/Blitz/Prospeo) validated with MillionVerifier before sending. Use for any "build me a list", "get me leads for X", "find everyone who...", client list request, or campaign list build. Starts with a 7-line intake brief; outputs to Postgres, Google Sheet, and/or CSV (asks which).
Needs a keyActs undeclared2,461 words - list-expander
Expand a hard-to-build niche list from ~10 known-good seed companies into a full qualified TAM. Seed fingerprinting (how do good-fit companies ACTUALLY show up in the company database's filters) → lookalike generation (Prospeo company_lookalike, Exa findSimilar, Parallel.ai entity search) → filter mining with a precision/volume scorecard → wide pull with auto-sharding → cheap-AI qualification → live-website verification → client transparency report. Use when a vertical list feels "too small" (medical groups, hedge funds, Medicare brokerages), when known good-fit companies don't show up in keyword searches, or when someone says "expand this list", "the TAM should be bigger", "find more companies like these".
Needs a keyActs undeclared1,303 words - list-quality-scorecard
Pre-send quality scorecard for any lead list. Grades duplicate rate, title diversity, bad-title patterns, catch-all domain density, ICP fit, email verification coverage. Outputs a letter grade + action items BEFORE you send. Catches bad lists before they burn inboxes. Run after email enrichment, before Smartlead upload.
Self-containedActs undeclared988 words - personalization-subagent-pattern
Reusable approval-loop pattern for fanning out lead personalization across parallel Claude Code Task sub-agents. Shows the user 1 sample personalization, collects feedback, runs 10 more, approves, runs 10 more — stops when 2 consecutive rounds have zero edits, then scales to the full list. ALWAYS uses Claude Code Task tool sub-agents — never an external Anthropic/OpenAI API key. Use when any skill needs per-lead custom variables (situation lines, value lines, CTAs).
Self-containedActs undeclared1,595 words - clay-playbooks
Index and shared harness for the 19 signal playbooks. Each playbook turns one buying signal (new in role, raised a round, hiring surge, pricing page, tech on website, ...) into one copy-ready sentence you can drop into a cold email. Every playbook ships three ways to run it: as a Claude skill, as a Clay table built through a browser harness, and as a Clay workflow built from the clay CLI. Use when someone says "personalize this list", "what signal should I use", "build the Clay column for X", or names any of the 19 signals.
Needs a keyActs undeclared1,210 words - playbook-ad-library
Produces a line about what a company is currently advertising on Facebook and Instagram, from the Meta Ad Library. Triggers on "are they running ads", "what are they advertising", "meta ad library", "facebook ads", "pull their ad copy", "who is spending on paid social". Outputs ad_library_line, a lowercase clause that completes "Noticed <line>.
Reaches the webActs undeclared4,213 words - playbook-ai-specificity
Writes the one sentence that makes a generic offer feel written for this one company. Produces the tail of "I think we can help you ___". Triggers on "specificity line", "make it feel specific to them", "the specifically sentence", "why would they think this is for them", "personalize the offer not the intro". Outputs one lead-level merge field, blank when the company does not fit.
Self-containedActs undeclared2,769 words - playbook-case-study-page
Finds a prospect company's own case-study or customer-stories page and pulls one named customer off it, so email 1 can open with "saw your work with Intercom". Triggers on "case study", "customer stories", "who are their clients", "saw your work with X", "name-drop one of their customers", "logos on their site". Outputs case_study_line, a short clause that finishes the sentence "Saw ...".
Reaches the webActs undeclared3,251 words - playbook-company-name-cleaning
Turns the raw company-name string on a lead row into the short human form a person would say out loud, so it can be dropped into email copy. Triggers on "clean these company names", "company name variable", "strip the LLC and Inc", "the company names look robotic", "normalize company names for the campaign". Outputs company_clean, one short string per row.
Self-containedActs undeclared3,766 words - playbook-creative-ideas
The 3-bullet creative ideas email. Produces three per-company bullets that each sit in a slot the operator defined up front, so the model fills in the company detail and never invents a new idea. Triggers on "creative ideas campaign", "three ideas email", "I had a few ideas for you", "3 bullets", "use cases for their business", "what could they build with us". Outputs creative_idea_1, creative_idea_2, creative_idea_3 plus a rendered bullet block.
Self-containedActs undeclared1,330 words - playbook-first-name-cleaning
Turns the raw first-name field on a lead row into the name a person would actually be greeted by, so it can open an email. Triggers on "clean these first names", "first name variable", "the greeting says Hi DR MATTHEW", "strip the titles off the names", "some rows have the whole name in the first-name column", "normalize first names for the campaign". Outputs first_name_clean, one short string per row.
Self-containedActs undeclared4,432 words - playbook-fundraising
Produces a copy-ready sentence about a company's funding round, and the list-building filters that select companies which have ever raised or raised recently. Triggers on "raised a round", "recently funded", "companies that raised", "Series A list", "VC backed", "post funding outreach", "who just raised". Outputs funding_line, a COMPLETE sentence including the leading "Saw" and the trailing period, so an empty value renders as nothing at all.
Reaches the webActs undeclared2,890 words - playbook-google-site-search
Checks whether a company's own website mentions a specific keyword, using one simple Google site: query per keyword through a SERP API, and turns the hit into a copy-ready line. Triggers on "does their site mention X", "site: search", "find companies whose website says X", "filter this list by a keyword on their site", "check if they talk about X", "google search enrichment". Outputs site_keyword_hit plus a one-clause personalization line with an evidence URL.
Reaches the webActs undeclared3,579 words - playbook-hiring-surge
Produces a copy-ready clause about a company adding people to one specific department in the last 6 months, plus the department-level headcount counts that drive the segment gate. Triggers on "they're hiring", "hiring surge", "growing their sales team", "scaling the team", "headcount growth", "who added SDRs", "companies that just built a marketing team". Outputs hiring_surge_line, a lowercase second-person clause that completes "Noticed <line>.
Reaches the webActs undeclared3,984 words - playbook-job-posting-language
Produces a copy-ready clause about a role a company is currently hiring for, filtered by language the client cares about (for example "cold call", "outbound prospecting", "Salesforce"). Triggers on "they're hiring", "job posting language", "who is hiring SDRs", "companies hiring for X", "find the hiring signal", "what roles are they hiring for", "job description mentions". Outputs job_posting_line_safe, one lowercase clause that slots into "Saw {{job_posting_line_safe}}.
Reaches the webActs undeclared2,891 words - playbook-linkedin-engagement
Turn the people who like and comment on a source account's LinkedIn posts (a competitor, or one of the client's own customers) into ICP-filtered prospect rows, with an optional copy-ready personalization line when the campaign asks for one. Triggers on "who engages with our competitors", "likers and commenters", "LinkedIn engagement list", "people commenting on competitor posts", "who engages with our customers' posts", "warm LinkedIn audience", "competitor engagers". Outputs one clean prospect row per engager; engagement_line only on request.
Reaches the webActs undeclared880 words - playbook-lookalikes
Turns one customer case study into the tightest list of companies that would read that case study and see themselves. Decomposes WHY the case-study company resonates into concrete attributes, translates those attributes into database filters, intersects them with a lookalike anchor, then widens with a model judge. Triggers on "find more companies like our best customer", "who would our case study land with", "lookalikes of X", "build a list around this case study", "companies like our happiest client", "expand this list, it is too small". Outputs a filter set plus one merge field naming which case study to cite.
Self-containedActs undeclared2,437 words - playbook-name-to-other-prospects
Names 2 other right-fit people at the prospect's own company so an email can ask "is this you or them?" without ever naming the person being emailed. Triggers on "name two other people at the company", "who else works there", "should I be talking to someone else", "colleague name variable", "other prospects line", "wrong person CTA". Outputs other_prospects, a ready-to-drop phrase like "Jeff Barg or Rob Cook".
Reaches the webActs undeclared1,702 words - playbook-new-in-role
Produces a copy-ready clause about someone who recently started or changed into their current job title. Triggers on "who just started", "new in role", "recently promoted", "new VP of X", "job change signal", "people who just took the seat". Outputs new_in_role_line, a lowercase clause that completes "Saw <line>.
Needs a keyActs undeclared3,854 words - playbook-pricing-page
Decides whether a company publishes public self-serve pricing and extracts its plan tiers, price points and feature axis. Triggers on "do they have a pricing page", "is their pricing public", "filter out enterprise quote-only companies", "what do they charge", "find their plans", "self-serve vs sales-led". Outputs a structured pricing record per domain. The copy-ready pricing clause is OFF by default and runs only when a campaign brief asks for it.
Reaches the webActs undeclared3,969 words - playbook-social-link-finding
Resolve a company domain to its verified official social profile URLs (LinkedIn, X, Facebook, Instagram, YouTube, TikTok). Triggers on "find their LinkedIn", "get the company LinkedIn URL", "find their Instagram", "we need social handles for this list", "which companies have a TikTok", "social links for the TAM". Outputs one canonical profile URL per platform, or an empty string when the company genuinely has no account.
Reaches the webActs undeclared2,004 words - playbook-social-posts
Fetches the most recent usable LinkedIn post from a company page OR a person's profile and stores the post content itself, with an optional AI personalization line on top. Triggers on "what did they post about", "recent LinkedIn post", "social signal", "reference their content", "they posted about X", "what is this person posting", "engage with their content". Outputs social_post_text (the raw post) plus social_post_url and social_post_days_ago; social_post_line only when the operator asks for one.
Reaches the webActs undeclared1,131 words - playbook-tech-on-website
Decides which named technologies a company actually runs on its website, verified against the live site. Triggers on "find companies using Shopify", "they're on HubSpot", "tech stack targeting", "technographics", "who uses Klaviyo", "companies running WordPress". Outputs a per-domain verdict (tech_confirmed plus the verified stack and its evidence); the copy-ready clause is OFF by default and runs only when the operator asks for one.
Self-containedActs undeclared1,969 words - playbook-warm-intros
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 our site". Outputs warm_intro_line plus a per-member evidence column.
Self-containedActs undeclared1,548 words - positive-reply-scoring
Pulls replies from a Smartlead campaign, classifies each as positive/neutral/negative/OOO/bounce/unsubscribe using Claude, and reports the positive reply rate — the north-star metric for cold email. Use when the user wants to know if a campaign is actually working (not just getting replies, but getting the RIGHT replies). Triggers on "score my replies", "how's campaign X doing", "positive reply rate", "is this campaign working".
Needs a keyActs undeclared1,085 words - prospeo-full-export
Export your entire Prospeo people search to CSV. Build filters in Prospeo's UI, then use this skill to extract every result via the API — even searches over 25K. Handles pagination, rate limiting, deduplication, and state-by-state splitting automatically. Pair with /icp-prompt-builder on a 50-person sample to tune a qualification prompt BEFORE exporting 25K.
Needs a keyActs undeclared2,575 words - prospeo-search-api
This skill should be used when searching for people/leads using the Prospeo Search Person API. It provides the correct API format, filter types, rate limiting patterns, and state-by-state crawling techniques to overcome the 25K result limit. Use when building lead lists, searching by job title/industry/location, or integrating with Prospeo.
Needs a keyActs undeclared1,058 words - smartlead-api
Smartlead API endpoint reference and patterns. Use for any Smartlead campaign, lead, email account, analytics, or inbox operation. Covers auth, rate limiting, and all commonly used endpoints.
Needs a keyActs undeclared721 words - smartlead-campaign-upload-public
Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign. Handles tag-scoped inbox selection, A/B/C variant assembly, custom field mapping, schedule config, and batch lead upload. ALWAYS creates in DRAFT — you review in Smartlead UI and hit Start manually. Use after /campaign-copywriting, just before the campaign goes live.
Needs a keyActs undeclared607 words - smartlead-inbox-manager
Programmatic inbox management for Smartlead. Enable/disable warmup with correct ramp settings, set signatures in bulk, tag inboxes (active vs insurance), and pull inbox health dashboards. Use after creating a new batch of inboxes via /zapmail-domain-setup-public, or when managing an existing Smartlead account at scale. Triggers on "turn on warmup", "set signatures", "tag inboxes", "inbox health", "set up new inboxes".
Needs a keyActs undeclared1,177 words - smartlead-spintax
Adds Smartlead-compatible spintax to cold email sequences for deliverability. Use this skill whenever the user asks to add spintax, spin text, add variations, or improve deliverability of email copy — especially when they mention Smartlead, cold email sequences, or paste HTML email content. Also trigger when the user says "spintax", "spin", "variations", "deliverability spintax", or references adding randomized alternatives to email copy. Works with both plain text and HTML input.
Self-containedInstructions only1,028 words - spam-word-checker
Always-on spam and deliverability guardrails for cold email copy. Apply these rules whenever writing, reviewing, or QA-ing subject lines, openers, follow-ups, CTAs, or any cold outreach copy. Trigger on phrases like "check this for spam", "spam word check", "deliverability review", "QA this copy", "flag banned words", "check subject line", "is this safe to send", "scan for spam triggers", or any time cold email copy is being generated or reviewed. Also trigger automatically as a background rule whenever the campaign-copywriting or cold-email-copywriting skill is active -- these guardrails apply to EVERY piece of outbound copy generated, even if the user does not explicitly ask for a check.
Self-containedInstructions only1,383 words - zapmail-domain-setup-public
Public guide: Generate short domain names, check availability, purchase on Dynadot, switch nameservers, set up on Zapmail, create inboxes, and export to your email sending platform. Requires your own Dynadot and Zapmail API keys. Use when someone wants to set up cold email domains end-to-end.
Needs a keyActs undeclared1,871 words
Need help setting it up?
This page tells you what growthenginenowoslawski/coldoutboundskills does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.