# Send Outreach

> 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 outrea…

- **Type:** Skill
- **Install:** `agentstack add skill-mahashwetha-job-search-email-system-claude-send-outreach`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Mahashwetha](https://agentstack.voostack.com/s/mahashwetha)
- **Installs:** 0
- **Category:** [Web & Browser](https://agentstack.voostack.com/c/web-and-browser)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Mahashwetha](https://github.com/Mahashwetha)
- **Source:** https://github.com/Mahashwetha/Job-search-email-system-claude/tree/main/.claude/skills/send-outreach

## Install

```sh
agentstack add skill-mahashwetha-job-search-email-system-claude-send-outreach
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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
- **If the job listing URL returns 404 or any error (expired/taken down), do not send the outreach email** — the role no longer exists. Either switch to the spontaneous template or skip entirely and notify the user.

---

## 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`.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Mahashwetha](https://github.com/Mahashwetha)
- **Source:** [Mahashwetha/Job-search-email-system-claude](https://github.com/Mahashwetha/Job-search-email-system-claude)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mahashwetha-job-search-email-system-claude-send-outreach
- Seller: https://agentstack.voostack.com/s/mahashwetha
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
