AI に採用パイプライン(ATS)を作らせてみた — 統合アークの大型3つが、新業界でそのまま発掘された(やってみた #83)
/recruiting-pipeline375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI に採用パイプライン(ATS)を作らせてみた — 統合アークの大型3つが、新業界でそのまま発掘された(やってみた #83)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。新業界 人材・採用 1枚目——採用パイプライン管理(ATS)。選考ステージを候補者が流れ、今週の面接を見て、候補者にドリルインし、承認フローで内定へ。
11業界目は人材・採用。架空の HR-tech 企業「ミドリリンク株式会社」のインハウス採用デスク。観測ポイントは明確——統合アークで作った大型 primitive(KanbanBoard / WeekView / ApprovalWorkflow)が、採用という全く新しい業界の文脈ゼロ AI に、自力で発掘されるか。
結果 — 4/5・カスタム primitive ほぼゼロ
tsc/build 緑・375px・0 console error。応募ファネル俯瞰・選考パイプライン・応募経路内訳・ステージ別在籍・今週の面接グリッド・候補者ドリルイン(評価/履歴/内定承認)——構造はほぼ全部 @gunjo/ui。
観測の主役 — 大型3つが「この用途のために作られた」
cold AI(群青を一度も触っていない設定)のレポートから:
KanbanBoard(zero-friction) — これがパイプライン。6つの選考ステージを columns、候補者フラットリストを items、getColumnId={c => c.stage}で grouping。onCardSelectを渡すとカードがキーボード操作可能な<button>になり、列はariaregion、横スクロールは[contain:paint]でモバイルを破らない。JSDoc に「CRM pipelines, support queues」とある。摩擦ゼロ。
ApprovalWorkflow(驚くほど的確) — 現場面接官 → 採用責任者 → 内定承認に。controlledvalue/onChangeで、advance / 差戻し(対象ステージ選択+理由・以降の記録をロールバック)/ 却下(terminal) を最初から持ち、各遷移に実行者+時刻を刻む。既定ラベルが既に日本語。「back-office を作ったことがある人が設計したと最も感じさせた単一コンポーネント」。
WeekView(zero-friction) — 週次の面接グリッド。同時刻の面接を side-by-side に重なり詰め、todayが injectable prop なので SSR-safe(hydration mismatch 無し)。
#318 で作った KanbanBoard が、初めて cold 環境で発掘された回——しかも採用という新業界で、名前と JSDoc から一発で見つかり最上級評価で嵌まった。 WeekView(#319)・ApprovalWorkflow(#267) も新業界で越境。Statistic/Rating/Timeline/MetadataList/DistributionBar/Badge も全部既存部品で。
唯一の大きな穴 — 「人」を表す primitive が無い
cold AI が唯一2回手組みしたのがこれ:
候補者カードと候補者ヘッダー(アバター+氏名+ふりがな+職種+経路バッジ+評価★)。
Avatar+text+Badge+Ratingを手で組んだ。穴: 人物サマリ primitive が無い。メディア用のAssetCardはあるが、人間のレコードを表す部品が無い——HR/CRM/ATS/担当者ピッカー/面接官名簿/承認者行、あらゆる画面の最小単位なのに。
→ PersonCell(avatar + name + secondary + tags + rating) を提案・起票(#329・新業界の最頻出単位・3回ルールで再確認)。これが「the single most valuable thing to add」。
その他の起票(no-build)
- 🔴
Sheet右ドロワーの幅クラス衝突(w-[384px] w-3/4が両立=前者が死にクラス)+ドリルインが既定で狭く、幅sizeprop が欲しい(#328)。 - 🟡 凡例 primitive が見つからない(WeekView/Kanban に tone はあるが legend 無し・
ChartLegendが chart 内製に見えて発掘されず手組み・#327)。 - 🟡 prop 語彙の不統一(
KanbanColumnTone未 export でas never/SearchInputはonValueChange/VStack gapが数値 vssizeが文字列=#82 に続き2回目・#330)。
今回 src build なし(kit が 4/5 で持ちこたえ、残る穴は新 primitive 候補+DX+発見可能性)。
学び — 大型 primitive は、業界を越えて「発掘される」段で価値が確定する
統合アークで KanbanBoard/WeekView/Gantt/EventCalendar/LineageGraph を腰を据えて作った。その価値は、作った回の自己評価では決まらない——何も知らない次の業界の AI が、名前と JSDoc だけで見つけて摩擦ゼロで使った時に確定する。 #82 でメディアが LineageGraph/EventCalendar を、#83 で採用が KanbanBoard/WeekView/ApprovalWorkflow を発掘した。JSDoc 駆動の発見可能性が、文脈ゼロ採用の本当の資産だと cold AI 自身が言っている。
そして穴は、また一段上に収束した——個別部品でも大型レイアウトでもなく、「人」という最小単位の合成 primitive(PersonCell)。HR を3〜5枚回す中で再出現を待つ。
次回予告(やってみた #84)
- 人材・採用2枚目(勤怠
ScheduleGrid/ 人事評価WF / 組織図 など)。PersonCell の再出現観測。
試す
まだ alpha。だが「統合アークの大型3つが、新業界の cold AI にそのまま発掘される」のを見られた回——作った投資が業界を越えて複利する、その11業界目の実証。
<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import している部品です。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。