auto-research-public
Autonomous cold email campaign launcher. Takes one target company domain, scrapes their…
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
$ npx -y skills add growthenginenowoslawski/coldoutboundskills --skill zapmail-domain-setup-public --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/zapmail-domain-setup-publicContext preview
The summary Claude sees to decide when to auto-load this skill.
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
description: "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."
Complete workflow to generate short domain names, purchase them on Dynadot, and set them up on Zapmail with inboxes ready for cold email sending.
---
Before running anything, you need two API keys stored as environment variables.
1. Log into [dynadot.com](https://www.dynadot.com) 2. Go to **Tools > API** in the left sidebar 3. Enable API access and copy your API key 4. Whitelist your IP address (required by Dynadot)
1. Log into [zapmail.ai](https://zapmail.ai) 2. Go to **Settings > API** 3. Copy your API key
Add these to a `.env` file in your project root (or export them in your shell):
# .env — NEVER commit this file DYNADOT_API_KEY=your_dynadot_key_here ZAPMAIL_API_KEY=your_zapmail_key_here
Load them in your script:
import os from dotenv import load_dotenv load_dotenv() DYNADOT_API_KEY = os.environ["DYNADOT_API_KEY"] ZAPMAIL_API_KEY = os.environ["ZAPMAIL_API_KEY"]
Test both APIs before doing anything:
**Dynadot — check wallet balance:**
GET https://api.dynadot.com/api3.json?key=<YOUR_KEY>&command=account_info
Response includes `AccountBalance` (e.g., `"$106.20"`).
**Zapmail — list domains:**
GET https://api.zapmail.ai/api/v2/domains/assignable?limit=10&page=1 Header: x-auth-zapmail: <YOUR_KEY>
If both return 200, you're ready.
---
Step 1: Generate domain name candidates ~instant Step 2: Check availability on Dynadot ~1 min per 500 domains Step 3: Purchase available domains ~1 min per 100 domains | (domains now registered on Dynadot) Step 4: Switch nameservers to Zapmail ~1 min per 500 domains | WAIT 15-20 minutes for DNS propagation Step 5: Connect domains on Zapmail ~2 min per 500 domains | WAIT 10-30 minutes for domains to become assignable Step 6: Create inboxes on Zapmail ~3 min per 500 domains | WAIT 4-6 HOURS for inbox provisioning Step 7: Export to your email sending platform ~instant
---
The goal is **short, clean domains** that look like real brands. Shorter = better deliverability and more professional appearance.
Use a **brand keyword** (your company name or a variation) combined with short prefixes/suffixes:
**Tier 1 — Prefix + Brand** (shortest, try these first):
go{brand}.com try{brand}.com get{brand}.com
my{brand}.com the{brand}.com hey{brand}.com
use{brand}.com run{brand}.com one{brand}.com**Tier 2 — Brand + Suffix** (still short):
{brand}hq.com {brand}hub.com {brand}now.com
{brand}app.com {brand}pro.com {brand}lab.com
{brand}ai.com {brand}co.com {brand}go.com**Tier 3 — Prefix + Brand + Suffix** (use only if tiers 1-2 don't yield enough):
go{brand}hq.com try{brand}hub.com get{brand}pro.comgo, get, try, join, find, search, explore, reach, access, boost, team, send, email, connect, launch, start, build, discover, meet, use, hello, hey, my, the, top, best, run, open, live, grow, with, via, one, all, new, pro
hub, hq, online, today, direct, teams, projects, outreach, works, signal, scope, flow, edge, radar, desk, global, core, base, systems, engine, link, next, source, circle, stack, zone, path, spot, wave, grid, point, shift, field, net, way, pulse, vault, peak, sync, lab
Tier 1: goacme.com, tryacme.com, getacme.com, myacme.com ... Tier 2: acmehq.com, acmehub.com, acmepro.com, acmeflow.com ... Tier 3: goacmehq.com, tryacmehub.com (only if needed)
For 1 brand keyword, tiers 1+2 produce ~76 candidates. Most brands need 10-30 domains.
---
GET https://api.dynadot.com/api3.json ?key=<DYNADOT_API_KEY> &command=search &show_price=1 ¤cy=USD &domain0=goacme.com &domain1=tryacme.com &domain2=getacme.com ...up to &domain99=...
**Response:**
{
"SearchResponse": {
"SearchResults": [
{"DomainName": "goacme.com", "Available": "yes", "Price": "2.99"},
{"DomainName": "tryacme.com", "Available": "no"},
...
]
}
}**Important:**
---
GET https://api.dynadot.com/api3.json ?key=<DYNADOT_API_KEY> &command=account_info
Calculate: `num
Open-source Claude Code skills for cold email infrastructure, lead sourcing, copywriting, and operations. Built by GrowthEngineX from patterns across 1,000+ real B2B campaigns. 31 skills that work together.
Repo: growthenginenowoslawski/coldoutboundskills
Autonomous cold email campaign launcher. Takes one target company domain, scrapes their…
Use the Blitz API to find decision-makers at specific companies when you already have a list…
Creates cold email copy through a stepwise confirmation process. Use when writing email…
Generates 15-25+ cold outbound campaign ideas with targeting strategies, AI personalization…
Single "start here" orchestrator for new cold email operators. Asks infrastructure-status…
Complete beginner-friendly cold email toolkit. Walks from zero to launched campaign — domain…