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-patternsgit 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-patterns)<a href="https://agentmods.dev/skills/akbardevop/ai-job-agent/job-patterns"><img src="https://agentmods.dev/badge/skills/akbardevop/ai-job-agent/job-patterns/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-patterns"><img src="https://agentmods.dev/badge/skills/akbardevop/ai-job-agent/job-patterns.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.00149 | $0.02881 |
| Opus 5 | $0.00075 | $0.01440 |
| Sonnet 5 | $0.00030 | $0.00576 |
| Haiku 4.5 | $0.00015 | $0.00288 |
Grade A, and why
job-patterns 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 10d 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 — 190 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Job Patterns
Diagnostic companion to /job-track and /job-dashboard. Reads the two CSV sources of truth (application-tracker.csv + outreach-log.csv), slices them along the dimensions that actually predict outcomes (ATS, time-to-rejection, geography, role-type, day-of-week, outreach response), and renders 4-5 markdown tables plus 3 concrete actionable insights.
Where /job-track says what the pipeline looks like, /job-patterns says why it looks that way and what to change.
Repo location
$AI_JOB_AGENT_ROOT → ~/.claude/skills/ai-job-agent/ → REPO_PATH marker file → ~/ai-job-agent/.
Status emoji (consistent with /job-track)
📄 applied · 📬 submitted · 💼 interview · 🎯 offer · ❌ rejected · 🚫 blocked · 🚪 withdrawn
Workflow
Step 1 — Resolve repo + read both CSVs
-
Resolve
$AI_JOB_AGENT_ROOT(env var → default skills path → REPO_PATH marker →~/ai-job-agent/). -
Read
$AI_JOB_AGENT_ROOT/application-tracker.csv(or$LOCAL_TRACKER).- Columns:
date, company, role, status, location, source, applied_by, url, notes, contact, compensation, days_since, key
- Columns:
-
Read
$AI_JOB_AGENT_ROOT/outreach-log.csv(or$OUTREACH_LOG).- Columns:
sent_at, company, role, to_name, to_email, to_title, to_linkedin, subject, body_file, message_id, status, replied_at, follow_up_count, last_follow_up_at, notes
- Columns:
-
If
application-tracker.csvis missing or has 0 rows, tell the user to run/job-applyorbash setup.shand stop. -
If both files combined have fewer than 10 application rows, render this and stop:
Not enough data yet (N applications). Patterns surface around 20-30 apps. Keep going for a week or two and re-run
/job-patterns.
Step 2 — Compute the six signals
For each signal below, compute the slice → render the table.
Signal A — Rejection rate by ATS source/platform
Group application-tracker.csv by source (or infer from url host if source is empty). Bucket into: linkedin, greenhouse, lever, jobvite, ashby, workday, direct-email, other.
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.
- 10d ago First seen · 190 lines · 149 tokens per session scan A fb5f6b5391f6
job-patterns is a skill published in the GitHub repository AkbarDevop/ai-job-agent (54 stars, last pushed 4mo ago), licensed MIT. It adds 149 tokens to every session and 2,881 once invoked, about $0.0007 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)…
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…
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…