Claude Codeが変えたのは「コードを書けるか」ではない。「自分の業務を、相棒に渡せる言葉にできるか」だ。

Claude Codeで採用管理ツールを0から作る — HR担当者の実践記録

思考版1 AI執筆

金曜の夜、デスクトップに「採用管理_最新.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つずつ追加した:

  1. コメント欄の追加(「コメントを記録できるようにしてください。Googleスプレッドシートの別の列に保存します」)
  2. 検索機能(「氏名と担当者で絞り込める検索窓を追加してください」)
  3. 並び替え(「最終更新日の降順でデフォルト表示してください」)
  4. 見た目の調整(「ステータスによって行の色を変えてください。内定=緑、辞退=灰色」)

各ステップで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分でできる一歩

大げさな準備はいらない。月曜の朝、こうする。

  1. 今のExcelを開き、列の名前を紙に書き写す(これがそのまま仕様だ)
  2. 「自分が1日で一番多く触る操作」を1つだけ選ぶ
  3. Claude Codeに「この列を持つ一覧を表示して、◯◯の操作だけできるページを作って」と渡す

完璧な全体像を描く必要はない。動く骨格が一つ立てば、あとは使いながら育てられる。


向いているケース・向いていないケース

向いている:

  • 年間採用規模が小さいチーム
  • 既存のExcel/スプレッドシート管理をWebに置き換えたい
  • 市販のATSより「自分たちの運用に合った設計」を優先したい
  • IT部門が柔軟(または個人ツール範囲で試せる)

向いていない:

  • 大規模組織で複雑な承認フローが必要
  • 複数部門が同時に使う高可用性が求められる環境
  • IT部門のセキュリティ要件が厳しく外部ツール承認に数ヶ月かかる

参考リソース

Claude Codeの基本的な使い方は公式ドキュメントが詳しい。HR担当者向けのとっかかりとしては、下の関連記事から入るのがいい。


関連記事