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.
npx skills add AkbarDevop/ai-job-agent --skill job-outreachgit clone --depth 1 https://github.com/AkbarDevop/ai-job-agentWrote 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.
[](https://agentmods.dev/skills/akbardevop/ai-job-agent/job-outreach)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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:
-
msmtpinstalled (command -v msmtpshould resolve). If not, tell the user:brew install msmtpand configure
~/.msmtprcwith their Gmail app password. Seedocs/SETUP.md#cold-email-setup-msmtp--gmail. Stop until set up. -
config/candidate-profile.mdexists (required for personalization). If not, tell the user to runbash wizard.shfirst. -
outreach-log.csvexists at$AI_JOB_AGENT_ROOT/outreach-log.csv. If not, copy fromtemplates/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.
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.
- 12d ago First seen · 193 lines · 157 tokens per session scan A 65fd0c869518
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.
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.
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…
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)…
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…
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…
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…