mrkeyoor.com_
Thu 17 Sept 20:44 UTC
AI Toolsevaluationupdated 27 Aug 2026

career-ops review

career-ops is a local, agent-driven job-search workspace that evaluates listings, tailors CVs, tracks applications, scans job boards, and prepares interview or negotiation material. It runs through Claude Code, Codex, OpenCode, and other coding-agent CLIs while keeping the candidate responsible for decisions and submissions.

+539stars / 7d
Verdict

Our career-ops install stopped after 14 seconds because the process ran Node 18.20.8 and Playwright required Node 20 or newer, so we could not build or test it. It is worth a careful trial for a technical candidate who already uses Claude Code or another agent CLI and wants a local, review-first job pipeline. It is a poor fit for applicants seeking one-click automation or anyone unwilling to audit every tailored claim before submission.

We ran it

Lab card: what happened when we ran career-opsScreenshot of career-ops (career-ops.org)
Install✗ · 14s
Build
Repo1171 files~182,051 lines of source · 42 MB · 17 CI workflows · Dockerfile · tests dir

Answers from our run

Does career-ops build from source?

The dependency install failed, and the project has no separate build step. We cloned commit b15a963 into a clean Debian container with 3 CPUs and no project-specific setup.

Who should not use career-ops?

Applicants who want automatic submissions: the README says career-ops never submits an application and leaves the final action to the user.

What are the alternatives to career-ops?

Resume Matcher, Reactive Resume, OpenResume. Our career-ops install stopped after 14 seconds because the process ran Node 18.

Setup1/5Install stopped at Playwright's Node 20 requirement
Docs5/5Setup, CLI support, privacy boundaries, and modes are detailed
Community4/568,705 stars and active same-day issue and PR work
Maturity3/5v1.29.0 is active, but the workflow surface changes quickly

Who it’s for

Technical job seekers already comfortable running an AI coding CLI inside a local project.
Candidates managing enough listings that structured scoring, deduplication, and a pipeline file save time.
People willing to provide a detailed career history and verify every generated CV claim.
Claude Code users who want a packaged skill with job scans, evaluation modes, PDFs, and tracking.

Who it’s NOT for

Applicants who want automatic submissions: the README says career-ops never submits an application and leaves the final action to the user.
People unwilling to put CV details, preferences, and job-search records into an AI-agent workspace.
Users expecting useful output before onboarding: the README warns that early evaluations are weak until the system learns the candidate's story and proof points.
Machines that resolve Playwright to Node 18: our install stopped because Playwright requires Node 20 or newer.

Setup reality

Our sandbox install failed with exit code 1 after 14 seconds, so no build or tests ran and no dependency count is available. Although the supplied image was named lab-node:22, the install process reported Node 18.20.8. Playwright requires Node 20 or newer and stopped during Chromium installation.

A working setup needs a supported AI coding CLI or Gemini API configuration, a CV, profile and target-role data, Node, and Chromium for PDF generation. Portal scans require network access; optional integrations add their own credentials.

The 42 MB checkout contained 1,171 files and about 182,051 source lines. It includes a Dockerfile, Compose file, tests directory, and 17 CI workflows. Personal data and generated claims need human review before any CV or message leaves the machine.

career-ops is a job-search system built inside an agent workspace

career-ops turns a local project directory into a job-search command center. An AI coding CLI reads the candidate profile, CV, preferences, modes, and pipeline files, then evaluates listings into a structured report. It can tailor CVs, create PDFs, scan supported job boards, track outcomes, prepare interviews, research companies, and draft outreach. The README draws an important boundary: the system does not submit applications. The candidate reviews the recommendation and takes the final action.

The scope is much larger than resume rewriting. The repository contained 1,171 files, about 182,051 source lines, and measured 42 MB before installation. GitHub showed 68,705 stars and 291 open issues and pull requests combined. The last push was August 27, 2026, two days after release v1.29.0. This is active software with frequent changes to providers, scanners, PDFs, locking, and the web interface, so users should back up their personal layer before updates.

The system filters jobs instead of sending applications

Each evaluation produces blocks covering the role, profile match, seniority, compensation research, personalization, interview preparation, posting legitimacy, and a possible next action. The global score uses judgment across stated dimensions rather than simple keyword arithmetic. The README recommends against applying below 4.0 out of 5 and only drafts its highest-level action block at 4.5 or above. That approach can reduce low-value applications if the profile and scoring instructions match the candidate.

