Systems Lab

Agent skill

cold-email-kickoff

Single "start here" orchestrator for new cold email operators.

activeNeeds a keyActs undeclared1,062 words

Filed under Outbound email.

From growthenginenowoslawski/coldoutboundskills · 50 skills · 668 · pushed 2026-08-18

What it does when it runs

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.

Read from the skill and the 3 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
  • BLITZ_API_KEY
  • MILLIONVERIFIER_API_KEY
  • PROSPEO_API_KEY
  • RAPIDAPI_KEY
  • SMARTLEAD_API_KEY
Hosts it reaches
  • acmeanalytics.com
  • deliverymarginpro.com
  • scalestudio.co
Tool permissions it declares
No allowed-tools in the frontmatter. It does act, so it runs under whatever permissions your session already grants.
Actions present in the files
writes files

Ask about cold-email-kickoff

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/growthenginenowoslawski/coldoutboundskills.git /tmp/coldoutboundskills
git -C /tmp/coldoutboundskills sparse-checkout set "skills/cold-email-kickoff"
mkdir -p ~/.claude/skills/cold-email-kickoff
cp -R "/tmp/coldoutboundskills/skills/cold-email-kickoff/." ~/.claude/skills/cold-email-kickoff/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Before you install: this skill will not complete its job on a bare agent. It needs BLITZ_API_KEY, MILLIONVERIFIER_API_KEY, PROSPEO_API_KEY, RAPIDAPI_KEY, SMARTLEAD_API_KEY, which you have to obtain separately.

Reproduced in full from growthenginenowoslawski/coldoutboundskills/blob/f24320d4ab3ddb717402a065a3679aca5a7a8665/skills/cold-email-kickoff/SKILL.md, which is licensed MIT (repository). 1,062 words, 23 headings.

Cold Email Kickoff

The single entry point for a fresh user. Replaces "stare at 29 skills and guess which to run first."

When to use

  • First-time cold email operator on this repo
  • New client/business being onboarded (fresh profiles/<slug>/ directory)
  • Experienced operator starting a new campaign for a new business
  • Anyone who asks "where do I start?"

What this skill produces

  • A populated profiles/<business-slug>/client-profile.yaml (from /icp-onboarding)
  • A profiles/<business-slug>/lead-magnets.md with the chosen free offer
  • A profiles/<business-slug>/campaign-strategy.md with 15-25 campaign ideas
  • A consolidated profiles/<business-slug>/campaign-plan.md — a single-page summary you can show stakeholders
  • An interactive menu pointing at the right next skill based on your infrastructure status

Flow

Step 1 (asked FIRST): Infrastructure status

Before touching any business context, ask:

  1. "Do you already have sending domains + inboxes set up on Smartlead?" (yes / no / not sure)
  2. "At least 20 inboxes that have been warming for 2+ weeks?" (yes / no)
  3. "Do you have API keys for Smartlead + Prospeo + MillionVerifier in your .env?" (yes / partial / no)

These answers determine the next-step menu at Step 6. Save them as infrastructure_status in the profile.

Step 2: Load or create the business profile

Check for profiles/<business-slug>/client-profile.yaml:

  • Exists → load it. Ask: "Use this existing profile (answer: use) or start fresh (answer: new)?"
  • Doesn't exist → invoke /icp-onboarding. This scrapes the user's website first, then interviews them. Produces the profile.

Step 3: Ensure lead magnet is chosen

Check the loaded/created profile for a lead_magnet field:

  • Empty → invoke /lead-magnet-brainstorm. It asks 4 intake questions, scores 10 magnet archetypes, picks a top 2-3, updates the profile.
  • Already set → confirm with the user: "Using <chosen magnet> as your free offer. OK?" — if they want to change it, re-invoke /lead-magnet-brainstorm.

Step 4: Generate campaign strategy

Invoke /campaign-strategy. It takes the profile + website + any case studies it can scrape and produces 15-25 campaign ideas ranging from broad to niche, with AI personalization + value-prop + campaign-overview per idea.

Saved to profiles/<slug>/campaign-strategy.md.

Step 5: Synthesize campaign-plan.md

Pull from all three artifacts above. Write profiles/<slug>/campaign-plan.md:

# Campaign Plan — <business name>
Generated: YYYY-MM-DD

## Business
<one-liner from profile>
Website: <url>

## ICP
- Titles: <titles>
- Industries: <industries>
- Headcount: X-Y
- Geography: <countries/states>
- Hard filters: <list>
- Excluded industries: <list>

