| name | cold-email-kickoff |
| description | 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. |
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:
- "Do you already have sending domains + inboxes set up on Smartlead?" (yes / no / not sure)
- "At least 20 inboxes that have been warming for 2+ weeks?" (yes / no)
- "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