outreach-sender
Skill9 starsChanged 6 months agoMITView on GitHub
Send outreach emails and manage follow-up sequences. Bridges cold-email drafting → humanizer polish → CEO Telegram approval → Gmail send. Tracks sends in pipeline.json. For writing email copy, see cold-email. For lifecycle/nurture emails, see email-sequence.
In this repository78 other files it gives its agents.
- anti-pattern-auditSkill
- brand-storytellingSkill
- business-investigationSkill
- ceo-weekly-reviewSkill
- cold-emailSkill
- community-buildingSkill
- company-intelSkill
- competitive-analysisSkill
- competitor-researchSkill
- composio-cliSkill
- conducting-user-interviewsSkill
- content-strategySkill
- copywritingSkill
- daily-recapSkill
- decision-playbookSkill
- designing-growth-loopsSkill
- discovery-debriefSkill
- email-sequenceSkill
- enterprise-salesSkill
- evening-recapSkill
- exa-code-searchSkill
- exa-company-researchSkill
- exa-lead-genSkill
- exa-people-researchSkill
- exa-personal-siteSkill
- exa-x-searchSkill
- feedback-trackerSkill
- find-email-by-nameSkill
- focus-keeperSkill
- founder-salesSkill
- fpf-problem-solvingSkill
- github-stars-monitorSkill
- google-calendarSkill
- grafana-monitoringSkill
- humanizerSkill
- hypothesis-trackerSkill
- idea-generatorSkill
- install-openclaw-to-digitaloceanSkill
- install-openclaw-to-hetznerSkill
- install-openclaw-to-ycSkill
- launch-marketingSkill
- lead-enrichmentSkill
- measuring-product-market-fitSkill
- meeting-prepSkill
- metrics-briefingSkill
- morning-briefSkill
- openclaw-guideSkill
- openclaw-user-onboardingSkill
- orthogonalSkill
- person-lookupSkill
- ph-launch-timelineSkill
- pipeline-managerSkill
- positioning-messagingSkill
- positioning-workshopSkill
- posthog-analyticsSkill
- prepare-yc-workshopSkill
- pricing-strategySkill
- problem-definitionSkill
- product-hunt-launchSkill
- product-led-salesSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 8 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Before sending, read MEMORY.md for: current wedge, value proposition.
- Very specific: line 10
Read memory/pipeline.json for prospect context and outreach history.
- Very specific: line 32
Use cold-email skill with prospect context:
- Very specific: line 44
Run through humanizer skill to remove AI patterns.
- Very specific: line 80
Update prospect in pipeline.json:
- Very specific: line 112
If reply at any point → exit sequence, notify CEO, update stage to meeting_booked or nurture
- Distinctive: line 113
If bounce → mark email invalid, try alternate contact via find-email-by-name
- Distinctive: line 114
If CEO says "skip" → move to nurture
- Distinctive: line 115
After breakup email → move to nurture, re-score in 30 days
- Distinctive: line 119
When triggered by daily cron:
- Distinctive: line 130
When CEO says "send all approved drafts" or when multiple outreach items are ready:
- Very specific: line 134
Update pipeline.json for each
- Distinctive: line 139
When CEO reports a reply:
- Distinctive: line 140
Update prospect stage (meeting_booked, nurture, or closed_lost)
- Distinctive: line 142
If meeting intent: trigger meeting-prep skill
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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
[YOUR_PRODUCT] Context
Before sending, read MEMORY.md for: current wedge, value proposition.
Read memory/pipeline.json for prospect context and outreach history.
Output in Russian (email content in English unless specified).
For chat platforms: show draft for approval, compact format.
Outreach Sender
Orchestrates the full outreach flow: draft → polish → approve → send → track → follow-up.
Outreach Flow (HITL — Human In The Loop)
1. Draft → cold-email skill writes email based on signal + prospect context
2. Polish → humanizer skill removes AI patterns
3. Present → Show draft to CEO in Telegram for approval
4. Approve/Edit → CEO approves, edits, or rejects
5. Send → Gmail via Orth OAuth
6. Track → Record in pipeline.json
7. Schedule → Set next follow-up dateStep 1: Draft Email
Use cold-email skill with prospect context:
- Signal that triggered outreach (from pipeline.json)
- Company context (from company-intel enrichment)
- Contact info (from lead-enrichment)
- Choose framework based on signal type:
- Funding → "Trigger > Insight > Ask"
- Hiring → "Observation > Problem > Proof > Ask"
- Pain language → "Question > Value > Ask"
- Competitor mention → "Story > Bridge > Ask"
Step 2: Polish
Run through humanizer skill to remove AI patterns. Critical for cold email credibility.
Step 3: Present for Approval
Format for Telegram:
Outreach Draft #[N]:
To: [Name] ([Title] @ [Company])
Signal: [type] — [detail]
Score: [FIT+INTENT+TIMING total]
Subject: [subject line]
[email body]
Reply:
approve — send as-is
edit: [your changes] — I'll update and re-present
skip — skip this prospect
later — defer to tomorrowStep 4: Send via Gmail
After CEO approval:
orth run gmail /send-email --body '{
"recipient_email": "contact@company.com",
"subject": "subject line",
"body": "email body (plain text)"
}'Step 5: Track in Pipeline
Update prospect in pipeline.json:
{
"outreach": [{
"type": "email",
"date": "2026-03-28T10:00:00Z",
"subject": "subject line",
"status": "sent",
"template": "trigger-insight-ask",
"signal_type": "funding"
}],
"stage": "outreach_sent",
"next_action": {
"type": "follow_up_1",
"date": "2026-03-31T10:00:00Z",
"detail": "Follow-up #1 — new angle (case study)"
}
}Step 6: Follow-Up Cadence
| Day | Follow-Up | Angle | Action |
| 0 | Initial email | Signal + pain + value | CEO approves |
| 3 | Follow-up #1 | Case study or data point | Draft → approve → send |
| 5 | Follow-up #2 | Useful resource or insight | Draft → approve → send |
| 7 | Follow-up #3 | Social proof (similar company) | Draft → approve → send |
| 10 | Breakup email | Respect + door open | Draft → approve → send |
Rules:
- Each follow-up adds NEW value — never "just checking in"
- If reply at any point → exit sequence, notify CEO, update stage to
meeting_bookedornurture - If bounce → mark email invalid, try alternate contact via find-email-by-name
- If CEO says "skip" → move to nurture
- After breakup email → move to nurture, re-score in 30 days
Daily Follow-Up Check (Cron Mode)
When triggered by daily cron:
- Read pipeline.json
- Find all prospects where
next_action.date≤ today - For each due follow-up: a. Draft next email in sequence (using previous outreach context) b. Present to CEO for approval
- Report: "[N] follow-ups due today: [Company1], [Company2], ..."
Batch Mode
When CEO says "send all approved drafts" or when multiple outreach items are ready:
- List all approved-but-unsent drafts
- Send each via Gmail with 30-second delay between sends
- Update pipeline.json for each
- Report: "Sent [N] emails. Next follow-ups scheduled."
Reply Handling
When CEO reports a reply:
- Update prospect stage (meeting_booked, nurture, or closed_lost)
- Cancel remaining follow-ups in sequence
- If meeting intent: trigger meeting-prep skill
- Log via structured-log
Related Skills
- cold-email — writes the email drafts
- humanizer — polishes drafts to remove AI patterns
- email-sequence — for lifecycle/nurture sequences (not cold outreach)
- pipeline-manager — stores all outreach tracking data
- founder-sales — overall sales strategy
- find-email-by-name — fallback for bounced emails
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.

