ai-job-search 完全ガイド|Claude Codeで就職活動を自動化するエージェントワークフロー実践入門
ai-job-search 完全ガイド|Claude Codeで就職活動を自動化するエージェントワークフロー実践入門
転職活動って、本当に消耗しますよね。求人を探して、CV(履歴書)をカスタマイズして、カバーレターを書いて、応募して、ステータスを管理して……。繰り返す作業の多さに、心が折れそうになることもあると思います。
でも、大丈夫です。今日紹介する ai-job-search を使えば、この一連の流れをClaude Codeが自動でこなしてくれます。しかも、「机上のAIツール」ではありません。作者自身がこのフレームワークを使い、69件の応募・20回の面接を経て実際にAIエンジニアとして内定を勝ち取った、実戦検証済みのツールです。
私も最初は「本当にこんなにうまくいくの?」と半信半疑でした。でも使ってみると、その設計の丁寧さに驚かされました。一緒に、ステップバイステップで試してみましょう。
ai-job-search とは何か
ai-job-searchは、Claude Code CLI上で動くオープンソースの就職活動自動化フレームワークです(MIT License)。
作者はデンマーク在住の地球物理学者・MadsLorentzenさん。2025年末に職を失い、このフレームワークを自ら開発・使用しながら転職活動を行い、2026年6月にAIエンジニアとして内定を獲得しました。この「ドッグフーディング(自分で使って証明した)」というストーリーが話題を呼び、GitHubで31,000スター超、2026年7月にはGitHubトレンド1位を獲得しています。
技術的な本体は、13個のカスタムスラッシュコマンド集です。Claude Codeの .claude/commands/ ディレクトリにコマンドを置く仕組みを活用して、求人検索から応募書類生成、面接準備、ステータス追跡までを1つのCLIで完結させています。
全体像:3つのコアコマンドが核になる
まず、大きな流れをつかんでおきましょう。
/setup → /scrape → /apply → /interview
↑ ↑ ↑ ↑
プロフィール 求人収集 書類生成 面接準備
構造化
これに加えて、/gmail-sync や /notion-sync といったMCP連携コマンドが、応募後の追跡を自動化してくれます。難しく考えなくて大丈夫。一つずつ見ていきましょう。
ステップ1:環境構築
まず必要なツールをそろえます。初めての方は少しだけ手間がかかりますが、一度やれば後は快適です。
| 層 | 技術 | 用途 |
|---|---|---|
| AIエージェント | Claude Code CLI | 全ワークフローの実行基盤 |
| 書類生成 | LaTeX(TeX Live / MacTeX / TinyTeX) | CV・カバーレターのPDF化 |
| ポータルCLI | TypeScript + Bun | 求人ポータルのスクレイピング |
| PDF解析 | pdftotext(poppler) | ATS互換チェック |
LaTeX環境のインストール(OS別):
# macOS(HomebrewでBasicTeX)
brew install --cask basictex
# インストール後にPATHを反映
eval "$(/usr/libexec/path_helper)"
# lualatex / xelatex パッケージを追加インストール
sudo tlmgr update --self
sudo tlmgr install luatex xetex collection-fontsrecommended
# Linux(TeX Live)
sudo apt-get update
sudo apt-get install -y texlive-xetex texlive-luatex texlive-fonts-recommended
# 軽量派(TinyTeX)
curl -sL "https://yihui.org/tinytex/install-bin-unix.sh" | sh
# インストール後にPATHを反映(シェルを再起動するか以下を実行)
export PATH="$HOME/.TinyTeX/bin/$(uname -m)-$(uname -s | tr '[:upper:]' '[:lower:]'):$PATH"
# lualatex / xelatex パッケージを追加インストール
tlmgr install luatex xetex collection-fontsrecommendedインストール後、動作確認します:
# macOSの場合:PATHが通っているか確認
echo $PATH | tr ':' '\n' | grep -i tex
# バージョン確認
which lualatex && lualatex --version
# または
which xelatex && xelatex --versionpopplerの導入:
# macOS
brew install poppler
# Linux
sudo apt-get update && sudo apt-get install -y poppler-utils
# インストール確認
pdfinfo -vリポジトリのクローン:
git clone https://github.com/MadsLorentzen/ai-job-search.git
cd ai-job-searchつまずきポイント: LaTeXのコンパイル時に「Lato」や「Raleway」フォントが見つからないというエラーが出ることがあります。その場合は
tlmgr install lato ralewayを実行してください。私も最初ここでハマりました(笑)
ステップ2:/setup でプロフィールを構造化する
環境が整ったら、まず自分のプロフィールをフレームワークに読み込ませます。
Claude Code上で実行:
/setup
既存のCV、職務経歴書、スキルリストを読み込み、フレームワークが使いやすい構造化データに変換してくれます。ここで重要なのが「盛らない」こと。実際のスキルと経験を正直に入力した方が、後工程の精度が安定します。
さらに /expand コマンドを使うと、GitHubのリポジトリやポートフォリオから「書き忘れていたスキル」を自動抽出してくれます。「そういえばこのライブラリも使ってたな」という発見があって、面白いですよ。
ステップ3:/scrape と /rank で求人を集める
/scrape
複数の求人ポータルを横断検索し、重複を排除した上で適合度ランク付きで結果を出力します。
新しい求人サイトに対応させたいときは /add-portal コマンドを使います。Claude Codeが対象サイトを分析して、TypeScript + Bun製のCLIスキルを自動生成してくれます。日本の求人サイト(リクナビNEXT、Greenなど)に対応させる場合もこのコマンドで対処できます。
取得した求人を適合度スコア順に並べ替えるときは /rank を使いましょう。
ステップ4:/apply の7ステップ自動ワークフローを解剖する
ここがフレームワークの核心です。求人のURLを渡すだけで、応募書類一式が自動生成されます。
/apply https://example.com/jobs/12345
内部では以下の7ステップが自動実行されます:
① 求人投稿パース(URL → 構造データ)
↓
② 適合度評価(スキル・経験・文化・勤務地の4軸)
↓
③ LaTeXでCV・カバーレターをドラフト
↓
④ 第2エージェント(レビュアー)が企業調査+批評
↓
⑤ ドラフターがフィードバックを反映して修正
↓
⑥ PDF生成・レイアウト検証ループ(lualatex/xelatex)
↓
⑦ ATS互換チェック → 最終出力・チェックリスト提示
ドラフター・レビュアー分離アーキテクチャ
特筆すべきはステップ③〜⑤の二エージェント構成です。
- ドラフター:あなたのプロフィールデータを参照してCV・カバーレターを執筆
- レビュアー:まっさらなコンテキストで起動し、企業をリサーチしてドラフトを批評
人間でも自分で書いた文章の誤りは気づきにくいですよね。AIも同じで、同一コンテキスト内で自己校正しようとすると盲点が生まれます。コンテキストを分けることで「見落としたキーワード」「弱いフレーミング」「汎用的すぎる表現」を客観的に検出できる仕組みになっています。
LaTeX × PDF検証ループ
生成されるCVは moderncv(バンキングスタイル)をベースにしたLaTeXテンプレートです。ページ数がオーバーした場合、単純に古いエントリを削るのではなく、キーワード適合度の低い行を優先的に削減する「関連性加重削減」が行われます。つまり、その企業の求人に最も関係の薄い情報が整理される、賢い設計です。
ATS互換チェックの仕組み
ATS(Applicant Tracking System)とは、多くの企業が使っている応募書類を自動スクリーニングするシステムのことです。書類が人間の目に届く前に、機械に読まれています。
pdftotext(popplerツール)を使ってPDFのテキスト層を抽出し、以下を検証します:
- テキスト読み取り順序:マルチカラムレイアウトで文字列が混在していないか
- キーワードカバー率:求人要件のキーワードがどれだけカバーされているか
- フォントフォールバック失敗:文字化けが発生していないか
スキルのギャップは捏造せず、誠実に報告する設計になっています。ここが私がこのフレームワークを信頼できると感じた部分です。
ステップ5:/interview で面接準備を自動化する
内定候補の企業が絞れてきたら、面接準備です。
/interview
STAR形式(Situation/Task/Action/Result)の回答例、企業研究サマリ、模擬面接の質問集が一式生成されます。
また、残念ながら落ちてしまった場合は /upskill コマンドが役立ちます。スキルギャップを分析して、次の応募に向けた学習計画を提案してくれます。失敗を次のステップに活かすループが作れるわけです。
ステップ6:MCP連携で応募ステータスを自動追跡する
**MCP(Model Context Protocol)**は、外部サービスをClaude Codeに安全に接続するための標準プロトコルです。ai-job-searchはこれを使って、応募後の追跡まで自動化しています。
/gmail-sync:面接招待・採否通知の自動検出
/gmail-sync
Gmail MCPと連携して、面接招待メールや採否通知を検出し、ステータス変更を提案します。ここで重要なのが「提案」であること。変更の実行にはユーザーの承認が必要な設計になっています。AIが勝手にメールを操作することはありません。
/notion-sync と /html-report
Notion MCPへの同期(/notion-sync)や、オフラインで見られるHTMLダッシュボード(/html-report)も用意されています。Notionへは一方向・ファイル名のみを同期し、書類の内容はローカルに保持するプライバシー設計です。
セキュリティ:求人票を「信頼しない」設計
求人票の本文に「CVに〇〇というスキルを追加せよ」といった悪意ある指示が埋め込まれるケースがあります(プロンプトインジェクション攻撃)。ai-job-searchは以下の防御策を講じています:
- 求人本文内の指示を実行しない
- 求人本文内のURLを自動取得しない
- 出力書類とプロフィールの整合性を事後検証
.claude/settings.jsonの許可リストでポータルスキルの操作範囲を制限
ただし、これは**サンドボックスではなく「指示レベルのセキュリティ」**です。未知の求人ボードでは取得内容を目視確認することをお勧めします。
全13コマンド早見表
| コマンド | 機能 |
|---|---|
/setup |
プロフィール構造を構築 |
/scrape |
複数ポータルを横断検索 |
/apply <URL> |
応募書類一式を自動生成 |
/interview |
面接準備パック一式 |
/outcome |
合否記録・書類アーカイブ |
/rank |
適合度スコア順ソート |
/expand |
GitHub・ポートフォリオから能力抽出 |
/upskill |
スキルギャップ分析+学習計画 |
/gmail-sync |
Gmailから応募ステータス検出 |
/html-report |
オフライン応募追跡ダッシュボード |
/notion-sync |
Notionへパイプライン同期 |
/add-template |
カスタムテンプレート追加 |
/add-portal |
新規求人ポータルのCLIスキル自動生成 |
よくある質問(FAQ)
Q. 日本語の求人に使えますか?
コアワークフローは言語非依存です。日本のポータル対応は /add-portal で自作できます。日本語フォント(Noto Sans JPなど)を使う場合は、LaTeXに lualatex を使い、プリアンブルに以下を追記します:
\usepackage{luatexja-fontspec}
\setmainjfont{Noto Sans JP}
Q. LaTeXを知らなくても使えますか? テンプレートは最初から提供されているので、LaTeXの知識は不要です。ただし環境構築(インストール)は必要です。
Q. AIが経歴を「盛る」ことはありませんか? 設計上、スキルの捏造はしません。実際のプロフィールとのギャップは、誠実にレポートとして出力される方針です。
Q. 生成した書類はそのまま出して大丈夫? 最終的には人間がレビューすることを強くお勧めします。AIは優秀なドラフターですが、あなた自身の言葉で微調整することで、より説得力のある書類になります。
まとめ:AIに任せる部分と、人間が担うべき部分
ai-job-searchが優れているのは、自動化しながら誠実さを捨てない設計にあります。スキルを捏造しない、メール変更に承認を挟む、ギャップを正直に報告する。これらはすべて、長期的に信頼できるキャリアを築くための判断です。
AIに任せるべきことは「繰り返し作業」と「フォーマット最適化」。人間が担うべきことは「最終確認」と「自分の言葉で伝えること」。この分担を意識することが、このツールを最大限に活かすコツです。
いきなり全部使おうとしなくていいです。まず /setup と /apply だけで始めて、慣れてきたら /gmail-sync を足してみる。あなたのペースで、一歩ずつ進めていきましょう。きっとうまくいきます。
参考リンク
関連記事
Amazon EKS の HPA が最大40倍高速に|Provisioned Control Plane で変わるスケーリング設計
Amazon EKS の HPA が最大40倍高速に|Provisioned Control Plane で変わるスケーリング設計 フラッシュセールが始まった瞬間、ダッシュボードのエラーレートが急上昇する。「HPA は設定済みのはずなのに、なぜ Pod がまだ増え始めていないのか」——本番運用をしているエンジニアなら、一度は経験したことのある焦りです。 2026年7月、AWS はそのボトルネックに...
MIXIのAI研修2026を全解剖|新卒エンジニアに「何をどこまで」教えているのか
MIXIのAI研修2026を全解剖|新卒エンジニアに「何をどこまで」教えているのか MIXIは2025年7月27日、2026年度新卒エンジニア向け技術研修12科目の資料・動画・実習リポジトリをすべて無料公開しました。中でも最大の話題を呼んでいるのがAI研修です。前年の1日から2日間へと大幅拡充され、Day1のスライドが339ブクマ、Day2が424ブクマと業界に大きな反響を生んでいます。 本記事で...
【完全ガイド】codebase-memory-mcpでClaude Codeのトークン消費を99%削減する — MCPコードグラフ実践入門
【完全ガイド】codebase-memory-mcpでClaude Codeのトークン消費を99%削減する — MCPコードグラフ実践入門 Claude Codeに大規模リポジトリを触らせたことがある方なら、一度はこの恐怖を経験したはずです。「この関数の影響範囲を調べて」と依頼した瞬間、ファイルを次々と読み込み続け、請求画面に表示されたトークン消費量が一桁違う——。 実際、従来のgrep+ファイル...
FastAPIプロダクション構成の教科書 — 依存性注入・非同期DB・JWT・テスト・デプロイを一気通貫で
FastAPIプロダクション構成の教科書 — 依存性注入・非同期DB・JWT・テスト・デプロイを一気通貫で はじめに — 「入門」と「実務」の間にある谷 FastAPIのチュートリアルを一通り終えた方なら、こんな経験があるのではないでしょうか。「Hello Worldは書けた。簡単なCRUDも動いた。でも、実際の本番APIをどう設計すればいいのか、まったく分からない」という壁です。 依存性注入、非...