Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/AkbarDevop/ai-job-agentnpx agentmods add skills/akbardevop/ai-job-agent/job-applyWrote 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-apply)<a href="https://agentmods.dev/skills/akbardevop/ai-job-agent/job-apply"><img src="https://agentmods.dev/badge/skills/akbardevop/ai-job-agent/job-apply/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-apply"><img src="https://agentmods.dev/badge/skills/akbardevop/ai-job-agent/job-apply.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.00138 | $0.01113 |
| Opus 5 | $0.00069 | $0.00557 |
| Sonnet 5 | $0.00028 | $0.00223 |
| Haiku 4.5 | $0.00014 | $0.00111 |
Grade A, and why
job-apply 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 11d 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Job Apply
Fills out a job application form on the 5 ATS platforms this repo supports. Default is dry-run — the form is filled but not submitted.
Repo location
Resolve the repo root in this order:
$AI_JOB_AGENT_ROOTenv var~/.claude/skills/ai-job-agent/(gstack-style install — recommended)~/.claude/skills/ai-job-agent/REPO_PATHfile (legacy, when repo is elsewhere)~/ai-job-agent/(legacy manual-clone fallback)
Check for package.json in the candidate path to confirm it's really the repo. Fail with a clear message if none exist.
Workflow
1. Parse $ARGUMENTS
Expect <URL> [--submit]. If no URL, ask the user for one.
2. Route by URL host
| Host pattern | Script |
|---|---|
linkedin.com/jobs/view/* |
scripts/linkedin-easy-apply.js |
boards.greenhouse.io/* or job-boards.greenhouse.io/* |
scripts/greenhouse-apply.js |
jobs.lever.co/* |
scripts/lever-apply.js |
jobs.jobvite.com/* or *.jobs.jobvite.com/* |
scripts/jobvite-apply.js |
jobs.ashbyhq.com/* or ashbyhq.com/* |
scripts/ashby-apply.js |
If the URL doesn't match, print the table of supported hosts and stop.
3. Check config
For LinkedIn: config/linkedin-config.json must exist.
For the other four: the user provides a second argument pointing to their form config JSON (per-job, by convention).
If missing, tell the user to run bash wizard.sh (for LinkedIn) or point to their filled form config.
4. Run the filler
Dry-run by default:
cd "$AI_JOB_AGENT_ROOT"
node scripts/linkedin-easy-apply.js "$URL" config/linkedin-config.json
With --submit, set autoSubmit: true in the config temporarily (or instruct the user to — do not silently flip it without confirming). Prefer: ask the user to set it themselves if they haven't, to preserve the truthfulness guardrail baked into CLAUDE.md.
Environment variables to surface:
HEADLESS=0if the user wants to watch the browserKEEP_OPEN_ON_BLOCK=1if they want to inspect a stalled formCDP_URLif they want to connect to an already-open Chrome
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.
- 11d ago First seen · 101 lines · 138 tokens per session scan A 3c550e82efde
job-apply is a skill published in the GitHub repository AkbarDevop/ai-job-agent (54 stars, last pushed 4mo ago), licensed MIT. It adds 138 tokens to every session and 1,113 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
batch
Batch job-application filler. Given several job URLs (or a urls.txt file), run the assisted-apply flow for each in its own browser tab — fit-gate, fill-or-flag, stop before Submit — skipping stale or low-fit postings, then present one combined review table so the human can approve each tab one by one. Use for /batch…
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…
notifications-management
Manages X/Twitter notifications including filtering by type, bulk management, notification scraping, and automated notification handling. Use when users want to manage, filter, scrape, or process X notifications in bulk.
opencli
Use when the user wants to use websites, browser login sessions, Electron apps, or external CLIs through a local OpenCLI setup, especially when setup guidance, readiness checks, and safe task execution are needed.
bookmarks-management
Manages X/Twitter bookmarks — organize by category with auto-tagging, clear all bookmarks in bulk, and export/scrape bookmarks with full metadata. Supports keyword-based categorization, CSV and JSON export, keep-filters, and folder creation (Premium). Use when users want to export, organize, or clear their X bookmarks.
job-application-agent
Finds, evaluates, fills, submits, and tracks a candidate's own job applications using a verified resume, evidence-based targeting, secure local profile storage, and browser automation. Use for onboarding or migrating a job-search profile, searching active roles, assessing a posting, applying to an authorized URL or…