It also creates a feedback loop from outcomes. The tracker, rejection-pattern analysis, interview story bank, repost detection, follow-up cadence, and channel statistics can reveal where a search stalls. Results still depend on accurate records. A model can misread a job description, invent a connection between experiences, or overvalue polished wording. Release v1.29.0 added a tiered source-of-truth boundary and a story-provenance check, which is a useful control rather than a guarantee of factual CV output.

What happened when we ran it

Our sandbox cloned commit b15a963 into an unprivileged container described as lab-node:22, with 3 CPUs and 8 GB of RAM. Installation failed with exit code 1 after 14 seconds. Because install did not finish, the harness did not run a build or tests and reported no installed package or disk-use count.

The log says the running version was Node 18.20.8 and that Playwright requires Node 20 or newer. The failing command was the package installation hook that invoked npx playwright install chromium --with-deps, retried through the same command, and exited with code 1. The supplied image name and process-reported version disagree. The log does not explain that mismatch, so the finding is limited to the observed runtime and Playwright refusal.

The repository has 17 CI workflow files, a Dockerfile, a Compose file, and a tests directory. None of those signals turns our failed install into a pass. A prospective user should confirm node --version in the exact shell used by npm, run the documented doctor command, install Chromium only where PDF generation is needed, and complete the project test command before trusting an upgrade with live career data.

Onboarding quality determines evaluation quality

The README says first evaluations will not be good because the system does not yet know the candidate. It asks for a CV, career story, proof points, preferences, strengths, and exclusions. That is honest and important. A generic profile will produce generic ranking and generic documents. A useful setup takes time because the user must separate proven accomplishments from aspirations, choose target roles, and explain constraints such as location, work authorization, compensation, or travel.

Tailored documents need line-by-line verification

The PDF and cover-letter paths use job descriptions and the user's record to customize material. That can help surface the most relevant work, yet keyword mirroring creates pressure to overstate. Every skill, number, title, date, and project claim should trace to the candidate's source material. The release's provenance check supports that goal. The applicant still needs to compare the final PDF with the source CV and open the rendered file before uploading it.

The application-email feature is draft-only, and the README repeats that it never sends, submits, or clicks. Keep that gate. Contact research can identify a manager, recruiter, or peer and draft a short message, but identity matching can be wrong. Confirm the employer, role, and person through a current public source. A personalized mistake sent to the wrong person is worse than a plain application.

Portal automation changes whenever employers change their sites

career-ops supports named providers and company pages through browser and API logic. Release v1.29.0 added or changed Job Bank Canada, MyCareersFuture, Recruitee, Ashby, SmartRecruiters, Hacker News, Greenhouse, Lever, and liveness behavior. That activity is useful, and it shows the upkeep required. Job boards revise HTML, pagination, rate limits, and access controls without coordinating with downstream tools.

Technical candidates get the most from this design

The quick path uses npx @santifer/career-ops init, followed by an agent CLI inside the new directory. Claude Code, Codex, OpenCode, Antigravity, Qwen, and other agent-skill clients have documented routes. For Claude Code users, the shared skill and command router make the project feel native, which is why the claude-code tag matters. Nontechnical applicants may find files, agents, Node, Chromium, permissions, and Git updates more work than a hosted tracker.

career-ops makes sense for someone who enjoys tuning a system and wants a local record of a serious search. The failed 14-second install prevents an unconditional recommendation from our run. Fix the Node path, pass the doctor and tests, then trial it on 10 previously judged listings. If its rankings match your reasoning and every generated claim survives review, it can save time without handing over the final application decision.

Alternatives

ProjectWhat it isPick it when
Resume MatcherAn open tool for comparing a resume with a job description and improving fit.pick this instead when resume matching is the whole job and you do not need a persistent application pipeline.
Reactive ResumeA self-hostable resume builder focused on creating and exporting resumes.pick this instead when layout, editing, and resume ownership matter more than AI-led job research.
OpenResumeA browser-based open-source resume builder and parser.pick this instead when you need a straightforward resume editor without an agent operating a job-search system.

What people are saying

  1. [github-trending] santifer/career-ops

Sources

  1. career-ops README
  2. career-ops v1.29.0 release
  3. career-ops supported CLIs
  4. career-ops setup guide

More ai tools reviews

rowboat · skills · superpowers-zh · yolov5 · eve · MemOS · the whole board →