This skill should be used when the user wants to send a cold outreach or follow-up email to an HR contact at a company. Triggers on phrases like "send outreach to [name] at [company]", "email HR at [company]", "send cold email to [name]", "outreach [company]", "send mail to [name] [email]", "reach out to [company] HR", "email [name] from [company]", "send outreach email", "send this week's outreach emails", "send weekly outreach", "send the drafted emails".
Scanned 5/28/2026
Install via CLI
openskills install Mahashwetha/Job-search-email-system-claude---
name: send-outreach
description: This skill should be used when the user wants to send a cold outreach or follow-up email to an HR contact at a company. Triggers on phrases like "send outreach to [name] at [company]", "email HR at [company]", "send cold email to [name]", "outreach [company]", "send mail to [name] [email]", "reach out to [company] HR", "email [name] from [company]", "send outreach email", "send this week's outreach emails", "send weekly outreach", "send the drafted emails".
---
# Send HR Outreach Email
Send a personalised cold outreach email with resume + portfolio attached using `send_outreach_emails.py`.
## Script location
```
C:\Users\mahas\Learnings\claude-job-agent\send_outreach_emails.py
```
## What you need from the user
| Argument | Required | Notes |
|---|---|---|
| `--name` | Yes | HR contact full name (e.g. "Andrea Smith") |
| `--email` | Yes | HR contact email address |
| `--company` | Yes | Company name exactly as in tracker (used for role lookup) |
| `--cc` | No | CC email address (e.g. second recruiter) |
If the user hasn't provided all required info, ask for it before running.
## Steps
### 1 — Preview first (dry run to user's inbox)
Always send a test to `mahashwetha91@gmail.com` first so the user can approve the email:
```bash
cd "C:\Users\mahas\Learnings\claude-job-agent"
echo yes | python send_outreach_emails.py --name "[NAME]" --email "mahashwetha91@gmail.com" --company "[COMPANY]"
```
Show the preview output to the user and ask: **"Looks good? Send to the real recipient?"**
### 2 — Send to real recipient (only after user confirms)
```bash
cd "C:\Users\mahas\Learnings\claude-job-agent"
echo yes | python send_outreach_emails.py --name "[NAME]" --email "[EMAIL]" --company "[COMPANY]"
```
Add `--cc "[CC_EMAIL]"` if a CC was provided.
## What the script does automatically
- Looks up the role from `List.xlsx` (matches company name, status = `done`)
- If found in tracker → fills `{role}` placeholder with the actual role title
- If not in tracker → sets role to `[Company] opportunities`
- Always uses `cold_outreach_template.txt` (Jinka-style with bullet points)
- Attaches both PDFs from `resume/` folder
- Shows full preview before sending
## Rules
- **Never skip the test send step** — always preview to user's inbox first
- **Never send to real recipient without explicit user approval** after the test
- If the script errors on missing attachment, check that `resume/` folder has both PDFs
- If template not found, check that `emailoutreach/cold_outreach_template.txt` exists
- Do not hardcode HR contact details anywhere in code or skill files
---
## Weekly draft mode — "send this week's outreach emails"
When triggered by "send this week's outreach emails", "send weekly outreach", or "send the drafted emails":
### Step 1 — Read saved drafts
Check `C:\Users\mahas\Learnings\claude-job-agent\outreach_drafts\` for `*_draft.txt` files saved by the weekly-hr-search routine.
Parse each file:
```
TO: {email}
SUBJECT: {subject}
---
{body}
```
### Step 2 — Send one by one with confirmation
For each draft file, show the user:
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMPANY: {company}
TO: {email}
SUBJECT: {subject}
---
{body}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Send this one? (yes / no / stop)
```
Wait for explicit user confirmation before sending each one.
- **yes** → send via `send_outreach_emails.py`, then move to next draft
- **no** → skip this draft, move to next
- **stop** → stop processing remaining drafts
### Step 3 — Clean up sent drafts
After user confirms a draft was sent successfully, delete that `_draft.txt` file so it doesn't appear again next week.
### Fallback — no drafts folder or empty
If `outreach_drafts/` doesn't exist or has no draft files, fall back to the standard single-email flow and ask the user for `--name`, `--email`, `--company`.
No comments yet. Be the first to comment!