MadsLorentzen/ai-job-search

The job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.

AI Job Search – AI 기반 구인 지원 보조 도구

무엇인가요 – Claude Code(Anthropic의 코드 보조 모델)를 추론 엔진으로 사용하여, 자신의 컴퓨터에서 전체 구인 활동 흐름을 실행할 수 있는 명령줄 프레임워크입니다. 개인 프로필을 입력하면 다음 작업이 가능합니다.

  1. 스크래핑 – 현재 덴마크 포털과 LinkedIn, freehire.me를 대상으로 구인 정보를 수집하고, 적합도 평가 기준에 따라 순위를 매깁니다.
  2. 지원 – 선택한 공고에 지원: 모델이 적합도를 평가하고, LaTeX로 CV와 커버레터 초안을 작성하며, 리뷰어 에이전트를 실행하여 초안을 검토하고, PDF가 엄격한 레이아웃 규칙을 충족할 때까지 반복 처리한 후 ATS 읽기 가능성을 검사합니다.
  3. 면접 준비 – 기업 정보를 가져와 예상 질문을 자신의 STAR 예시에 매핑하고, 준비 팩을 생성하는 모의 면접 흐름을 제공합니다.
  4. 결과 추적 – 면접 단계, 오퍼, 거절 기록을 남기고, 정중한 후속 메일을 자동으로 초안 작성합니다.
  5. 동기화 – 파이프라인을 Notion이나 Gmail에 동기화하고, 오프라인 HTML 대시보드를 생성하며, 식별된 기술 격차를 기반으로 업스킬 계획을 제안할 수 있습니다.

왜 중요한가요 – 대부분의 AI 기반 이력서 도구는 일회성 생성기에 불과합니다. 이 프로젝트는 검색 → 적합도 평가 → 초안 작성 → 검토 → ATS 검증 → 결과 추적까지의 전체 엔드투엔드 워크플로우를 재현 가능한 CLI 명령어로 통합하며, 검증 가능한 출력(PDF 컴파일 체크, 허위 주장 없음)에 강조를 두고 있습니다.


빠른 시작 개요 (README에서)

  1. 포크 및 클론 – 개인 데이터를 공개 리포지터리에 두고 싶지 않다면, 개인 포크를 유지하세요.
  2. 구인 검색 도구 설치 – 관심 있는 각 포털에 대해 Bun 기반 CLI 스크래퍼를 설치합니다.
  3. Claude Code 내에서 /setup 실행 – CV, LinkedIn 내보내기, 학위 증명서 등을 가져오거나, 면접 형식의 질문에 답변합니다. 이 과정에서 이후 모든 명령어에서 사용되는 구조화된 CLAUDE.md 프로필이 생성됩니다.
  4. /scrape로 검색 – 내장된 포털을 쿼리하고, 중복을 제거한 후 적합도 점수 순으로 정렬된 목록을 반환합니다.
  5. /apply <job‑url> (또는 전체 설명 붙여넣기)로 지원. 시스템은 다음을 수행합니다:
    • 공고 분석
    • 적합도 평가
    • LaTeX로 CV + 커버레터 초안 작성
    • 리뷰어 에이전트 실행
    • PDF가 깨끗한 상태(2페이지 CV, 1페이지 커버레터)가 될 때까지 반복
    • ATS 텍스트 추출 검사 실행
    • 최종 문서와 체크리스트 제시
  6. 옵션 기능/interview (모의 면접), /outcome (결과 기록), /rank (스크래핑된 공고 일괄 평가), /upskill (학습 계획 제안), /html-report (로컬 대시보드), /notion-sync/gmail-sync (실시간 보기)

핵심 구성 요소 (파일 트리 요약)

  • .claude/commands/ – 각 CLI 명령어(apply.md, setup.md, interview.md 등)의 Markdown 정의. Claude Code가 워크플로우를 실행하기 위해 읽습니다.
  • .claude/skills/ – 프롬프트 라이브러리:
    • job-application-assistant/에는 후보자 프로필 스키마, 글쓰기 스타일 가이드, 평가 기준, LaTeX 템플릿 사양이 포함되어 있습니다.
    • job-scraper/는 포털 쿼리를 조율합니다.
    • upskill/는 기술 격차 분석을 수행합니다.
  • .agents/skills/ – 각 지원되는 구인 포털용 작은 Bun 기반 스크래퍼(예: jobindex-search). bun install로 설치 가능합니다.
  • cv/cover_letters/ – LaTeX 소스 파일(moderncv 템플릿, 커스텀 cover.cls). 프레임워크는 각 지원마다 실시간으로 컴파일합니다.
  • documents/ – 개인 자료(예: PDF CV, LinkedIn 내보내기, 학위 증명서, 이전 지원서). /setup는 이 폴더를 자동으로 읽습니다.
  • job_search_tracker.csv – 모든 지원 기록, 상태, 적합도 점수를 기록하는 간단한 스프레드시트. /html-report 및 동기화 명령어에서 사용됩니다.
  • 유틸리티 스크립트 (salary_lookup.py, 다양한 tools/*.py) – 급여 기준 비교, CI 린팅, PDF 검증, 보안 검사 등의 도우미입니다.

전제 조건 (목록에 따름)

  • Claude Code CLI (유일하게 지원되는 LLM 도구. 다른 에이전트는 AGENTS.md를 통해 가능).
  • Python 3.10+.
  • Bun (포털 스크래퍼 CLI용).
  • 완전한 LaTeX 디스트리뷰션 (lualatex로 CV, xelatex로 커버레터). SETUP.md에 기재된 추가 패키지를 추가하면 TinyTeX도 사용 가능.
  • 선택 사항: pypdf (또는 시스템 poppler 유틸리티) – ATS 텍스트 추출 단계용.

누구에게 적합한가

  • Claude Code를 이미 사용하고 있으며, 웹 서비스가 아닌 재현 가능한 로컬 실행 파이프라인을 원하는 구직자.
  • CLI 도구에 익숙한 개발자로, 스크래핑 기술이나 LaTeX 템플릿을 커스터마이징하고 싶은 사람.
  • 경험을 위조하지 않는 투명하고 감사에 적합한 AI 어시스턴트를 원하는 사람.

제한 사항 및 주의사항 (README에서)

  • 워크플로우는 스크래핑된 구인 페이지를 사전에 격리하지 않습니다. 응모 전에 가져온 콘텐츠를 미리 확인해야 합니다.
  • 프로필 데이터는 추적 가능한 파일에 기록됩니다. 정보를 공개하고 싶지 않다면 포크를 개인용으로 유지하세요.
  • 현재 포털 스크래퍼는 덴마크 시장에 최적화되어 있습니다. 새로운 포털을 추가하려면 /add-portal을 통해 새로운 스킬을 생성해야 합니다.
  • 시스템은 Claude Code에 의존하며, 사용료와 레이트 제한은 Anthropic 계정의 규정에 따릅니다.

결론

ai-job-search는 LLM 프롬프팅, 웹 스크래핑, LaTeX 문서 생성, 워크플로우 자동화를 결합한 진정한 오픈소스 프로젝트로, 자체 호스팅 가능한 AI 구인 지원 어시스턴트를 제공합니다. 위에서 설명한 모든 기능은 리포지터리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.

이 프로젝트를 다룬 글

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트