요약
Career-Ops는 무료 오픈 소스 보일러플레이트로, Claude Code를 완전한 구직 명령 센터로 변환합니다. A-F 점수 매기기로 제안을 평가하고, 목록당 맞춤형 ATS 최적화 이력서를 생성하며, 45개 이상의 회사 포털을 자동으로 스캔하고, 터미널 대시보드에서 모든 것을 추적합니다. 개발자는 이를 사용하여 740개 이상의 제안을 평가하고 Applied AI 책임자 역할을 맡았습니다.
소개
대부분의 개발자는 스프레드시트로 채용 지원을 추적합니다. 새 탭을 열고, 채용 공고를 붙여넣고, 키워드를 스캔하고, "지원함, 대기 중"으로 행을 업데이트합니다. 그런 다음 50개 이상의 다른 공고에 대해 이 과정을 반복하고 왜 이 과정이 두 번째 직업처럼 느껴지는지 의아해합니다.
Career-Ops는 이러한 방식을 뒤집습니다. 평가, 형식 지정, 추적 작업을 직접 하는 대신, Claude Code에 맡깁니다. URL이나 채용 공고를 붙여넣습니다. 시스템은 이력서를 읽고, 적합성을 추론하며, 10가지 차원에서 제안을 평가하고, 맞춤형 PDF를 생성하며, 결과를 기록합니다. 지원 여부는 사용자가 결정합니다.
이것은 무차별 지원 봇이 아닙니다. 이 시스템은 필터 철학을 기반으로 구축되었습니다: 수백 개의 제안 중 시간을 투자할 가치가 있는 소수를 찾고, 4.0/5점 미만의 모든 것에는 거절하는 것입니다. 개발자인 산티아고 페르난데스 데 발데라마(Santiago Fernández de Valderrama)는 이를 사용하여 740개 이상의 제안을 평가하고 100개 이상의 맞춤형 이력서를 생성했으며, Applied AI 책임자 역할을 맡았습니다. 이 프로젝트는 일주일도 안 되어 GitHub에서 11.9k개의 스타를 받았습니다.
Career-Ops는 실제로 무엇을 하는가
Career-Ops는 독립형 앱이 아니라 Claude Code 보일러플레이트입니다. 저장소를 복제하고, 이력서를 마크다운 파일로 추가하고, 프로필 YAML을 구성한 다음 해당 디렉토리에서 Claude Code를 엽니다. 거기에서 단일 슬래시 명령으로 전체 파이프라인이 실행됩니다.

