AI に面談予約を作らせてみた — ScheduleGrid が「予約グリッド」でも一発で見つかった(やってみた #74)
/conference-booking375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI に面談予約を作らせてみた — ScheduleGrid が「予約グリッド」でも一発で見つかった(やってみた #74)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。教育5枚目=教育の締め——三者面談予約(時間枠×日の予約グリッド × 空き/予約済/受付不可 × 予約率 × 未予約フォロー × 面談一覧)。
教育の5枚目で締め。保護者面談の時間枠を開き、家庭が予約する画面。そして #71 で広げた ScheduleGrid の framing が、3回連続で別マトリクスに刺さった——今回は「予約グリッド」。
結果 — 4.25/5
tsc/build 緑・console 0・375px横溢れ0・予約枠グリッド・予約/変更/キャンセル(重複防止+ライブ再計算)・予約率メーター・未予約リスト+一斉連絡・面談一覧。重要部品の手組みゼロ。
今回の主役 — ScheduleGrid が「予約グリッド」でも一発で見つかった(3回連続)
cold AI が予約枠グリッド(時間枠×日)に何を使ったか:
ScheduleGridis the standout. Its JSDoc and the docs frame it as a general "rows×columns matrix" — and explicitly name "availability and room/resource booking grids." It bent onto conference booking with zero fighting... It even ships[contain:paint]so mobile horizontal scroll is contained — exactly the phone requirement. I found it on the first pass through index.ts.
#71 で「時間割用」と狭く書いて見つからなかった ScheduleGrid を、「汎用2Dマトリクス(…予約グリッド含む)」に広げた。その効果が #72 出欠 → #73 課題提出 → #74 予約 と3回連続で実証された。framing を広げた1回の修正が、その後ずっと"発見される"配当を生み続けている。
他の越境も継続: Badge icon → 空き/予約済/受付不可 の色非依存ピル(JSDoc が「status grids / legends の recurring need」と明記=狙い通り)・Meter higher-is-better+target → 予約率(「10家庭/12家庭(83%)目標12家庭」)・Statistic → 未予約フォロー状態。
src 変更ゼロ(no-build)— 教育を締める
今回 src build なし。 観測点(TimeSlotPicker#263 の2回目・連続時間軸#142残り)は、cold AI が「セル自体が予約ピッカー(クリック→Sheet)」と判断したため出ず、ScheduleGrid+Sheet の合成で過不足なく組めた。kit が面談予約をまるごと既存部品で賄った=教育5枚を綺麗に締めた。
起票だけ(全1回目・軽微)
- 🟡 ScheduleGrid にセル選択状態/cellClassName 無(開いてるセルをハイライトできない・#299)。
- 🟡 Badge と Tag の API 不整合(Badge は icon あり size 無し・Tag は size あり icon 無し・#300)。
- 🟡 Toast が文字列のみ(title/description・action ボタン・JSX 不可・#301)。
- 🟢 誤検知1件: cold AI が「Textarea/Input に label 無し」と報告→実際は #245/#249 で実装済(型に label/description あり)。cold AI が見つけられず手組みした=部品はあるのに使われない現象が今度は Textarea で(軽微・既に動く)。
学び — 「広げた framing」は1回の修正が配当を生み続ける
#71 で ScheduleGrid の説明を広げた。その後 #72/#73/#74 と3回連続で、別々のマトリクス(出欠・課題提出・予約)に一発で見つかって採用された。 framing の拡張は「その場しのぎ」ではなく、以後の全利用者(人でも AI でも)に効き続ける資産。一方 #74 では Textarea で逆の現象(実装済なのに見つけられず手組み)も出た——「在る」と「見つかる」のギャップは、コンポーネントごとに framing を磨き続けないと再発する。教育5枚で、kit は教育ドメインをほぼ完全に賄うことを確認した。
教育シリーズ総括(#70〜#74)
| # | 画面 | 点 | ハイライト |
|---|---|---|---|
| 70 | 時間割 | 3→ | ScheduleGrid build(3回出たタイムグリッド) |
| 71 | 成績管理 | 4 | ScheduleGrid 見つからず→framing 拡張 |
| 72 | 出欠 | 4.5 | 拡張が効いて一発発見+Badge icon build |
| 73 | 学習進捗LMS | 4.5 | 直近 build が全再利用=複利ピーク+Grid 列 build |
| 74 | 面談予約 | 4.25 | ScheduleGrid が予約グリッドにも(3回連続)・no-build |
次回予告(やってみた #75)
- 別業界へ pivot(公共/自治体・メディア/出版 など)。連続時間軸スケジューラ#142残り・系譜#281 の大型 primitive も観測継続。旅行は後で腰据えて作り込む枠。
試す
まだ alpha。広げた ScheduleGrid が3回連続で別マトリクスに刺さり、教育5枚を no-build で締めた回。
<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import している部品です。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。