## Offer & Lead Magnet
- Primary CTA: <cta>
- Free hook: <lead magnet name>
- Delivery: <how you deliver it>

## Top 3 Recommended Campaigns (from /campaign-strategy)
1. **<name>** — <one-line why + value prop>
2. **<name>** — <one-line why + value prop>
3. **<name>** — <one-line why + value prop>

Full strategy in: profiles/<slug>/campaign-strategy.md

## Infrastructure Readiness
Based on your Step 1 answers:
- [ ] SMARTLEAD_API_KEY in .env: <yes/no>
- [ ] PROSPEO_API_KEY in .env: <yes/no>
- [ ] MILLIONVERIFIER_API_KEY in .env: <yes/no>
- [ ] Domains purchased: <yes/no>
- [ ] Inboxes warmed 2+ weeks: <yes/no>

## Next Steps
<branched — see Step 6 below>

Step 6: Interactive next-skill menu

Branch on Step 1 answers.

If NO infrastructure (or "not sure"):

Your next step is provisioning domains + inboxes. This takes ~2 weeks (because inboxes need
to warm). Menu:

[A] Start the domain + inbox setup NOW  → /zapmail-domain-setup-public then /smartlead-inbox-manager
[B] Save the plan and come back after I have infra
[C] I want to build my list FIRST (warning: risky — without warmed inboxes, you can't send safely)

Pick A / B / C:

If A: orient the user, then invoke /zapmail-domain-setup-public. After that skill completes, invoke /smartlead-inbox-manager for config. Remind the user to wait 2 weeks for warmup before launching.

If INFRASTRUCTURE READY (warmed inboxes + API keys present):

Look at the ICP type in the profile and recommend a list-building skill:

Your infra is ready. Time to build your list. Based on your ICP (<summary>), the best fit is:

[A] /prospeo-full-export       → title-first search (best for: VP/Director/Head roles in specific industries)
[B] /disco-like                → lookalike discovery (best for: "more companies like <seed domains>")
[C] /google-maps-list-builder  → local SMBs (best for: restaurants, clinics, contractors, etc.)
[D] /blitz-list-builder        → domain-first (best for: named-account ABM, specific company list)
[E] /competitor-engagers       → LinkedIn engagement (best for: people actively engaged with competitors)

Recommendation: <one of A-E based on ICP>. Pick A / B / C / D / E:

Invoke the picked skill. After it completes, remind user: /icp-prompt-builder runs inside that skill (required step), then /list-quality-scorecard, then /campaign-copywriting, then /smartlead-campaign-upload-public.

Step 7: Offer to open the plan

Print the campaign-plan.md path. Offer open <path> if macOS.

Safeguards

  • Don't re-run /icp-onboarding blindly. If a profile exists, ASK before overwriting.
  • Don't auto-invoke /zapmail-domain-setup-public. It spends real money. Always confirm first.
  • Don't skip the 2-week warmup warning. Make it loud if the user picks option [C] of the no-infra menu.

Why this skill exists

Without kickoff, a new user opens the repo, sees 29 skills, and has no idea which to run first. Every single new operator asks the same question ("where do I start?") and the answer is identical. This skill is that answer, codified.

Also: putting the infrastructure question FIRST prevents the most common failure mode — someone writes beautiful copy, builds a great list, then realizes they can't send because they have no warmed inboxes.

What to do next

Follow whichever branch your Step 6 menu selected. The skill hands you off cleanly to the right next step.

Or wait: if you picked [B] from the no-infra menu (save plan, come back later), return to this skill after your domains have warmed for 2 weeks. Load the existing profile and skip to Step 6.

Related skills

  • /icp-onboarding — invoked in step 2 (scrapes website + interviews)
  • /lead-magnet-brainstorm — invoked in step 3 (picks free offer)
  • /campaign-strategy — invoked in step 4 (15-25 campaign ideas)
  • /zapmail-domain-setup-public — offered in step 6 if no infra
  • /smartlead-inbox-manager — offered in step 6 after domain setup
  • /prospeo-full-export, /disco-like, /google-maps-list-builder, /blitz-list-builder, /competitor-engagers — offered in step 6 if infra ready

References

  • references/example-campaign-plans/b2b-saas.md — sample campaign plan for a B2B SaaS client
  • references/example-campaign-plans/smb-restaurant.md — sample for a local restaurant chain
  • references/example-campaign-plans/agency.md — sample for a marketing agency

Files bundled with it

These load only when the skill asks for them, so they cost nothing until it runs.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what cold-email-kickoff 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.