핵심 워크플로는 다음과 같습니다:
채용 공고 URL 또는 설명을 붙여넣습니다.
|
v
아키타입 감지
(LLMOps / 에이전트 / PM / SA / FDE / 변환)
|
v
A-F 평가 엔진
(cv.md를 읽고 10가지 차원 점수 매기기)
|
+----+----+
v v v
보고서 PDF 추적기
.md .pdf .tsv
모든 것은 AI 런타임으로서 Claude Code를 통해 실행됩니다. 시스템은 실행에 사용하는 파일과 동일한 파일을 읽습니다. 즉, 사용자가 요청하면 Claude가 자체 모드, 점수 가중치 및 협상 스크립트를 수정할 수 있습니다.
14가지 슬래시 명령
Career-Ops는 14가지 모드를 가진 단일 /career-ops 진입점을 제공합니다.
/career-ops → 모든 명령 표시
/career-ops {채용 공고 붙여넣기} → 전체 파이프라인: 평가 + PDF + 추적
/career-ops scan → 45개 이상의 회사 포털에서 새로운 제안 스캔
/career-ops pdf → 채용 공고에 맞는 ATS 최적화 이력서 생성
/career-ops batch → 10개 이상의 제안을 병렬로 평가
/career-ops tracker → 지원 파이프라인 상태 보기
/career-ops apply → AI로 지원 양식 작성
/career-ops pipeline → 보류 중인 URL 큐 처리
/career-ops contacto → LinkedIn 아웃리치 메시지 초안 작성
/career-ops deep → 대상 회사에 대한 심층 조사
/career-ops training → 교육 또는 자격증 평가
/career-ops project → 포트폴리오 프로젝트 평가
가장 많이 사용되는 명령은 자동 파이프라인입니다: 채용 공고 URL을 붙여넣기만 하면 Career-Ops가 모든 것을 처리합니다. 자동 감지 기능 덕분에 모드를 지정할 필요가 없습니다. 원본 채용 공고 텍스트를 입력하면 전체 평가가 실행됩니다.
A-F 점수 엔진 작동 방식
이것이 Career-Ops의 핵심입니다. 모든 제안은 6개의 구조화된 블록에 걸쳐 점수가 매겨집니다.
블록 A: 역할 요약: 직무, 팀, 직급, 필수 기술을 추출합니다. 역할 아키타입(LLMOps 엔지니어, 에이전트 시스템, 제품 관리자, 솔루션 아키텍트 등)을 분류하여 적절한 평가 루브릭이 적용되도록 합니다.
블록 B: 이력서 일치: 키워드 매칭이 아닌 경험 추론을 통해 실제 이력서를 채용 공고와 비교합니다. 기술 격차와 강점을 식별합니다. 결정적인 결함(dealbreaker)을 표시합니다.
블록 C: 직급 및 보상 전략: 역할, 위치, 직급에 대한 보상 기준을 조사합니다. 사용자의 증거 자료를 기반으로 협상 논거를 구축합니다.
블록 D: 개인화: 회사가 실제로 무엇을 구축하는지, 그리고 사용자의 배경 중 어떤 부분이 그것과 연결되는지를 기반으로 자기소개서 또는 아웃리치의 특정 관점을 작성합니다.
블록 E: 평가 점수 (A-F): 위 내용을 종합하여 최종 점수를 산출합니다. 시스템은 4.0/5점 미만의 모든 것에 지원하지 않도록 권장합니다. 이는 진입 장벽이 아니라, 사용자와 채용 담당자의 시간을 모두 존중하는 것입니다.
블록 F: 면접 준비 (STAR+R): 가장 가능성 있는 행동 질문에 대비하여 이력서에서 STAR 스토리를 생성합니다. "+R"은 경력을 나타내는 '성찰(Reflection)' 열입니다. 스토리는 평가 전반에 걸쳐 축적되는 story-bank.md에 저장되므로, 각 지원마다 스토리를 새로 만드는 대신 5-10개의 재사용 가능한 마스터 스토리를 구축할 수 있습니다.
이 시스템은 또한 협상 스크립트를 생성합니다: 연봉 기준 설정, 지역 할인에 대한 반박, 그리고 경쟁 제안 활용 프레임워크 등이 있습니다.
ATS 최적화 PDF 생성
Career-Ops의 가장 유용한 기능 중 하나는 PDF 생성기입니다. 일반적인 이력서를 생성하지 않습니다. 각 채용 공고에 맞게 이력서를 맞춤화합니다.
- 채용 공고를 읽고 ATS가 스캔할 주요 요구 사항과 키워드를 추출합니다.
- 어떤 것도 조작하지 않고 경험 요약(bullet)을 다시 작성하여 해당 키워드가 앞부분에 오도록 합니다.
- Space Grotesk 및 DM Sans 글꼴이 적용된 HTML 템플릿을 사용하여 Playwright/Puppeteer를 통해 PDF로 렌더링합니다.
그 결과는 ATS 필터를 통과하고 사람이 읽기에도 좋은 이력서입니다. 이 템플릿은 MIT 라이선스이므로 포크하여 사용자 지정할 수 있습니다.
# 특정 채용 공고에 맞는 맞춤형 이력서 생성
/career-ops pdf
# 또는 전체 파이프라인의 일부로
/career-ops {채용 공고 URL 또는 설명 붙여넣기}
출력물은 기본적으로 gitignore 처리되는 output/ 디렉토리에 저장되므로 개인 이력서 데이터는 로컬에 유지됩니다.
대규모 포털 스캔
Career-Ops는 자동 스캔을 위해 45개 이상의 회사들이 사전 구성되어 제공됩니다.
AI 연구소: Anthropic, OpenAI, Mistral, Cohere, LangChain, Pinecone
음성 AI: ElevenLabs, PolyAI, Parloa, Hume AI, Deepgram, Vapi, Bland AI
AI 플랫폼: Retool, Airtable, Vercel, Temporal, Glean, Arize AI
LLMOps: Langfuse, Weights & Biases, Lindy, Cognigy, Speechmatics
엔터프라이즈: Salesforce, Twilio, Gong, Dialpad
자동화: n8n, Zapier, Make.com
유럽 (DACH): Factorial, Attio, Tinybird, Clarity AI, Travelperk + 커뮤니티 기여자가 추가한 31개 DACH 기업
스캐너는 Playwright를 사용하여 채용 페이지를 탐색하고 Greenhouse, Ashby, Lever, Wellfound API를 직접 쿼리합니다. 주요 채용 게시판에서 19개의 사전 구축된 검색 쿼리를 실행합니다. `portals.yml`에서 대상 회사를 구성하고 `/career-ops scan`을 실행하면 새 채용 공고가 파이프라인에 자동으로 추가됩니다.
병렬 서브 에이전트를 이용한 배치 처리
평가해야 할 채용 공고 URL이 밀려 있다면, 배치 모드는 이를 병렬로 실행합니다.
# jds/ 디렉토리에 URL을 넣은 다음:
/career-ops batch
내부적으로는 `claude -p` 워커들이 병렬로 실행되며, 각각 하나의 제안을 독립적으로 처리합니다. 결과는 자동으로 중복 제거되어 추적기에 병합됩니다. 배치 실행 스크립트(`batch/batch-runner.sh`)는 워커를 조율하고 오류를 유연하게 처리합니다.
이것이 Career-Ops가 대규모에서 진정으로 강력해지는 지점입니다. 수동으로 20개의 제안을 평가하는 데는 하루 종일 걸릴 수 있습니다. 배치 모드에서는 한 시간 이내에 실행됩니다.
Go TUI 대시보드
사용자의 지원 파이프라인은 `data/applications.md`에 마크다운 테이블 형태로 저장됩니다. 내장된 터미널 대시보드(Go 언어로 Bubble Tea 프레임워크와 Catppuccin Mocha 테마를 사용하여 작성됨)는 시각적인 파이프라인 보기를 제공합니다.
cd dashboard
go build -o career-dashboard .
./career-dashboard
기능: 6가지 필터 탭(상태, 아키타입, 점수별), 4가지 정렬 모드, 그룹화 및 평면 보기, 지연 로드되는 보고서 미리보기, 인라인 상태 변경. 마크다운 파일을 편집하지 않고 TUI에서 직접 지원 상태를 업데이트할 수 있습니다.
15분 만에 설정하기
설정은 간단합니다.
# 1. 복제 및 설치
git clone https://github.com/santifer/career-ops.git
cd career-ops && npm install
npx playwright install chromium
# 2. 프로필 구성
cp config/profile.example.yml config/profile.yml
# profile.yml 편집: 이름, 위치, 목표 역할, 희망 연봉 범위, 선호도
# 3. 대상 회사 구성
cp templates/portals.example.yml portals.yml
# 스캐너 목록에서 회사를 추가하거나 제거
# 4. 이력서 추가
# 프로젝트 루트에 cv.md 생성
# 마크다운 형식으로 이력서 붙여넣기
# 5. Claude Code 열기
claude
# 그런 다음 Claude에게 시스템을 조정하도록 요청합니다.
# "아키타입을 백엔드 엔지니어링 역할로 변경해 줘"
# "portals.yml에 이 5개 회사를 추가해 줘"
# "내 프로필을 이 이력서로 업데이트해 줘"
시스템은 Claude가 자체적으로 사용자 지정할 수 있도록 설계되었습니다. Claude가 실행하는 모드 파일과 동일한 파일을 읽기 때문에, 점수 가중치를 변경하거나, 협상 스크립트를 다시 작성하거나, 새로운 아키타입을 추가하도록 요청할 수 있으며, Claude는 어떤 파일을 편집해야 하는지 정확히 알고 있습니다.
자동 업데이트 시스템
버전 1.1.0은 시스템 파일(자동 업데이트 가능한 점수 규칙, 모드, 공유 컨텍스트)과 사용자 파일(프로필, 이력서, 사용자 지정)을 분리하는 2계층 아키텍처를 도입했습니다. 업데이트는 시스템 계층에만 적용되며, 사용자 데이터는 절대 건드리지 않습니다.
# 업데이트 확인 (세션 시작 시 자동 실행)
node update-system.mjs check
# 업데이트 적용
node update-system.mjs apply
# 문제가 발생하면 롤백
node update-system.mjs rollback
모든 업데이트 전에 백업 브랜치가 생성됩니다. 업데이트 후 유효성 검사를 통해 사용자 파일이 수정되지 않았음을 확인합니다.
Career-Ops가 다른 구직 도구와 다른 점
대부분의 AI 구직 도구는 이력서 재작성 도구이거나 대량 지원 봇 둘 중 하나입니다. Career-Ops는 둘 다 아닙니다.
- 의사 결정 시스템이지, 지원 기계가 아닙니다. A-F 점수 엔진은 명확하게 거절하는 데 도움을 주도록 설계되었습니다. 설명서에는 4.0/5점 미만의 어떤 것에도 지원하지 말라고 명시되어 있습니다. 시스템은 사용자의 프로필과 일치하지 않는 제안에 플래그를 지정하여 시간을 낭비하지 않도록 합니다.
- 키워드가 아닌 적합성을 추론합니다. 블록 B는 키워드 중복을 세는 것이 아니라, 이력서와 채용 공고를 모두 이해하여 비교합니다. "Python 5년"을 요구하는 역할에 대해 Python 3년 경험과 실제 운영 중인 ML 시스템 경험이 있다면, 그 추론이 타당하다면 여전히 높은 점수를 받을 수 있습니다.
- 더 많은 컨텍스트를 제공할수록 개선됩니다. 첫 평가는 Claude가 아직 사용자를 모르기 때문에 정확하지 않을 것입니다. 프로필에 더 많은 증거 자료, 경력 스토리 및 선호도를 추가할수록 평가가 더욱 정교해집니다. 채용 담당자를 온보딩하는 것과 같다고 생각하십시오: 첫 주에는 사용자에 대해 배우고, 그 다음부터 유용해집니다.
- 모든 것이 로컬에 유지됩니다. 이력서, 지원서, 생성된 PDF; 모든 것이 기본적으로 gitignore 처리됩니다. Claude가 평가 및 검색을 위해 하는 API 호출을 제외하고는 아무것도 사용자의 컴퓨터를 벗어나지 않습니다.
알아야 할 제한 사항
- Claude Code 필요: Career-Ops는 Claude Code 전용 보일러플레이트입니다. 다른 모델이나 프론트엔드에서는 실행되지 않습니다. Claude Code 접근 권한이 있는 Anthropic 계정이 필요합니다.
- 일부 포털에서 Playwright가 불안정할 수 있음: 회사 채용 페이지는 HTML 구조를 정기적으로 변경합니다. Playwright 스캐너는 Greenhouse/Ashby/Lever 기반 포털(표준화된 API)에서는 잘 작동하지만, 사용자 지정 채용 페이지에서는 중단될 수 있습니다. 커뮤니티는 이러한 문제를 GitHub 이슈에서 추적합니다.
- 첫 평가는 보정이 필요: README에서 경고하는 것처럼, 처음 몇 번의 평가는 정확하지 않을 것입니다. 시스템은 사용자가 경력 스토리를 제공하기 전까지는 알지 못합니다. 점수를 신뢰하기 전에 프로필을 올바르게 구성하고 증거 자료를 추가하는 데 한 시간을 할애하십시오.
- 배치 모드는 `claude -p`를 사용: 병렬 워커는 대규모 배치에서 API 크레딧을 빠르게 소모할 수 있습니다. 50개 제안 배치를 처음 실행하기 전에 사용량을 확인하십시오.
AI 시스템이 제대로 작동하기 전에 왜 보정 시간과 컨텍스트가 필요한지에 대한 배경 지식은 [internal: how-ai-agent-memory-works]를 참조하십시오.
누구를 위한 도구인가
Career-Ops는 다음과 같은 개발자 및 기술 전문가를 위해 만들어졌습니다.
- 적극적으로 구직 중이며 수동 추적에 지친 사람
- 특히 AI 회사 역할에 지원하는 사람 (포털 목록은 의도적으로 AI 회사에 중점을 둠)
- 대량 지원 자동화가 아닌 평가 및 의사 결정 지원을 위해 AI를 사용하려는 사람
- CLI 도구를 실행하고 YAML 파일을 편집하는 데 익숙한 사람
GUI를 찾는 비기술 사용자나 실제 지원 제출을 자동화하려는 사람에게는 적합하지 않습니다. 시스템은 절대 지원서를 제출하지 않습니다. 그 결정은 항상 사용자에게 달려 있습니다.
시작하기
저장소를 복제하고, 이력서를 추가하고, Claude를 사용하여 프로필을 구성하는 데 한 시간을 투자한 다음, 정말 관심 있는 역할에 대해 첫 평가를 실행해 보세요. 보정 과정은 빠르게 보상을 가져다줄 것입니다.
GitHub: github.com/santifer/career-ops
이 프로젝트는 MIT 라이선스입니다. 커뮤니티 기여를 환영하며, PR을 제출하기 전에 이슈를 열어주세요.
결론
Career-Ops는 현재 사용 가능한 가장 완벽한 오픈 소스 구직 파이프라인입니다. A-F 점수 시스템, ATS PDF 생성, 병렬 배치 처리, Go TUI 대시보드는 각각 개별적으로 유용합니다. 적절하게 보정된 프로필과 결합되면, 가차 없이 필터링하고 합리적인 경우에만 지원하도록 돕는 워크플로를 제공합니다.
핵심 통찰력은 옳습니다: 구직은 정보 문제입니다, 양의 문제가 아닙니다. Career-Ops는 그것을 그렇게 다룹니다.
자주 묻는 질문
Career-Ops는 비용이 드나요? 도구 자체는 무료이며 MIT 라이선스입니다. Claude API 사용량에 따라 비용을 지불하며, 이는 생성하는 평가 및 PDF의 수에 따라 달라집니다. 단일 전체 평가(평가 + PDF + 추적기 항목)는 이력서 및 채용 공고 길이에 따라 일반적으로 10,000-30,000 토큰을 사용합니다. Claude 3.5 Haiku 가격($0.25/1M 입력, $1.25/1M 출력)으로 보면, 전체 평가 비용은 $0.05 미만입니다.
Claude 외 다른 모델과 함께 사용할 수 있나요? 직접적으로는 안 됩니다. Career-Ops는 Claude Code 보일러플레이트로 구축되었습니다. 모드와 공유 컨텍스트 파일은 Claude의 도구 사용 기능을 위해 작성되었습니다. 다른 모델로 포팅하려면 스킬 정의를 다시 작성해야 합니다.
ATS 최적화는 어떻게 작동하나요? Career-Ops는 채용 공고를 읽고, ATS 시스템이 스캔하는 필수 기술과 키워드를 추출하며, 경험 요약(bullet)을 다시 작성하여 해당 키워드가 자연스럽게 드러나도록 합니다. 경험을 조작하지 않으며, 역할에 사용되는 언어로 기존 경험을 재구성합니다. HTML 템플릿은 Playwright를 통해 ATS에 안전한 글꼴(Space Grotesk, DM Sans)로 PDF로 렌더링됩니다.
스캐너는 어떤 채용 게시판을 지원하나요? Greenhouse, Ashby, Lever, Wellfound, Workable, RemoteFront를 직접 지원합니다. 이 플랫폼에 없는 회사의 경우, Playwright가 사용자 지정 채용 페이지를 탐색합니다. 커뮤니티 기여자들이 31개 DACH/유럽 회사를 추가했습니다. Claude Code가 다양한 API 표면을 어떻게 처리하는지에 대한 컨텍스트는 [internal: local-vs-api-ai-models]를 참조하십시오.
내 이력서 데이터는 안전한가요? 예. 모든 것이 기본적으로 로컬에 저장됩니다. 이력서, 지원서, 생성된 PDF 및 보고서는 모두 gitignore 처리됩니다. Claude가 평가 중에 수행하는 API 호출(Claude Code가 일반적으로 수행하는 것과 동일한 Anthropic의 API로 이동하는 호출)을 제외하고는 어떠한 제3자에게도 전송되지 않습니다. Claude Code가 데이터를 처리하는 방법에 대한 자세한 내용은 [internal: claude-code]를 참조하십시오.
내 회사를 포털 스캐너에 추가할 수 있나요? 예. `templates/portals.example.yml`을 `portals.yml`에 복사하고 원하는 회사를 추가하십시오. 해당 회사가 Greenhouse, Ashby 또는 Lever를 사용하는 경우, 스캐너는 표준 API를 통해 자동으로 이를 감지합니다. 사용자 지정 채용 페이지의 경우, 구성 파일에 Playwright 셀렉터를 정의할 수 있습니다.
전체 평가에는 얼마나 걸리나요? Claude 3.5 Sonnet을 사용한 PDF 생성과 함께 단일 제안 평가는 일반적으로 2-4분 소요됩니다. 병렬 워커를 사용하는 배치 모드에서는 10개의 제안이 1개의 제안과 거의 동일한 시간 내에 실행됩니다.
STAR+R 프레임워크는 무엇인가요? STAR(상황, 과제, 행동, 결과)는 표준 행동 면접 형식입니다. "+R"은 성찰(Reflection)을 의미합니다: 무엇을 다르게 했을지, 무엇을 배웠는지, 접근 방식이 어떻게 바뀌었는지. Career-Ops는 이것이 경력을 나타내기 때문에 이 열을 추가합니다. 고위 후보자들은 단순히 일어난 일을 설명하는 것이 아니라, 그로부터 배웠다는 것을 보여줍니다.
