A US opening draws more applications than any recruiter can read. LinkedIn was clocking about 11,000 applications per minute in mid-2025, up 45% in a year, Semafor reported, and each one passes through an applicant tracking system (ATS) first. Candidates answered with AI, and two open-source projects that turn an AI coding CLI into a job-search agent collected almost 150,000 GitHub stars in about seven months.
As of November 4, 2026, career-ops has 80,011 stars and ai-job-search has 69,475, both MIT licensed. Neither presses Submit: both score a posting against your CV, write tailored documents and stop. We read their source, counted their tests, measured what each loads into the model and checked site terms. Use them as a filter, not a firehose, because the evidence says tailoring alone no longer wins interviews.
Why Tailoring Stopped Working as a Signal
An economics working paper has the sharpest evidence. Galdin and Silbert studied a freelance platform before and after LLMs arrived and found that "employers have a high willingness to pay for workers with more customized applications in the period before LLMs are introduced, but not after" (arXiv 2511.08785, November 11, 2025, not yet peer reviewed). In their simulation the top quintile of workers is hired 19% less often and the bottom quintile 14% more often. A freelance market is not US corporate hiring, so read it as a mechanism: when everyone tailors for free, tailoring separates no one.
Employers noticed. Greenhouse's survey of 4,136 people (November 19, 2025) found that 74% of US job seekers use AI, 91% of recruiters have spotted candidate deception, and 41% of the 1,200 US job seekers admit to prompt injections, hidden text meant to fool a screener. It is a vendor survey, but it explains why a good agent spends its effort on fit and honesty, not volume.
What an AI Job Search Agent Does, Step by Step
Both repos run one pipeline. A profile step turns your CV or a chat interview into files the agent rereads each run. An intake step scans boards or takes a pasted URL, and a scoring step decides if the job deserves an evening. A tailoring step rewrites the CV and drafts a letter, a review step checks the drafts against what you did, and a render step produces an ATS-parseable PDF. You click Submit.
The difference is how much is code and how much is prompt. career-ops scans with plain Node.js that spends no tokens, while ai-job-search hands most steps to Claude Code and its subagents.
How Each Agent Scores a Job
| career-ops | ai-job-search | |
|---|---|---|
| Scale | One 1 to 5 score | 0 to 100 per dimension, banded |
| Dimensions | CV match, target-role alignment, pay, cultural signals, red flags | Technical skills 30%, experience 25%, behavioral fit 15%, career alignment 30%, location pass/fail |
| Formula | None: "Holistic judgment integrating the five dimensions above (no arithmetic formula)" | Fixed weights |
| Action thresholds | 4.5+ apply now; 4.0 to 4.4 worth applying; 3.5 to 3.9 recommend against; below 3.5 recommend against | 75+ "Definitely apply"; 60 to 74 good; 45 to 59 moderate; 30 to 44 "Probably skip"; below 30 skip |
| Hard stops before scoring | Dead posting, blacklist, your dealbreakers, agency check, LinkedIn JD guard | A citizenship or residency requirement you cannot meet; a language you do not declare |
| Posting legitimacy | Block G, a three-tier check that does not change the score | Integrity gate that strips hidden text |
Sources: modes/_shared.md and modes/oferta.md in career-ops, and .claude/skills/job-application-assistant/04-job-evaluation.md (framework 1.2.7) in ai-job-search, read November 4, 2026.
ai-job-search's eligibility gate quotes the exact wording and stops, which suits a work-authorization question. career-ops leaves the arithmetic to the model.
Where They Look for Jobs
| career-ops | ai-job-search | |
|---|---|---|
| Scanner | 131 provider modules in providers/, no LLM calls, no login | 6 search skills, no login or API key |
| ATS families | Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Workday, iCIMS, Taleo, SuccessFactors and about 30 more | Via the freehire.me aggregator, which says it covers about 50 ATS platforms |
| Boards | RemoteOK, Remotive, We Work Remotely, Himalayas, Built In, HN and others | LinkedIn guest search; four Danish boards that ship disabled |
| Not scanned; the guard bars guest endpoints and workarounds | Enabled, with a warning that automated access breaks LinkedIn's terms | |
| Robots.txt | Contributor convention; runtime handling unverified | tools/robots_check.py enforces RFC 9309 on the fetch retry |
Greenhouse, Lever and Ashby host most US tech postings, so the career-ops scanner fits a US search better. ai-job-search reaches the US through freehire.me and LinkedIn; anything else means pasting a posting.
How Many Tokens Each Agent Loads Before Your CV
Both agents are mostly Markdown instructions the CLI loads before your CV. That floor eats a plan's usage limit, so we measured it on November 4, 2026 against fresh clones, using career-ops' own estimate: collapse whitespace, then one token per four characters.
Bashgit clone --depth 1 https://github.com/career-ops-hq/career-ops.git git clone --depth 1 https://github.com/ai-job-search-dev/ai-job-search.git node prompt-floor.mjs
js// prompt-floor.mjs: instruction tokens each agent loads before your CV and the job post import { readFileSync } from "node:fs" const est = (f) => Math.ceil(readFileSync(f, "utf8").replace(/\s+/g, " ").length / 4) const sets = { "career-ops (paste a job URL)": ["career-ops/AGENTS.md", "career-ops/modes/_shared.md", "career-ops/modes/oferta.md"], "ai-job-search (/apply)": ["ai-job-search/CLAUDE.md", "ai-job-search/.claude/commands/apply.md"], } for (const [name, files] of Object.entries(sets)) { let total = 0 for (const f of files) { const t = est(f); total += t; console.log(` ${f.padEnd(44)} ${String(t).padStart(6)}`) } console.log(`${name}: ~${total.toLocaleString("en-US")} tokens\n`) }
textcareer-ops/AGENTS.md 23430 career-ops/modes/_shared.md 7307 career-ops/modes/oferta.md 22034 career-ops (paste a job URL): ~52,771 tokens ai-job-search/CLAUDE.md 2226 ai-job-search/.claude/commands/apply.md 10711 ai-job-search (/apply): ~12,937 tokens
career-ops' docs/RUNNING_ON_A_BUDGET.md still says about 26,000 tokens per evaluation, but the same files now measure about 52,800 because AGENTS.md has grown to roughly 94 KB. ai-job-search starts near 12,900, then /apply reads its templates and spawns a reviewer, so a full run goes well past that.
Neither number is a bill. On Claude Pro, $20 a month or $17 billed annually as of November 4, 2026, you hit usage limits instead. The career-ops FAQ warns that an ANTHROPIC_API_KEY in your shell makes the CLI bill per token even when you are logged in to a subscription.
How career-ops Works
career-ops is Markdown modes behind one router, .agents/skills/career-ops/SKILL.md, plus Node.js scripts for everything that needs no model. Paste a job URL and it checks the posting is live, scores it, writes a report, renders a tailored PDF through Playwright and adds a row to data/applications.md. About 70 modes also cover an ats parseability score, interview prep and offer-prep. Setup is npx @santifer/career-ops init per the README (we did not run it), on Node 22.13 or later.

