CAMBY Ai
Skyler · Setup Guide

00 / Cold outbound engine

The software is free.
The setup is the work.

Skyler finds local businesses, reads their websites, writes cold email that references something real, and works the replies toward a booked conversation. It runs on your machine on a loop. There is no model API bill: it uses the Claude or ChatGPT plan you already pay for.

What follows is every step, including the ones people underestimate. Read the timeline before you start. Most of it is waiting, not configuring.

Skyler, the CAMBY Ai cold outbound agent
Skyler · Always Be Closing

01 / Before you start

The honest timeline.
Mostly waiting.

Setup is a few hours of actual work spread across two to four weeks. The long pole is domain warmup, and there is no way to shorten it. Cold email from a cold domain bounces, and the bounces burn the domain you just bought. Start the clock on day one, then do everything else while it warms.

What actually takes how long
WhenWhatYour time
Day 1 Buy the sending domain and start warming it 30 minutes, then it runs in the background
Day 1 Install Skyler and run it against the free data source 30 minutes
Day 1 to 3 Write down your offer and who it is for 1 to 2 hours. This is the part that decides everything.
Day 2 to 14 Read drafts in the outbox and reject the bad ones 10 minutes a day, no sending yet
Week 2 to 4 Domain warmup finishes Waiting. Nothing you can do to speed this up.
Launch day Connect the mailbox and start the loop 20 minutes
Week 1 live Approve every email by hand at 20 a day 15 minutes a day

02 / The build

Seven steps.
In this order.

01

Buy the sending domain today

Never send cold email from the domain your real business runs on. One spam complaint against your main domain and your normal mail starts landing in spam too. Buy a separate one, close to your brand, and treat it as disposable.

  • Buy a lookalike domain. If you are yourbusiness.com, buy yourbusinessteam.com or getyourbusiness.com.
  • Put a mailbox on it. Google Workspace is about $7 a month and is the smoothest path.
  • Set SPF, DKIM and DMARC. Your registrar and Workspace both document this. Skipping it guarantees the spam folder.
  • Warm it. Send 5 to 10 real emails a day from it to people who will reply, for two to four weeks. Or use a warmup tool.
Why this is first

Everything else takes an afternoon. This takes two to four weeks of calendar time. Start it before you install anything, so the waiting happens while you do the rest.

02

Install Skyler

You need Python 3.11 or newer. macOS ships 3.9, which cannot run it, so install a current Python first if that is what python3 --version reports. You also need an active Claude Pro or Max subscription with the CLI logged in, or a ChatGPT plan with the Codex CLI.

Terminal
git clone https://github.com/camby-ai/skyler.git
cd skyler
python3.13 -m venv .venv && source .venv/bin/activate
pip install -e .
skyler --help

If skyler comes back as command not found, the virtual environment is not active. Run source .venv/bin/activate from inside the folder again.

03

Teach it your offer properly

This is the step that decides whether the email is any good, and it is the one everybody rushes. Skyler reads a URL and writes itself a product-knowledge file from it. Thin input produces thin email. Point it at your best page, not your homepage.

Terminal
skyler train https://your-offer-page.com
  • No website yet? Point it at a one-page document describing what you sell and who buys it.
  • Then edit the file by hand. It lands in skills/product_knowledge.md. Your own words beat anything generated from a landing page.
  • Be specific about who it is not for. A narrow definition produces better prospects than a broad one.
04

Turn on signals and find businesses

Signals are the observable facts Skyler looks for: no online booking, unanswered reviews, a stale copyright, calls going to voicemail. Twenty-one of them are free. Two cost money and stay off unless you turn them on.

Terminal
skyler signals --confirm free
skyler discover --estimate   # shows projected spend, spends nothing
skyler discover              # free OpenStreetMap source
skyler profile               # reads every site found, no model calls

The free source covers dentists, roofers, plumbers, HVAC, electricians, lawyers, contractors and landscapers. Medspas, gyms and salons need a paid key, so it returns nothing there rather than junk.

05

Read the drafts before you can send anything

Open the dashboard and work the outbox while the domain is still warming. Nothing can send yet, which is exactly why this is the right time to tune the copy.

Terminal
skyler dashboard   # http://localhost:5555
  • Reject anything generic. If the first email could have been sent to any business in the list, it is not ready.
  • Reject anything that says AI, automation or agent. First emails talk about missed calls and empty appointment slots, not software.
  • Tune by editing the skills files, not by rejecting forever. Rejections do not teach it. Edits to skills/email_frameworks.md do.
06

Connect the mailbox

Do this only once the domain has warmed. You need a Google Cloud project with the Gmail API enabled and a Desktop-app OAuth client. Budget twenty minutes, or an hour if you have never done it.

  • Create a project at console.cloud.google.com, signed in as the new mailbox.
  • Enable the Gmail API, then create an OAuth client ID of type Desktop app.
  • Paste the client ID and secret into the dashboard's Settings tab.
  • Add an email verifier key. Without one every address stays a guess and Skyler refuses to send it. Reoon's free tier covers 600 checks a month.
Terminal
skyler gmail auth   # sign in as the NEW mailbox, not your personal gmail
07

Go live and ramp slowly

Start the loop. It wakes every fifteen minutes, decides what the pipeline needs, and does that one thing. Approve every email by hand for the first week.

Terminal
skyler run              # the 15 minute heartbeat
skyler status           # counts, reply rate by signal
skyler usage            # how much of your plan it used
skyler sending pause    # kill switch, stops everything instantly
  • Week one: 20 sends a day, every one approved by you.
  • After that: add 10 a week if bounces stay under 2 percent. Cap at 50 on a single mailbox.
  • Reply rate by signal is the only number that matters. It tells you which vertical and which angle to double down on.

03 / Guardrails

What it will not do without you

These are enforced in the configuration, not left to good intentions. They ship on by default.

Nothing sends unapproved
Every email waits in the outbox for a human yes.
require_approval: true
It stops itself on bounces
Cross the threshold and sending pauses until you fix the list.
max_bounce_rate: 0.03
It will not eat your plan
Hard ceiling on the share of your subscription it may use per day.
max_daily_claude_percent: 50
Volume stays low on purpose
Twenty a day out of the gate, regardless of how big the list is.
max_daily_sends: 20
Quiet hours
No mail overnight in the recipient's timezone.
20:00 to 08:00
CAN-SPAM by construction
A physical mailing address and an opt-out line are appended in code, once, to every email.
persona.signature

04 / If you would rather not

Where people actually get stuck

Almost nobody stalls on the install. They stall on the three things this guide cannot do for you: getting the domain authentication right so the mail lands, writing down an offer specific enough to be worth reading, and holding the line on rejecting generic drafts for two weeks before a single email goes out.

That is the work I do. The tool is free and stays free. If you want it standing up and sending inside two weeks, with the offer and the targeting sorted properly, that is the part worth paying for.

Tell me what you sell and who buys it. I will tell you whether this is the right machine for it before anyone talks about money.

Email
mike@mikecamby.com
Text
747.441.6578
Book a time
cal.com/mikecamby