job-outreach

job-outreach is a skill for Claude Code from AkbarDevop/ai-job-agent. It costs 157 tokens per session (2,121 once invoked), scanned A, original, MIT.

A job-search workflow that researches a company or hiring manager, drafts a tailored cold email, and sends it only after your approval. It uses local email software and a CSV file to record outreach.

In plain words
What is it for?
It helps contact hiring managers, recruiters, or company leaders by email and track messages for follow-up after seven days. It requires a candidate profile, email setup, and an outreach log.
Why use it?
It reduces the manual work of researching contacts, writing relevant messages, and remembering who needs a follow-up. You still approve every email before it is sent.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths.

Good fit It helps contact hiring managers, recruiters, or company leaders by email and track messages for follow-up after seven days. It requires a candidate profile, email setup, and an outreach log.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/akbardevop/ai-job-agent/job-outreach
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add AkbarDevop/ai-job-agent --skill job-outreach
Clone the repo
git clone --depth 1 https://github.com/AkbarDevop/ai-job-agent

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for job-outreach

README.md
[![agentmods](https://agentmods.dev/badge/skills/akbardevop/ai-job-agent/job-outreach/github.svg)](https://agentmods.dev/skills/akbardevop/ai-job-agent/job-outreach)
Your own site
<a href="https://agentmods.dev/skills/akbardevop/ai-job-agent/job-outreach"><img src="https://agentmods.dev/badge/skills/akbardevop/ai-job-agent/job-outreach/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for job-outreach

Your own site · 80×15
<a href="https://agentmods.dev/skills/akbardevop/ai-job-agent/job-outreach"><img src="https://agentmods.dev/badge/skills/akbardevop/ai-job-agent/job-outreach.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 157 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,121 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00157 $0.02121
Opus 5 $0.00078 $0.01060
Sonnet 5 $0.00031 $0.00424
Haiku 4.5 $0.00016 $0.00212

Measured 12d ago against content hash 65fd0c869518, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

job-outreach scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/job-outreach/SKILL.md · 193 lines

How it starts

The opening of the file, as written. The whole thing — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Job Outreach

A skill (not an API call) for cold outreach. Claude — this agent — does the research and drafting. A small Node script sends via msmtp. A CSV logs the send.

This is the pattern behind the 228+ cold emails that led to the GFT offer in 12 days. Keep it short, honest, and specific to the person. Never auto-send.

Repo location

$AI_JOB_AGENT_ROOT~/.claude/skills/ai-job-agent/ → REPO_PATH marker file → ~/ai-job-agent/.

Prerequisites

Before drafting anything:

  1. msmtp installed (command -v msmtp should resolve). If not, tell the user:

    brew install msmtp
    

    and configure ~/.msmtprc with their Gmail app password. See docs/SETUP.md#cold-email-setup-msmtp--gmail. Stop until set up.

  2. config/candidate-profile.md exists (required for personalization). If not, tell the user to run bash wizard.sh first.

  3. outreach-log.csv exists at $AI_JOB_AGENT_ROOT/outreach-log.csv. If not, copy from templates/outreach-log.template.csv.

Workflow

Step 1 — Understand the target

Parse $ARGUMENTS. It might be:

  • A company name (e.g. "GFT Infrastructure")
  • A LinkedIn profile URL (linkedin.com/in/...)
  • A direct email ([email protected])
  • Freeform ("the VP of Power Services at GFT" — ask a clarifying question if ambiguous)

Load config/candidate-profile.md so you know who is sending (Akbar's pitch, resume variants, work auth, graduation date, key projects).

Step 2 — Research

Use WebSearch + WebFetch to pull 3-5 facts about the company and the person. Aim for:

  • What the company actually does (not the generic pitch — specifically: what project, what market, what recent news)
  • The person's role and relevant recent activity (recent post, team they lead, quoted in an article)
  • A credible hook — one thing the sender has actually done that connects to their work (not "passionate about your mission")

If you can't find anything specific after ~3 searches, tell the user "I can't find anything concrete to personalize with — do you have any context (a mutual connection, a talk they gave, an article)?" and wait for them.

Read the full file on GitHub · 193 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 193 lines · 157 tokens per session scan A 65fd0c869518

Subscribe to this mod's changes

job-outreach is a skill published in the GitHub repository AkbarDevop/ai-job-agent (55 stars, last pushed 4mo ago), licensed MIT. It adds 157 tokens to every session and 2,121 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

Automation Tester Resume Optimizer

Build an SDET or automation engineer resume around framework ownership, tool-stack evidence, CI/CD integration, and GitHub proof that survives technical screening and recruiter keyword search.

PramodDutta/qaskills · 39 tokens

jobgru

Jobgru pipeline Phase 1 — coordinate parallel job-board researchers to find and verify the user-requested count of unique jobs (LinkedIn has no per-run job cap; LeadGru is capped at 5 people + company people page), deduplicate against the Job Applications Google Sheet, append rows via scripts/sheetswrite.py, then…

ashujha301/jobgru · 144 tokens

leadgru

Jobgru pipeline Phase 2 — find LinkedIn hiring contacts for new Job Applications rows (job-posting hiring team first, then people search), write at most 5 profile links plus the company people page into Leads, and fill Add note Message from sheet templates. Runs automatically after Jobgru appends rows (pipeline mode)…

ashujha301/jobgru · 97 tokens

jobgru-setup

Jobgru first-time setup, help, and health check. Use when the user says Jobgru setup, first time, configure sheet, update sheet link, add resume, Jobgru help, or Jobgru check. Handles venv, pip install, config/sheet.json, resume PDF placement, and sheet profile writes — user only manually copies the Google Sheet…

ashujha301/jobgru · 83 tokens

sendgru

Jobgru on-demand — send LinkedIn connection invites with add-note text for user-named sheet rows; if already connected, send column H as a direct Message instead. Only Status applied; 2 people per row from Leads; appends Sent add note to column H after success (does not replace the note). Never runs in the Jobgru…

ashujha301/jobgru · 97 tokens

atsscore

Jobgru pipeline Phase 2b — score local resume PDFs against job Skills in the sheet. Writes column I (ATS score) and column J (Suggestions on Resume). Runs in parallel with LeadGru after Phase 1. Python-only scoring, rule-based suggestions, no LLM. Auto-on when data/resumes/ has PDFs; off when folder empty or prompt…

ashujha301/jobgru · 93 tokens