AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Outreach Agent

skill-kushal238-outreach-agent-skill-outreach-agent-skill · by kushal238

Draft personalized cold-outreach emails to recruiters and employees at the user's target companies. Uses the Apollo MCP to find and enrich contacts and the Gmail MCP to save drafts. Never sends — drafts only.

No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add skill-kushal238-outreach-agent-skill-outreach-agent-skill

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-kushal238-outreach-agent-skill-outreach-agent-skill)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Outreach Agent? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Outreach Agent

Create reviewed Gmail drafts (never send) of personalized outreach to people at the user's target companies, so the user can review and send them by hand.

Prerequisites — verify before doing anything

  • Apollo MCP connected (people-search + people-enrichment tools available).
  • Gmail MCP connected (create_draft, list_drafts available).

If either is missing, STOP and point the user to SETUP.md. Do not try to substitute another data source or guess email addresses.

Contact source — pick ONE

  • CSV (preferred): read the CSV named in contacts_csv in targets.yaml (default

contacts.csv). Use it and skip steps 1-2 below. Map columns: First Name, Last Name, Title, Company, Email, Email Status. Use only rows where Email is non-empty. All email statuses are fair game — do not filter by status.

  • Apollo MCP (needs a paid plan): if no CSV, run steps 1-2 (search + enrich). On a free

plan these return API_INACCESSIBLE — fall back to asking the user for a CSV.

Inputs — read these two files from this skill's folder

  • targets.yaml — who the user is (name, background) + daily_cap. With a CSV, the

titles/companies fields are ignored (the CSV is the target list).

  • template.md — the email template. The actual template is the content under the

## Template heading; the first line of it is the Subject: line.

If your_name or your_background in targets.yaml is blank, STOP and ask the user to fill them in — personalization and the signature depend on them.

Procedure

  1. Find people. For each target company × title, use Apollo people-search to find

matching people for the user's field. Pull at most ceil(daily_cap / number_of_companies) per company so the run stays under the cap. Prefer recruiters and hiring managers.

  1. Enrich. Use Apollo enrichment to reveal each person's verified email.

Drop anyone without a verified email. Never guess or construct an address.

  1. Dedupe. For each remaining candidate:
  • Check completed.csv in this skill's folder. Skip anyone whose email appears there — they've already been contacted.
  • Check Gmail with list_drafts and search_threads (query their email). Skip anyone already drafted or previously emailed.
  • Track who was skipped and why.
  1. Respect the cap. Never create more than daily_cap drafts in one run. If more

qualified candidates remain, list the overflow and stop at the cap.

  1. Personalize (tiny adjustment). Render the template for each contact:
  • Fill {{first_name}}, {{company}}, {{title}}, {{your_name}}, {{your_background}}

from the data.

  • For {{custom_line}}, write one sentence grounded only in real, known facts

(their title, team, company). Never fabricate anything about the person.

  • Keep all other wording exactly as written — the template is the user's voice.
  1. Confirm if large. If more than 5 drafts will be created, show the user the candidate

list (name, company, title, email) and get an explicit confirm before creating any drafts.

  1. Create drafts. Use Gmail create_draft with the contact's email as to, the rendered

subject, and the rendered body. Never call any send tool.

  1. Report. Output a table: Name | Company | Title | Email | Draft created? | Skipped (reason).

Remind the user to review every draft in Gmail before sending.

After sending

When the user confirms they've sent emails from the drafts:

  • Remove those contacts from contacts.csv.
  • Append them to completed.csv (same folder), adding today's date in the Date Sent column.
  • completed.csv columns: First Name, Last Name, Title, Company, Email, Email Status, List, Date Sent.
  • Never delete contacts — only move them. This prevents re-drafting to already-contacted people.

Hard rules

  • Drafts only. Never send.
  • Never invent, guess, or pattern-match an email address — only use Apollo-verified emails.
  • Never fabricate facts about a person in {{custom_line}}.
  • Stay at or under daily_cap.
  • Confirm with the user before creating more than 5 drafts in a run.

Source & license

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

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

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.