Claude Codeが変えたのは「コードを書けるか」ではない。「自分の業務を、相棒に渡せる言葉にできるか」だ。
Claude Codeで採用管理ツールを0から作る — HR担当者の実践記録
金曜の夜、デスクトップに「採用管理_最新.xlsx」「採用管理_最新_v2.xlsx」「採用管理_本当に最新.xlsx」が並んでいた。どれが本物か、もう自分でも分からない。月曜にはまた面接が入っている。
その週末、Claude Codeに「これをWebアプリにして」と話しかけてみた。3日後、Excelのコピーは消えた。
私はエンジニアではない。HTMLを少しいじれる程度で、JavaScriptもPythonも業務で書いたことはなかった。それでも動くものができた。これは、その3日間で相棒に何を渡し、何を学んだかの実況記録だ。
なぜ既存のATSを使わなかったのか
候補者が少人数規模の採用では、市販ATSの月額費用が割高になることが多い。求人媒体ごとに来るExcelフォーマットが違い、社内の選考管理はコピペと関数の組み合わせで回っていた。
「作ったほうが安い、そして使いやすい」という判断でClaude Codeを試した。
作ったもの
シンプルな採用管理Webアプリ:
- 候補者一覧 — 氏名・応募職種・現在の選考段階・担当者・最終更新日
- 選考ステータス管理 — 書類選考/一次/二次/最終/内定/入社/辞退 の7段階
- コメント欄 — 各選考段階のメモ。面接後に記録する
- 検索・フィルタ — 選考段階別、担当者別に絞り込める
データはGoogleスプレッドシートに保存(IT部門への承認が不要な最短経路)。フロントエンドはGitHub Pagesで公開し、社内ネットワークからのみアクセス可能にした。
完成まで: 3日間、合計約8時間。相棒と隣り合って交わした対話の積み重ねだ。
実際の進め方
Step 1: 要件を日本語で書き出す(1時間)
Claude Codeを開く前に、紙に書いた:
- 今Excelで何を管理しているか(列の一覧)
- 誰が使うか(採用担当少数名、面接官は読むだけ)
- どんな操作が毎日必要か(ステータス更新、コメント追加、一覧確認)
- セキュリティ要件(社内のみアクセス可、候補者の個人情報あり)
この整理が後の指示の質を決める。「採用管理ツールを作って」だけでは曖昧すぎる。
Step 2: 最小の動くものから始める(2時間)
最初の指示:
候補者一覧を表示するWebページを作ってください。
データはGoogleスプレッドシートから読み込みます。
表示する列: 氏名、応募職種、選考段階、担当者
選考段階はボタンで変更できるようにしてください。
Claude Codeが出してきたコードをそのままHTMLファイルに貼って、ブラウザで開いた。動いた。
ここで重要なのは、完璧を求めずに動くかどうかだけを確認すること。見た目が崩れていても、データが表示されなくても、まず骨格が動くかを確認する。
Step 3: 機能を1つずつ追加する(4時間)
動く骨格ができたら、機能を1つずつ追加した:
- コメント欄の追加(「コメントを記録できるようにしてください。Googleスプレッドシートの別の列に保存します」)
- 検索機能(「氏名と担当者で絞り込める検索窓を追加してください」)
- 並び替え(「最終更新日の降順でデフォルト表示してください」)
- 見た目の調整(「ステータスによって行の色を変えてください。内定=緑、辞退=灰色」)
各ステップでClaude Codeに追加の指示を出し、コードを確認し、ブラウザで動作確認した。
Step 4: セキュリティとデプロイ(1時間)
GitHub Pagesへのデプロイと、GoogleスプレッドシートのAPIキーを外部から見えない形で管理する方法をClaude Codeに聞きながら設定した。
IT部門に「社内データを扱うツールを作ったので確認してもらいたい」と依頼し、コードとデータ保存先を説明した。問題なしで承認された。
3つの学び
学び1: 渡す言葉の質が、出てくるものを決める
相棒は、渡された言葉の通りに動く。「使いやすいツールを作って」と渡せば、私の頭の中の「使いやすい」は伝わらない。「採用担当者が1日に何度も触るステータス更新を、3クリック以内で終わる設計にして」と渡して初めて、欲しいものに近づく。
ここで効いたのは技術力ではなく、自分の毎日の手の動きを言葉にする力だった。普段は無意識にやっているExcel操作を「誰が・いつ・何回・何のために触るか」まで分解する。その分解こそが、相棒に渡せる設計図になる。
学び2: エラーは「相棒への伝言」だと思う
ブラウザのデベロッパーツールに赤いエラーが出ても、そのメッセージをそのままコピーして相棒に渡すだけでいい。意味が分からなくていい、原因が読めなくていい。エラー文は、私の代わりに状況を読んでくれる相手への伝言だ。「分からないまま渡す」と割り切れた瞬間から、作業が止まらなくなった。
学び3: 小さく作って使いながら育てる
最初から全機能を作ろうとしない。動く最小版を2日で作って使い始め、「この操作が面倒」という感覚が出たら機能を追加する。エンジニアが仕様書を書いてから作るアプローチより、HRが使いながら育てる方が実態に合ったツールになる。
作って終わりじゃない — 貯まったデータに問いを立てる
ツールを使い始めると、副産物として「構造化された採用データ」が貯まっていく。誰がどの段階でどれだけ止まったか、どのポジションで辞退が多いか。Excelの関数では追いきれなかった問いに、同じ相棒で答えられるようになる。
ただし順番が逆だと意味がない。データを丸ごと渡して「何か傾向を教えて」では、当たり障りのない要約しか返ってこない。先に自分の問いを決める。
- 「内定承諾率が落ちる時期は、どの選考段階で離脱が増えているか」
- 「辞退理由を分類すると、一番多いのは何か」
- 「応募から内定までの日数が長いポジションは、途中離脱も多いか」
問いを決めてから、候補者を特定できる情報(氏名・連絡先)を外した集計データを渡す。すると相棒が分析コードをその場で書いて、結果を見せてくれる。問いを変えるたびに新しい分析が返ってくる。
注意は2つ。ひとつは、個人情報は渡す前に必ず匿名化すること(候補者IDと選考段階だけにする)。もうひとつは、出てきた分析を結論ではなく次の問いの材料として扱うこと。「なぜそうなっているか」「どう変えるか」を決めるのは、現場を知る自分の仕事だ。相棒は傾向を見せる。判断は渡さない。
月曜の朝、最初の30分でできる一歩
大げさな準備はいらない。月曜の朝、こうする。
- 今のExcelを開き、列の名前を紙に書き写す(これがそのまま仕様だ)
- 「自分が1日で一番多く触る操作」を1つだけ選ぶ
- Claude Codeに「この列を持つ一覧を表示して、◯◯の操作だけできるページを作って」と渡す
完璧な全体像を描く必要はない。動く骨格が一つ立てば、あとは使いながら育てられる。
向いているケース・向いていないケース
向いている:
- 年間採用規模が小さいチーム
- 既存のExcel/スプレッドシート管理をWebに置き換えたい
- 市販のATSより「自分たちの運用に合った設計」を優先したい
- IT部門が柔軟(または個人ツール範囲で試せる)
向いていない:
- 大規模組織で複雑な承認フローが必要
- 複数部門が同時に使う高可用性が求められる環境
- IT部門のセキュリティ要件が厳しく外部ツール承認に数ヶ月かかる
参考リソース
Claude Codeの基本的な使い方は公式ドキュメントが詳しい。HR担当者向けのとっかかりとしては、下の関連記事から入るのがいい。
関連記事
- Claude CodeをHRに使う方法——顧問が実務で1ヶ月回した記録 — Claude Code導入の基本ステップと、採用JD生成・面接コメント言語化を含む実際の活用法
- AIエージェントをHR業務フローに組み込む実践ガイド — より高度な自動化への次のステップ