AI Job Search: Framework Tìm Việc Bằng AI Trên Claude Code
AI Job Search là framework chạy trên Claude Code: scrape tin tuyển dụng từ các job portal, chấm điểm phù hợp, soạn CV và cover letter bằng LaTeX, rồi để một agent thứ hai phản biện bản nháp trước khi gửi. Nên dùng nếu bạn đã dùng Claude Code hằng ngày, không ngại fork repo và chỉnh file Markdown để mô tả sự nghiệp. Bỏ qua nếu bạn muốn SaaS kiểu point-and-click, hoặc ở thị trường ngoài Đan Mạch và chưa muốn tự xây scraper riêng.
Tự Động Hóa Quá Trình Tìm Việc
Việc tùy biến CV và cover letter cho từng tin tuyển dụng, rồi phải kiểm tra lại xem file PDF xuất ra có bị hệ thống ATS đọc sai hay không, là phần hầu hết mọi người bỏ qua sau đơn ứng tuyển thứ hai. AI Job Search nhắm đúng vào lỗ hổng đó: tùy biến CV được xử lý như một bước compile-và-verify, không phải điền template một lần rồi thôi. Workflow trích text layer thật từ PDF bằng pdftotext và chấm điểm mức phủ từ khóa dựa trên đó, vì một CV LaTeX nhìn ổn trên màn hình vẫn có thể xuất ra text layer lỗi khi ATS đọc.
Tìm Hiểu AI Job Search Framework
AI Job Search là framework mã nguồn mở biến Claude Code thành trợ lý ứng tuyển: fork repo, điền hồ sơ, rồi để Claude đánh giá tin tuyển dụng, soạn CV và cover letter riêng cho từng vị trí bằng LaTeX, và chuẩn bị phỏng vấn. Phần lõi tự khai hồ sơ và pipeline drafter-reviewer không phụ thuộc ngôn ngữ hay quốc gia; các skill tìm việc đi kèm xây cho thị trường Đan Mạch và có thể thay bằng job portal của bạn.
Các Tính Năng Cốt Lõi Và Lệnh Workflow
- ✓/scrape tìm kiếm trên các job portal có sẵn (Jobindex, Jobnet, Akademikernes Jobbank, Jobdanmark, LinkedIn, freehire.me), loại bỏ kết quả trùng lặp và hiển thị các job phù hợp theo thứ tự fit.
- ✓/rank chấm điểm hàng loạt các tin vừa scrape theo năm tiêu chí đánh giá độ phù hợp bằng các agent chạy song song, gắn cờ deal-breaker và tin hết hạn, rồi trả về danh sách xếp hạng.
- ✓/apply chạy pipeline drafter-reviewer: đánh giá độ phù hợp, soạn CV và cover letter bằng LaTeX, tạo một agent Claude thứ hai với context mới để research công ty và phản biện bản nháp, rồi revise lại.
- ✓Vòng lặp verify PDF compile CV bằng lualatex và cover letter bằng xelatex, sau đó Claude kiểm tra trang render và sửa cho tới khi CV đúng 2 trang và cover letter đúng 1 trang.
- ✓Bước kiểm tra ATS trích text layer thật từ PDF CV đã compile bằng pdftotext, kiểm tra thông tin liên hệ, thứ tự đọc và mức phủ từ khóa đúng như cách một parser thật sự đọc, chứ không chỉ nhìn file .tex.
- ✓/interview dựng gói chuẩn bị theo từng vòng phỏng vấn từ archive của application đã track (đúng tin tuyển dụng, CV và cover letter mà nhà tuyển dụng đã đọc) và đưa ra buổi mock interview theo STAR examples của bạn.
- ✓/outcome lưu trữ tài liệu đã nộp cho từng application và cập nhật job_search_tracker.csv; /outcome followup soạn (không tự gửi) một follow-up ngắn cho các application im lặng quá 10 ngày mặc định.
- ✓/add-portal scaffold một skill tìm kiếm job portal mới cho thị trường ngoài Đan Mạch, còn /add-template đăng ký template CV hoặc cover letter riêng bằng LaTeX, Typst hoặc toolchain khác.
Ứng Dụng Thực Tế Cho Người Tìm Việc
- •Một developer đã quen dùng Claude Code hằng ngày chạy /scrape trên bốn job portal Đan Mạch cộng LinkedIn mỗi tuần rồi chọn job phù hợp để /apply trực tiếp.
- •Người tìm việc ngoài Đan Mạch dùng /add-portal để scaffold một skill tìm kiếm cho job portal địa phương của mình trước khi chạy phần còn lại của workflow y nguyên.
- •Trước một buổi phỏng vấn đã lên lịch, /interview lấy đúng CV, cover letter và tin tuyển dụng mà nhà tuyển dụng đã đọc rồi chạy mock interview dựa trên STAR examples của bạn.
- •/upskill so sánh hồ sơ của bạn với các application đã track và các tin đã /rank nhưng chưa track để đưa ra heatmap khoảng cách kỹ năng theo mức ưu tiên cùng kế hoạch học giữa các đợt ứng tuyển.
- •/html-report tạo lại dashboard offline độc lập từ job_search_tracker.csv sau mỗi lần /outcome cập nhật, kèm biểu đồ status, sector, channel và funnel.
Cài Đặt Môi Trường AI Job Search
Cài đặt được README ghi rõ thành ba bước. Đầu tiên, fork và clone: `gh repo fork MadsLorentzen/ai-job-search --clone`. Thứ hai, cài dependency cho từng CLI job portal bằng cách chạy `bun install` lần lượt trong `.agents/skills/<tool>/cli` cho jobbank-search, jobdanmark-search, jobindex-search, jobnet-search, linkedin-search và freehire-search; hai tool cuối không có runtime dependency nên bước này là tùy chọn với chúng. Thứ ba, chạy `claude` rồi gõ `/setup` bên trong Claude Code để dựng hồ sơ của bạn. Ngoài repo, bạn cần: Claude Code CLI, Python 3.10+, Bun, và một bản phân phối LaTeX có `lualatex` và `xelatex` (TeX Live, MacTeX, TinyTeX hoặc MiKTeX) — CV compile bằng lualatex vì pdflatex hay lỗi trên các bản MiKTeX mới với lỗi font-expansion của fontawesome5, còn cover letter cần xelatex vì cover.cls yêu cầu fontspec. `pdftotext` từ poppler là tùy chọn; thiếu nó thì bước kiểm tra ATS chỉ hạ xuống thành review từ khóa bằng mắt.
Chạy Workflow Ứng Tuyển
Khi hồ sơ đã có, vòng lặp hằng ngày chỉ gồm ba lệnh. Chạy `/scrape` để tìm trên các portal đã cấu hình và nhận về các job xếp theo fit — hoặc đẩy một đợt scrape lớn qua `/rank` trước để có shortlist xếp hạng trước khi ngồi xem từng job. Sau đó chạy `/apply https://jobindex.dk/job/1234567` trên một tin cụ thể, hoặc dán thẳng nội dung tin tuyển dụng nếu portal chặn fetch tự động. `/apply` đánh giá độ phù hợp, soạn CV và cover letter, để một agent thứ hai phản biện bản nháp, revise lại, compile và kiểm tra bằng mắt cả hai file PDF, chạy kiểm tra text layer ATS, rồi đưa ra checklist xác minh cuối cùng. Tin tuyển dụng được coi là input không đáng tin — workflow không làm theo chỉ dẫn nhúng trong tin và không fetch link từ nội dung tin, dù README nói rõ đây là cơ chế phòng vệ ở mức instruction, không phải sandbox, nên bạn vẫn được nhắc lướt qua output trên một job board lạ trước khi gửi. Sau khi có kết quả, `/outcome` ghi lại và `/interview` dựng phần chuẩn bị từ application đã lưu trữ.
Điểm Mạnh
- ✓Cơ chế drafter-reviewer nghĩa là một agent Claude thứ hai, chạy với context mới, research công ty và phản biện CV cùng cover letter của bạn trước khi bạn thấy bản cuối — không chỉ là chính agent đó tự đọc lại bài mình viết.
- ✓Vòng lặp verify PDF bắt được các lỗi layout thường gặp ở hầu hết template resume LaTeX: tiêu đề công việc bị đẩy sang trang khác, cover letter tràn sang trang 2, font bullet âm thầm rơi về font mặc định.
- ✓Bước kiểm tra ATS đọc text layer thật của PDF đã compile qua pdftotext thay vì giả định file .tex chính là thứ parser nhìn thấy, và gắn cờ khoảng trống từ khóa thay vì nhồi nhét vào.
- ✓Cơ chế cắt CV theo trọng số liên quan chấm từng dòng bullet theo độ liên quan với tin tuyển dụng, tính duy nhất, và việc cover letter có phụ thuộc vào dòng đó hay không, nên một dòng cũ nhưng trúng từ khóa vẫn sống sót trước một dòng gần đây nhưng chung chung khi CV tràn quá hai trang.
- ✓Mười lệnh mở rộng ngoài ba lệnh lõi bao phủ phần còn lại của quá trình tìm việc — chuẩn bị phỏng vấn, theo dõi kết quả, đồng bộ trạng thái qua Gmail, view Notion chỉ đọc, và phân tích khoảng cách kỹ năng — chứ không dừng lại ở việc tạo CV.
Những Điều Cần Lưu Ý Và Giới Hạn Hiện Tại
- △Các skill tìm kiếm job portal đi kèm (Jobindex, Jobnet, Akademikernes Jobbank, Jobdanmark) chỉ phủ thị trường Đan Mạch; ở nơi khác bạn phải tự scaffold bằng /add-portal trước khi /scrape có ích với bạn.
- △LaTeX toolchain là yêu cầu thật sự, không phải tùy chọn cho vui: bạn cần lualatex và xelatex từ một bản phân phối TeX đầy đủ hoặc tối giản, cài đặt và chạy được trước khi /apply có thể ra file PDF.
- △Bước kiểm tra khả năng đọc ATS phụ thuộc vào pdftotext từ poppler; thiếu nó, bước kiểm tra âm thầm hạ xuống thành review từ khóa bằng mắt thay vì đọc text layer thật của PDF.
- △Một số job portal chặn fetch URL tự động, nên đôi khi /apply cần bạn dán tay nội dung tin tuyển dụng thay vì fetch từ link.
- △Đây là dự án một tác giả, dựng quanh chính quá trình tìm việc của người maintain, không phải sản phẩm do một team duy trì, nên support và roadmap phụ thuộc vào một người.
Các Công Cụ Tìm Việc Bằng AI Khác
Câu Hỏi Thường Gặp
AI Job Search chạy trên Claude Code làm agent runtime; các command và skill trong repo là các file Markdown hướng dẫn Claude Code thực thi, và README không ghi rõ một phiên bản Claude model cụ thể nào.
README hướng người dùng các agent tool khác (Codex, Antigravity, Gemini CLI) tới AGENTS.md, nơi các skill tìm kiếm job portal chạy được ngay; toàn bộ workflow được các community fork liên kết từ một GitHub discussion điều chỉnh lại.
AI Job Search phát hành theo giấy phép MIT, cho phép sử dụng thương mại. README cũng ghi riêng rằng dự án không có cryptocurrency, token hay chương trình tài trợ trả phí nào liên kết.
AI Job Search đi kèm các skill tìm kiếm cho thị trường Đan Mạch (Jobindex, Jobnet, Akademikernes Jobbank, Jobdanmark) cộng LinkedIn và freehire.me; lệnh /add-portal scaffold một skill mới cho job board khác.
AI Job Search hỗ trợ template tùy chỉnh qua lệnh /add-template, đăng ký một template LaTeX, Typst hoặc toolchain khác thay cho template mặc định, và chạy test compile trước khi gắn vào /apply.
AI Job Search không bịa kỹ năng hay kinh nghiệm: README nói mọi claim trong CV và cover letter đều được verify dựa trên hồ sơ thật của bạn, và các khoảng trống được trả lời trung thực trong lúc chuẩn bị phỏng vấn thay vì bịa kinh nghiệm.
Nên dùng AI Job Search khi nào — và khi nào nên bỏ qua
Nên thử AI Job Search nếu bạn đã dùng Claude Code hằng ngày, không ngại fork repo và chỉnh file Markdown, LaTeX để mô tả sự nghiệp, và muốn cả pipeline ứng tuyển được script hóa từ đầu đến cuối thay vì tùy biến CV bằng tay mỗi lần. Nên bỏ qua nếu bạn muốn một sản phẩm hosted kiểu point-and-click không cần cài đặt, bạn ứng tuyển ngoài Đan Mạch và chưa muốn tự xây skill portal bằng /add-portal trước, hoặc bạn không muốn cài cả một bản phân phối LaTeX chỉ để tạo resume.
