career-ops: 공고를 내 이력서로 채점해 주는 구직 에이전트
공고 740개를 걸러 68곳에 지원하고 합격 하나를 받은 사람이 그 필터를 공개했어요
- 누가
- 산티아고 페르난데스(@santifer)가 자기 구직용으로 만들었고, 지금은 기여자 700명 넘는 career-ops-hq가 함께 꾸려요. 일을 찾는 사람을 위한 도구예요.
- 언제
- 2026년 4월 공개, 최신 릴리스는 v1.38.0(2026-10-23)이에요.
- 어디서
- 내 컴퓨터에서 돌아요. Claude Code, Codex, OpenCode, Antigravity CLI, Grok 같은 AI CLI 안에서, 또는 Claude 데스크톱 앱 Code 탭의 플러그인으로 써요.
이게 불편했어요
공고 하나에 지원할 때마다 내가 맞는 사람인지 따져 보고, 이력서를 다시 다듬고, 자기소개서를 새로 써야 했어요. 그렇게 몇 달을 보내도 답장 없이 조용한 날이 이어지곤 했어요.
그래서 이렇게 풀어요
공고를 붙여 넣으면 에이전트가 먼저 그 공고가 아직 열려 있는지 보고, 내 cv.md와 하나하나 맞춰 1~5점으로 채점해요. 4.0 아래면 지원하지 말라고 하고, 맞는 공고에는 그 공고에 맞춘 이력서 PDF와 지원서 답변 초안을 만들어 추적표에 적어요. 모든 기록은 내 컴퓨터에 남고, 제출은 끝까지 사람이 해요.

이걸로 만든 사람들
처음 돌려 본 날 4.0점 공고 하나가 나왔고, 거기 지원해 일주일 만에 첫 면접을 보고 YC 회사의 보안 엔지니어로 붙었다고 적었어요.
On my first test run, career-ops surfaced a single top match (4.0/5). I applied, had my first interview within a week, and got hired after 4+ interviews.
원격 근무 회사 찾기를 맡겨 공고 106개를 평가했고, 6주 만에 프로덕트 엔지니어 자리를 얻었어요. 점수가 이상하면 따지라는 조언도 남겼어요.
Remote-first companies are hard to find. I was able to hand over the search to career-ops and it actually found jobs that fit me.
해고 뒤 공고 211개를 평가하고 과제와 최종 면접, 연봉 통화까지 준비해 10주 만에 고객 성공 직무에 합격했어요.
After a layoff, I used career-ops to scan and evaluate roles, prep a take-home and a final round that walked through every job on my LinkedIn, and script my offer call.
안에서는 이렇게 돌아가요
- 1
구직자 → Claude Code 등 AI CLI
공고 URL이나 본문 붙여넣기따로 명령 없이 공고만 붙여도 스킬 라우터가 자동 파이프라인으로 넘겨요..agents/skills/career-ops/SKILL.md - 2
Claude Code 등 AI CLI → career-ops 스킬
공고 읽기와 마감 확인Playwright로 공고 페이지를 읽고, 닫힌 공고면 평가 전에 멈춰요.modes/auto-pipeline.md - 3
career-ops 스킬 → cv.md
A~G 블록 평가와 1~5점내 이력서와 요구사항을 하나씩 맞춰 보고, 연봉 조사와 면접 준비, 공고 신뢰도까지 보고서에 적어요.modes/oferta.md - 4
career-ops 스킬 → generate-pdf.mjs (Playwright)
공고에 맞춘 이력서 HTML이력서에 없는 숫자나 사실이 들어간 PDF는 만들지 않고 막아요.generate-pdf.mjs - 5
generate-pdf.mjs (Playwright) → 보고서, PDF, 추적표
추적표 한 줄 추가평가 결과와 PDF 여부를 TSV로 남기고 merge-tracker.mjs가 data/applications.md에 합쳐요.merge-tracker.mjs - 6
보고서, PDF, 추적표 → 구직자
지원서 답변 초안, 제출은 사람이지원서 칸을 채워 두지만 전송 요청은 보내지 않아요. 제출 버튼은 직접 눌러요.prepare-application.mjs
넣으면 이렇게 나와요
나한테 맞을까요
이럴 때 좋아요
- 지원할 공고는 많은데 어디에 힘을 써야 할지 모르겠을 때
- 공고마다 이력서와 자기소개서를 고쳐 쓰는 데 지쳤을 때
- 지원 현황과 면접 준비를 한곳에 모아 보고 싶을 때
- 이력서를 외부 서비스에 올리고 싶지 않을 때
이건 안 돼요
- 지원서를 대신 제출하거나 메일을 보내지 않아요. 초안까지만 만들어요.
- README 기준, 바꿔 쓴 표현까지 검사하지는 못해요. 보내기 전 이력서를 직접 읽어야 해요.
- 미리 들어 있는 회사는 해외 AI·테크 기업 위주예요. 원하는 회사는 portals.yml에 직접 더해야 해요.
- 환경에 ANTHROPIC_API_KEY가 있으면 구독 대신 API 요금이 나가요(README FAQ).
발행 전에 Devalley 편집자가 검토했어요. 칼럼은 어떻게 만드나요
career-ops: a job search agent that scores postings against your CV
One job seeker filtered 740 listings down to 68 applications and one offer, then open-sourced the filter
- Who
- Built by @santifer for a personal job search, now run by career-ops-hq with 700+ contributors. For people looking for work.
- When
- Released April 2026; latest release v1.38.0 on 2026-10-23.
- Where
- On your machine, in Claude Code, Codex, OpenCode, Antigravity CLI or Grok, or as a plugin in the Claude desktop app.
What was hard
Every application meant working out whether you fit, reworking the CV and writing a new cover letter. Months of that could still end in silence.
What it does about it
Paste a posting and the agent first checks it is still live, then matches it requirement by requirement against your cv.md and scores it 1 to 5. Below 4.0 it tells you to skip; for a good fit it writes a CV PDF and draft answers for that job and adds a tracker row. Everything stays on your machine, and you are the one who submits.

