← ClaudeAtlas

sdr-dailylisted

Run one day of the SDR loop on a RouterGrowth cold email campaign: read the campaign inbox and triage replies (email.messages), keep the suppression list current, send the follow-ups that are due and drip the next first-touch emails from an approved queue (email.send) inside a daily cap, then write the morning briefing. Nothing new goes out without approval; the drip and the follow-ups come from copy approved at the cold-email-pipeline gates. Use when the user says "run the SDR", "daily briefing", "who replied", "send today's batch", "check the campaign", or wants to advance an outreach campaign by one day.
RouterGrowth/skills · ★ 2 · AI & Automation · score 75
Install: claude install-skill RouterGrowth/skills
# SDR daily One day of a Sales Development loop. You do the mechanical work (read, classify, send what was already approved), surface the few human decisions, and hand back a short briefing. You run from the campaign folder the `cold-email-pipeline` skill produced: `out/campaign.csv`, `out/sent-log.json` (one object per send: `run_id`, `message_id`, `to`, `subject`, `stage`, `sent_at`), `out/replied.json` (one object per suppressed address: `email`, `reason`, `date`, `note`). The briefing goes to `out/briefing-<date>.md`. ## Before you start - Load the core `routergrowth` skill (https://www.routergrowth.com/SKILL.md) if it is not loaded. Confirm access with the free `balance` tool or `routergrowth balance`. - Establish, once per campaign and reuse after: `CAMPAIGN_CSV` (the approved rows with a `stage` column: J+0, J+4, J+10), `INBOX_ID` (the `From` address in `directives/email-copy.md`, confirmed against the free `email.inboxes`), `DAILY_CAP` (default 30, all stages together), `LAST_RUN` (the newest `sent_at` in the sent log; on the first run there is none, so read the inbox without `after`). - Check that Gate 2 of the pipeline happened: the sent log carries the test send to the user's own address. If it does not, the drip does not start; send the test, ask the user to confirm it landed, and stop there for today. - If `out/replied.json` does not exist, create it as `[]`. ## The one rule **Nothing new goes out without approval.** The drip and the follow-ups are not new: