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 구직 도구 — Claude Code로 공고 평가부터 면접 준비까지
Claude Code 기반 구직 프레임워크로, 채용 공고를 검색·평가하고 이력서와 자기소개서를 맞춤 작성하며 면접을 준비합니다. 프로필에 근거해 지원 자료를 만들고 PDF와 ATS 텍스트까지 검사하는 절차를 제공합니다. 덴마크 채용 사이트를 기본 지원하지만 포털과 문서 템플릿을 확장할 수 있습니다.
- 주제
에디터 노트
이 프로젝트의 실용성은 지원 자료 생성보다 그 전후의 검증과 기록 절차에 있습니다. 공고와 프로필을 대조하고, 별도 에이전트가 초안을 검토하며, PDF의 페이지 구성과 텍스트 추출까지 확인합니다. 특히 프로필에 없는 경력이나 기술을 끼워 넣지 않는다는 규칙은 자동 맞춤 지원서에서 발생하기 쉬운 과장을 줄이는 구체적인 장치입니다. 다만 제작자의 69건 지원과 20건 면접, 계약 체결은 프로젝트 설명에 적힌 개인 사례입니다. 이 수치만으로 다른 구직자에게 같은 결과를 기대할 근거는 없습니다. 개인 정보가 추적 대상 파일에 저장되고 공개 포크에 남을 수 있다는 점도 실제 배포 방식에 영향을 줍니다. 비공개 저장소 사용 안내와 외부 포털 도구의 코드 검토 절차가 함께 제시된 이유입니다.
AI 요약
ai-job-search는 Claude Code를 구직 작업에 맞게 구성한 오픈소스 프레임워크입니다. 프로필을 작성한 뒤 채용 공고를 검색하고 적합도를 평가하며, 지원할 공고를 고르면 이력서와 자기소개서를 작성하고 면접 준비까지 이어갑니다. 제작자는 이 도구로 맞춤 지원서 69건을 제출해 20건의 첫 면접을 거쳤고 계약을 체결했다고 설명합니다. 이는 제작자 개인의 구직 결과이며, 프로젝트는 Anthropic과 제휴하거나 공식 지원을 받지 않는다고 명시합니다.
기본 작업 흐름
/setup은 기존 이력서 등 문서를 읽거나, 이력서 내용을 가져오거나, 질문에 답하는 방식으로 지원자 프로필을 구성합니다. /scrape는 여러 구직 사이트에서 공고를 검색하고 중복을 제거해 적합도 순으로 보여줍니다. /rank를 쓰면 공고 여러 건을 기준에 따라 점수화해 우선순위를 정할 수 있습니다. /apply <URL>은 공고와 프로필을 비교하고 맞춤 이력서 및 자기소개서를 작성한 뒤 검토와 수정 과정을 거칩니다. URL을 가져오지 못하는 사이트에서는 공고 내용을 직접 붙여 넣을 수도 있습니다.
지원 자료는 LaTeX로 생성합니다. 이력서는 lualatex로 두 페이지, 자기소개서는 xelatex로 한 페이지에 맞춰 컴파일하고 렌더링 결과를 확인합니다. 페이지 넘김, 글꼴, 서명 위치 등을 점검한 뒤 수정하며, 선택 의존성인 pypdf 또는 pdftotext를 사용해 PDF의 텍스트 추출 상태와 ATS가 읽을 만한 순서인지도 검사합니다. 공고의 키워드와 지원자 프로필을 대조하되, 실제 경력으로 뒷받침되지 않는 키워드는 추가하지 않는다고 설명합니다. 초안 작성과 검토는 별도 Claude 에이전트로 나눠 진행합니다.
확장 명령과 지원 지역
/interview는 지원 기록과 면접 단계에 맞춘 준비 자료를 만들고 모의 면접을 진행합니다. /outcome은 지원 결과와 제출 자료를 보관하며, 일정 기간 응답이 없는 지원 건의 후속 연락 초안도 작성합니다. 이 초안은 직접 발송하지 않습니다. Gmail 상태 확인은 변경 사항을 먼저 제안한 뒤 사용자가 승인해야 기록합니다. 이 밖에도 Notion 읽기 전용 동기화, 지원 현황 HTML 대시보드, 프로필의 역량 보강, 기술 격차 분석과 학습 계획, 이력서 템플릿 등록 기능이 있습니다.
기본 포털 검색 도구는 덴마크 사이트인 Jobindex, Jobnet, Jobdanmark, Akademikernes Jobbank를 포함합니다. LinkedIn 공개 공고와 Freehire 검색 도구도 제공하며, /add-portal로 다른 지역의 채용 사이트용 검색 도구를 만들 수 있습니다. 포털 검색 도구는 정해진 폴더 구조와 명령 형식을 따르는 독립 모듈로 구성합니다. 이력서 템플릿도 LaTeX에 한정하지 않고, 명령줄에서 PDF를 만들 수 있는 도구를 등록할 수 있습니다.
설치와 개인정보
필요 환경은 Claude Code, Python 3.10 이상, Bun, LaTeX 배포판입니다. Claude Code는 무료 요금제가 없으며 Claude 구독이나 Anthropic API 사용료가 필요합니다. 프로젝트를 공개 저장소로 포크하면 개인 저장소로 바꿀 수 없습니다. /setup은 이름, 연락처, 경력, 희망 연봉 같은 개인 정보를 추적 대상 파일에 기록하므로, 개인 구직용으로는 원본 저장소를 upstream으로 둔 비공개 저장소를 따로 만들라고 안내합니다.
공고 내용은 신뢰할 수 없는 입력으로 취급하며 본문에 포함된 지시를 따르거나 본문 링크를 가져오지 않도록 설계했습니다. 다만 방어는 에이전트 지침 수준이며 샌드박스가 아닙니다. 외부 포털 도구도 사전 승인된 상태로 실행될 수 있어 코드를 확인하고 테스트한 뒤 사용하라고 설명합니다. LinkedIn 자동 접근은 서비스 약관 위반 가능성이 있으므로 개인 용도로 낮은 빈도로 사용하라는 안내도 포함합니다.
원문: GitHub / 번역·요약: Trawling