It runs in most agent CLIs, or on free OpenRouter models or a local Ollama model. Your CV and reports are gitignored and the README promises no telemetry.
It refuses to spray. prepare-application.mjs prints autofill values for Greenhouse, Ashby and Lever forms and "Never POSTs anything", and generate-pdf.mjs blocks a CV whose numbers appear nowhere in your sources unless you pass --skip-fact-check. Its PDF rules match what Greenhouse's support page names as parse failures: single column, nothing critical in headers or footers, no hidden text.
It is also large. 258 issues and 198 pull requests are open, and issue #1411 proposes the "fail-closed CV faithfulness gate" that the fact check is not yet. Version 1.38.0 shipped October 23, 2026.
How ai-job-search Works
ai-job-search is a Claude Code project: slash commands in .claude/commands, three subagents and job-board skills in .agents/skills. The flow is /setup, /scrape, /rank, /apply, /interview and /outcome. /apply is a drafter-reviewer loop: the main agent drafts a LaTeX CV and letter, an application-reviewer subagent with no Edit or Write tool researches the company and critiques them, and the drafter revises until the CV is exactly two pages and the letter one. It then extracts the PDF text layer to check what an ATS will read.

You need Claude Code, which has no free tier, plus Python 3.10 or later, Bun and a LaTeX distribution. A fork of a public repo is public while /setup writes your contact details and salary expectations into tracked files, so use a private repository.
Its strength is defense. tools/posting_guard.py strips hidden HTML, zero-width characters and invisible Unicode tag characters from a posting before the model reads it, and SECURITY.md is candid that the defenses are "instruction-level, not a sandbox". Open issues #798, #785 and #766 report gaps in the guard, and Windows is fragile (#705, #743). Version 1.7.4 shipped November 2, 2026.
How Healthy Each Project Is
| career-ops | ai-job-search | |
|---|---|---|
| Stars, forks | 80,011; 14,730 | 69,475; 22,307 |
| Contributors | 469 | 94 |
| Created | April 4, 2026 | March 18, 2026 |
| Releases | v1.34.0 (Sep 24) to v1.38.0 (Oct 23): about weekly | v1.7.0 (Aug 29) to v1.7.4 (Nov 2): every 2 to 4 weeks |
| Tests | About 880 test files, roughly 3,000 cases | 68 Python test files with 888 test functions, plus about 420 JS cases |
| CI | 27 workflows on Ubuntu, macOS and Windows, CodeQL, SBOM | Lint, security guards, Python 3.10 to 3.14, LaTeX smoke compiles; actions pinned to SHAs |
| Open issues, PRs | 258; 198 | 7; 73 |
Counts are live GitHub API values and file counts from November 4, 2026 and will drift. career-ops ships faster with more surface to break, while ai-job-search keeps live portal tests out of CI because of LinkedIn's terms.
What Goes Wrong With Auto-Apply
AIHawk is the cautionary tale. feder-cr/Jobs_Applier_AI_Agent_AIHawk, once an auto-apply bot, has 32,385 stars, but its README now describes an "alternative to OpenAI Dots, Grok Bot. Built to be undetectable by anti-bot systems" and has no job-application text. Both agents here stop at the Submit button for that reason.
Tailored CVs also drift. A model matching a posting will turn "used Kafka" into "led a Kafka migration", and fact gates catch only part of that, so read every line becuase an interviewer will ask about the bullet you did not write. A posting is untrusted input too: hidden text in a job ad can carry instructions for an agent that also holds your CV.
The Funded Hosted Agents
| Tool | Submits for you? | US candidate price | Funding |
|---|---|---|---|
| Jobright | Yes, per its June 2025 launch post | Not published: /pricing returned a 404 on November 4, 2026 | $3.2M led by Translink Capital, June 24, 2025 |
| Jack & Jill | No, it introduces you | Free for candidates | $40M Series A led by Air Street Capital, September 16, 2026 |
| Dex | No, it introduces you | No public price page | $5.3M seed led by Notion Capital, April 28, 2026 |
| Simplify | Autofill extension; Autopilot "applies for you" | Core free; Simplify+ price not published | $3M seed led by Craft Ventures, February 2024 |
Jobright, in Santa Clara, California, launched an agent that "finds, customizes, and submits applications on behalf of job seekers".

