記事一覧 プロジェクト集 検索 このサイトについて
RSS English

調整さんの出欠回答を Playwright で自動入力し、Claude Code 経由の Google Calendar MCP で判定する構成

本記事は生成AIと共同で執筆しています。事実関係は可能な範囲で公式ドキュメント等と照合していますが、誤りが含まれている可能性があります。重要な判断を行う前にご自身でも一次情報をご確認ください。 調整さん の出欠回答を毎回手で入れるのが面倒だったので、Playwright で自動入力する CLI を作りました。候補日それぞれの ◯ / △ / × の判定は Google カレンダーと照合する必要があるため、その部分は Claude Code(claude.ai Google Calendar MCP 経由)に任せる構成にしています。 ソースコード: https://github.com/nakamura196/choseisan TL;DR 調整さんは公開 API を持たないので、Playwright で公開ページの DOM を直接操作している。 入力は3段階のワークフローに分けた: fetch で候補日を抽出、Claude にカレンダー照合と ◯/△/× 埋めを依頼、submit で送信。 判定ルール(参考: プレフィックスのスキップ、透過設定の扱い、終日イベントのブロック等)は CLAUDE.md に記述し、Claude Code がディレクトリで作業するときに自動的に読み込まれるようにした。 既存エントリの編集(同じ名前で再度登録した場合)は、参加者名のリンクをクリックするモードで自動切替する。 wait_for_load_state("networkidle") は調整さんのページ(広告タグ多数)では永遠に終わらないので "load" を使う。 構成 3段階を独立に再実行できる構成にしました。 fetch <url> events/<slug>.json テンプレ生成 ↓ (Claude に依頼) Google カレンダー照合で answer を埋める ↓ submit <slug> Playwright で送信(新規/更新を自動判定) 利点は、候補が変わったら fetch だけ再実行、判定ロジックを試したいなら Claude に再依頼するだけ、確認後に submit、という形で各段階を切り離せることです。 ...