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.5 | $0.00060 | $0.01152 |
| Sonnet 5.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 1mo 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.
- 1mo 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 (67 stars, last pushed 6mo ago), licensed MIT. It adds 149 tokens to every session and 2,881 once invoked, about $0.0006 per session on Opus 5.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.
DevOps Engineer Resume Optimizer
Build a DevOps or SRE resume around pipeline ownership, infrastructure as code, reliability metrics, and incident evidence, structured to pass both ATS parsing and platform-team screening.
freehire-job-search
Use when finding jobs for someone — searching or filtering the freehire catalogue by keyword, region, seniority, skills, salary or company; reading a posting or a company's open roles; discovering what values a filter accepts; reading the saved job-search profile before asking someone what they want; handing over a…
freehire-mail-triage
Use when sorting a job seeker's application mail into the freehire tracker from their own mail client (himalaya, mbsync, notmuch, the Gmail API, any IMAP) — pushing a fetched batch, judging what each message is, linking it to an application, advancing a stage from a reply, or draining the two queues the matcher fills…
freehire-tailor-cv
Use when reframing someone's CV toward a specific vacancy through freehire — reading the fit analysis for a tailored copy, fetching or editing the CV document by path, rendering the ATS PDF, or deciding what may and may not be written into a CV. Carries the evidence rule: anything stating what the candidate DID needs…
freehire-market-fit
Use when measuring a set of skills — a CV's stack, or one skill on its own — against live open-vacancy demand on freehire; when telling a candidate which in-demand skills they are missing and what learning each would unlock; or when gauging how much of a filtered market (a role, a region, a seniority) their current…