Jack & Jill raised a $40 million Series A ten months after a $20 million seed. Its privacy policy, effective August 10, 2026, says it will "never sell your personal data" and shares your profile with employers only when your visibility is open to matches.

Dex, aimed at senior software engineers, raised a $5.3 million seed, and its October 2026 privacy policy says it also collects data "from third parties such as LinkedIn, data providers we work with, contacts who referred you to us, or employers".

LazyApply and AIApply sell volume outright. We could not confirm a US price for AIApply, or anything for Teal, whose site returned a 403.
What the Terms Say
| Site | Clause | Date checked |
|---|---|---|
| LinkedIn User Agreement, section 8.2 | Bans "software, devices, scripts, robots or any other means" to "scrape or copy the Services", and "bots or other unauthorized automated methods" to access them | Effective November 3, 2025 |
| LinkedIn Help, Easy Apply limits | "Rapidly submitting applications in a short time triggers a temporary pause on Easy Apply"; limits may drop for activity that "seems inauthentic" | Page updated about a year ago |
| Indeed Terms of Service | Bars any "automated system (bots, scrapers, spiders, AI or Agentic AI) to access, data-mine, or submit content to the Site, in bulk or otherwise, without Indeed's express written permission" | Last updated September 29, 2026 |
Indeed's clause is the most direct for a tool that submits applications. We found no reputable report of permanent bans for job-application auto-apply tools, and LinkedIn's help pages describe temporary pauses and re-enabling once the automation is off. Neither open-source agent submits, but ai-job-search's linkedin-search skill uses LinkedIn's guest endpoints, so keep the volume low.
Ghost Jobs and the Law
A score is only as good as the posting. A Congressional Research Service brief says "there are no official statistics on the magnitude of ghost jobs", and on July 14, 2026 the Texas attorney general opened an investigation into LinkedIn over allegedly advertising "fake or misleading job opportunities". career-ops' Block G legitimacy check is the one feature aimed at this, and it rightly never changes the score.
The AI hiring laws regulate employers and their vendors, not candidates. New York City's Local Law 144 has required a bias audit for automated employment decision tools since July 5, 2023, and in Mobley v. Workday a preliminary age-discrimination collective against an AI screening vendor was certified on May 16, 2025, with no merits ruling as of the docket summary updated November 1, 2026. For a candidate the point is narrow: the screener may be audited, and your PDF is still read by software.
Side by Side
| Agent | Runs in | Automates | Submits? | What leaves your machine | Cost to you | License or funding |
|---|---|---|---|---|---|---|
| career-ops | Claude Code, Codex, OpenCode, Cursor and more | Scan, score, tailor, PDF, tracker | No | CV and posting, to your model provider | CLI plan or tokens; $0 on a local model | MIT |
| ai-job-search | Claude Code | Search, rank, tailor, review, PDF, tracker | No | CV and posting, to Anthropic | Claude Pro from $17/month, or API credits | MIT |
| Jobright | Hosted | Matching, tailoring, autofill | Yes | Your whole profile | Price not published | $3.2M, June 2025 |
| Jack & Jill | Hosted | Matching, introductions | No | Your whole profile | Free | $40M Series A, September 2026 |
| Dex | Hosted | Matching, introductions | No | Your whole profile | No public price | $5.3M seed, April 2026 |
How to Choose
- Decide between a filter and a sender: open-source agents and introduction services cut volume, auto-apply services add it.
- Check where your target jobs live, since the two scanners cover different boards.
- Price the CLI, not the agent: both repos are free, but the model is not unless you run career-ops on Ollama.
- Keep
cv.mdand the tracker in a private repository. - Run one real job end to end and read every generated file before a second run.
Conclusion
Already using Claude Code or Codex and applying to US tech companies: start with career-ops. Want polished LaTeX documents and a stricter permission model: use ai-job-search. Want fewer, better conversations: try Dex or Jack & Jill after reading their privacy policies.
Skip the bulk auto-apply bots, because tailoring no longer separates candidates and Indeed's terms bar automated submission. Whichever you pick, read the CV before you press Submit, or you will recieve replies for roles you never read.
Related DevToolLab Tools
- Resume Builder - write your master CV once in Markdown, the format career-ops reads from
cv.md. - Cover Letter Generator - draft a baseline letter to compare with what the agent writes.
- PII Redactor - strip your email, phone number and address from a CV before pasting it into an issue or a hosted tool.
- Keyword Density Checker - see which job-description terms your tailored CV actually repeats.
Related Guides
- Claude Code Skills Setup Guide: The 12 Best Skills to Install in 2026 - how skills and commands like these load.
- How to Run an LLM Locally on Mac or PC - the Ollama setup career-ops can use instead of a paid model.
- Cloud vs Local vs Encrypted AI for Coding - what each kind of model provider does with your files.
- Best Open-Source Agent Harnesses in 2026 - the agent CLIs these tools run inside.
