cold-email-weekly-rhythm
Skill759 starsChanged 28 days agoMITView on GitHub
Operational playbook for running cold email continuously. Prescribes what to do on Monday / Wednesday / Friday / biweekly / monthly / quarterly. Use this as your ongoing cadence once your first campaign is live. What separates hobbyist from top 1% operators isn't tooling — it's consistency. This skill is the schedule.
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 6 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
This is a pure playbook: No scripts, no automatic reminders.
- Very specific: line 50
If any campaign failed the 1% rule: run /deliverability-incident-response → triage decision tree
- Very specific: line 51
If bounce rate is above 2%: triage via /deliverability-incident-response.
- Distinctive: line 52
If everything clean: log the check in a weekly journal, close the tab
- Distinctive: line 76
Time management: if you have >50 positive replies per week, you're at the scale where you should hand off to a dedicated closer/AE.
- Distinctive: line 89
Winner (positive reply rate ≥2×baseline): keep running, consider scaling (clone to more inboxes)
- Very specific: line 98
Critical: do not skip the log. Over a quarter, these logs become the input for /experiment-design quarterly reviews.
- Very specific: line 135
If the plan reports a capacity shortfall: start a domain purchase cycle via /zapmail-domain-setup-public now.
- Very specific: line 166
Read all experiments/*.json from the last quarter.
- Very specific: line 180
Use the retrospective as input to design next quarter's experiments via /experiment-design.
- Distinctive: line 188
Check Smartlead every day (Wednesday sweep catches everything important)
- Distinctive: line 190
Read every positive reply in real time — set up notifications if you want immediacy, but the Wednesday sweep is the system
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cold Email Weekly Rhythm
Having 29 cold email skills doesn't help if you don't run them on a schedule. This is that schedule.
This is a pure playbook. No scripts, no automatic reminders. You put the rhythm on your own calendar (Step 1 below) and run the prescribed skill at the prescribed time. That's the entire system.
Step 1 (required before using this skill): Put the rhythm on your calendar
Open Google Calendar / Outlook / Apple Reminders / whatever you actually look at every day. Create these as recurring events. Copy the titles and cadences exactly.
| Event title | Cadence |
| Cold email: Monday deliverability audit | Every Monday, 9:00 am |
| Cold email: Wednesday positive-reply sweep | Every Wednesday, 10:00 am |
| Cold email: Friday campaign retrospectives | Every Friday, 3:00 pm |
| Cold email: Inbox lifecycle (cancel / promote / buy) | Every other Monday, 11:00 am |
| Cold email: Monthly spam placement test | 1st of each month, 10:00 am |
| Cold email: Quarterly experiment review | First Monday of each quarter, 1:00 pm |
Do not skip Step 1. The difference between hobbyist and top-1% cold email operators is that the top-1% operators actually run these tasks on their declared cadence, week after week. Your calendar is the accountability system. This skill doesn't have a built-in reminder — intentionally — because if it did and it broke, your ops would silently fail.
Monday — Deliverability audit (15 min)
Run:
/email-deliverability-audit --days=7(If using the scoped version: audit-performance.ts --campaign-ids=<active campaign ids> --days=7)
Review:
- Fleet reply rate over last 7 days — must be ≥1% (the 1% rule). The same number retires a domain,
but only once it clears the floors: 200+ sends and 30+ days of age. See
/inbox-lifecycle-manager. - Flagged campaigns (
flag_low_reply = TRUE) - Flagged inboxes (
flag_high_bounce = TRUE)
Action:
- If any campaign failed the 1% rule: run
/deliverability-incident-response→ triage decision tree - If bounce rate is above 2%: triage via
/deliverability-incident-response. Above 3% (the autopause line): pause the offending campaign immediately, then triage - If everything clean: log the check in a weekly journal, close the tab
Wednesday — Positive-reply sweep (30-60 min depending on volume)
Run:
/positive-reply-scoring # on all campaigns active in the last 7 daysReview:
- Any
positive_interestedorpositive_softreplies — these are leads wanting to engage - Any
positive_referralreplies — these are people saying "talk to Jane instead" - Any
negative_hostilereplies — red flag, investigate
Action:
- Respond to every
positive_interestedreply within 30 seconds of seeing it. Do not batch these — a reply feeling like it took minutes to return converts 3× better than one that took hours. - For referrals: reach out to the referred person within 24h, mention the referrer by name.
- For hostile: apologize, remove from all lists, investigate why they were flagged for hostility (often signals bad targeting).
Time management: if you have >50 positive replies per week, you're at the scale where you should hand off to a dedicated closer/AE. Do that handoff Wednesday morning so they can work replies by Wednesday afternoon.
Friday — Campaign retrospectives (20 min per campaign)
Identify campaigns hitting their 21-day mark this week. (21 days is the minimum for reply-rate signal to stabilize.)
For each one:
- Run
/positive-reply-scoring --campaign-id=<id> - Compare to previous campaigns' positive reply rate baselines
- Decide:
- Winner (positive reply rate ≥2×baseline): keep running, consider scaling (clone to more inboxes)
- Middling (near baseline): iterate on copy or list — run
/experiment-designMonday to plan the next variant - Loser (<50% of baseline): kill it. Document why in the experiment log.
- Log the result in
profiles/<slug>/experiments/<YYYY-MM-DD>-<campaign>.json:positive_reply_rate,reply_rate,bounce_rate- Your decision (keep / iterate / kill) + reasoning
- Hypothesis for next iteration (if iterating)
Critical: do not skip the log. Over a quarter, these logs become the input for /experiment-design quarterly reviews. Without the history, you can't learn across campaigns.
Every other Monday — Inbox lifecycle (30 min)
The rotation decision — what to cancel, what to promote, what to buy — comes from
/inbox-lifecycle-manager. Do not eyeball the health CSV and retire whatever looks bad; that is
how healthy domains get killed on an unlucky week.
Run (read-only, writes nothing):
# Within /inbox-lifecycle-manager:
npx tsx scripts/plan-lifecycle.ts --goal=<your daily send goal> --out=./lifecycle-$(date +%F) --snapshotReview plan.csv and actions.csv:
BURNED— under 1% reply on 200+ sends, 30+ days old. These are the real cancels.KEEP_BELOW_THRESHOLD— burned but nothing warm to replace it. Buy first, cancel next week.BOUNCE_FORK— bounce over 3%. Classify the codes in/deliverability-incident-responsebefore condemning anything; it is usually the list, not the domain.TOO_YOUNG/INSUFFICIENT_DATA— not judged. Leave them alone.HELD— warmup is off, so reputation is unreadable. Report it; don't quietly switch warmup back on.
Action — after you have actually looked at the plan and said yes:
# Within /inbox-lifecycle-manager (dry run first, always):
npx tsx scripts/apply-lifecycle.ts --actions=./lifecycle-$(date +%F)/actions.csv
npx tsx scripts/apply-lifecycle.ts --actions=./lifecycle-$(date +%F)/actions.csv --applyTags only. Provider subscription cancellations are a separate, explicitly approved step in small
verified batches — see that skill's references/cancellation-safety.md.
If the plan reports a capacity shortfall: start a domain purchase cycle via
/zapmail-domain-setup-public now. It takes ~2 weeks from purchase to sendable and 30 days before
the new domains can even be judged, so you are always buying a month ahead of the need.
Monthly (1st of the month) — Spam placement test (25 min active, test runs ~20 min)
Run: the Smart Delivery spam placement test from /email-deliverability-audit:
npx tsx scripts/run-spam-test.ts --campaign-id=<highest volume active campaign> --senders=100(Will use G Suite + Office365 provider pools. 100 senders is a sweet spot — large enough for statistical signal, small enough to avoid API stalls.)
Review:
- Overall inbox placement % — target: ≥85%
- Spam filter triggers — which filters fired, which senders affected
Action:
- ≥90% inbox placement: great. Keep doing what you're doing.
- 80-90%: yellow. Look at spam-filter-details. Start fixing the highest-frequency trigger next week.
- <80%: red. Pause the campaign, run
/deliverability-incident-response, fix before sending more.
Quarterly (first Monday of each quarter) — Experiment review (90 min)
Read all experiments/*.json from the last quarter. Identify patterns:
- Which campaigns had the highest positive reply rate?
- Which list sources produced the best leads?
- Which copy angles resonated (Observation → Implication? Pain? Social proof?)
- Which ICP archetypes converted best?
Output: a 1-page Q<N> retrospective saved to profiles/<slug>/retrospectives/<YYYY>-Q<N>.md with:
- Top 3 campaigns + what made them work
- Bottom 3 campaigns + what to avoid
- 3-5 hypotheses for next quarter's experiments
- Adjust ICP in
client-profile.yamlif the data suggests a different segment performs better
Use the retrospective as input to design next quarter's experiments via /experiment-design.
What to skip
You do NOT need to:
- Check Smartlead every day (Wednesday sweep catches everything important)
- Obsess over daily reply-rate fluctuations (wait for 7-day averages)
- Read every positive reply in real time — set up notifications if you want immediacy, but the Wednesday sweep is the system
Daily pokes at your cold email stack are a procrastination pattern, not a performance pattern.
What to do next
This skill IS the loop. Your next action is the next calendar event on your list.
Or if you haven't run a campaign yet: skip this skill entirely. Come back after your first campaign hits the 7-day mark.
Related skills
/email-deliverability-audit— the Monday and Monthly tasks/positive-reply-scoring— the Wednesday and Friday tasks/inbox-lifecycle-manager— the biweekly cancel / promote / buy decision/smartlead-inbox-manager— executes the approved tag changes/deliverability-incident-response— when the Monday audit flags something/experiment-design— the quarterly retrospective feeds into this/zapmail-domain-setup-public— when insurance pool runs low
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- automatewithuday/GTM-Skills★ 175% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository51 other files it gives its agents.
- auto-research-publicSkill
- blitz-list-builderSkill
- campaign-copywritingSkill
- campaign-strategySkill
- cold-email-kickoffSkill
- cold-email-starter-kitSkill
- competitor-engagersSkill
- deliverability-incident-responseSkill
- deliverability-test-publicSkill
- disco-likeSkill
- email-deliverability-auditSkill
- experiment-designSkill
- google-maps-list-builderSkill
- icp-onboardingSkill
- icp-prompt-builderSkill
- inbox-lifecycle-managerSkill
- lead-magnet-brainstormSkill
- list-builderSkill
- list-expanderSkill
- list-quality-scorecardSkill
- perfect-company-listSkill
- personalization-subagent-patternSkill
- clay-playbooksSkill
- playbook-ad-librarySkill
- playbook-ai-specificitySkill
- playbook-case-study-pageSkill
- playbook-company-name-cleaningSkill
- playbook-creative-ideasSkill
- playbook-first-name-cleaningSkill
- playbook-fundraisingSkill
- playbook-google-site-searchSkill
- playbook-hiring-surgeSkill
- playbook-job-posting-languageSkill
- playbook-linkedin-engagementSkill
- playbook-lookalikesSkill
- playbook-name-to-other-prospectsSkill
- playbook-new-in-roleSkill
- playbook-pricing-pageSkill
- playbook-social-link-findingSkill
- playbook-social-postsSkill
- playbook-tech-on-websiteSkill
- playbook-warm-introsSkill
- positive-reply-scoringSkill
- prospeo-full-exportSkill
- prospeo-search-apiSkill
- smartlead-apiSkill
- smartlead-campaign-upload-publicSkill
- smartlead-inbox-managerSkill
- smartlead-spintaxSkill
- spam-word-checkerSkill
- zapmail-domain-setup-publicSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