What people made with it
The first run surfaced one 4.0/5 match; they applied, interviewed within a week and were hired as a SecOps engineer at a YC company.
On my first test run, career-ops surfaced a single top match (4.0/5). I applied, had my first interview within a week, and got hired after 4+ interviews.
Handed the remote-job search to it, evaluated 106 listings and landed a product engineer role in six weeks; the tip left is to push back when a score feels wrong.
Remote-first companies are hard to find. I was able to hand over the search to career-ops and it actually found jobs that fit me.
After a layoff, evaluated 211 listings, prepared a take-home, a final round and the offer call, and accepted a customer success role ten weeks in.
After a layoff, I used career-ops to scan and evaluate roles, prep a take-home and a final round that walked through every job on my LinkedIn, and script my offer call.
How it runs inside
- 1
Job seeker → Claude Code or another AI CLI
Paste a job URL or descriptionNo command needed: the skill's router sends a pasted job straight to the auto-pipeline..agents/skills/career-ops/SKILL.md - 2
Claude Code or another AI CLI → career-ops skill
Read the posting, check it is openPlaywright reads the page; a closed posting stops the run before any evaluation.modes/auto-pipeline.md - 3
career-ops skill → cv.md
Blocks A-G and a 1-5 scoreMatches each requirement to your CV and adds comp research, interview prep and a legitimacy check.modes/oferta.md - 4
career-ops skill → generate-pdf.mjs (Playwright)
CV HTML tailored to the jobA PDF with numbers or facts missing from your CV is blocked.generate-pdf.mjs - 5
generate-pdf.mjs (Playwright) → Report, PDF, tracker
One tracker rowThe result is written as a TSV addition that merge-tracker.mjs merges into data/applications.md.merge-tracker.mjs - 6
Report, PDF, tracker → Job seeker
Draft answers; you submitIt fills the form's answers but never posts them. You press Submit.prepare-application.mjs
What goes in, what comes out
Is it for you
Good for
- You have plenty of postings and no idea which deserve your evening
- You are tired of rewriting your CV and cover letter for every job
- You want applications and interview prep tracked in one place
- You would rather not upload your CV to another service
Not for
- It never submits an application or sends an email; it stops at drafts.
- Per the README, it cannot yet judge every rewording, so read each CV before sending it.
- The preconfigured companies lean to AI and tech firms; add your own to portals.yml.
- An ANTHROPIC_API_KEY in your environment bills per token instead of using your subscription (README FAQ).
Reviewed by Devalley’s editor before publishing. How the column is made