browser-form-fill について
browser-form-fillは、構造化されたフィールドマップを使ってWebフォームを入力するスキルです。保存済みテンプレートやページのアクセシビリティ情報で項目を特定し、PIIを確認して値を記録から伏せます。
主な機能
- 01フィールドマップによるフォーム特定
- 02サイトテンプレートの再利用と記録
- 03フォーム入力と送信
- 04PII確認と操作記録のマスキング
- 05送信後の状態確認
活用シーン
- 01登録・問い合わせフォームの再入力
- 02新しいサイトのセレクター記録
- 03キー入力のシミュレーションが必要な項目
- 04フォーム送信後の状態確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill browser-form-fillインストール後、Claude Code で/browser-form-fillを入力して読み込まれたか確認します。
詳細
ブラウザーフォーム入力
構造化されたフィールドマップ({"first_name": "Ada", "company": "..."})を使用してフォームに入力します。ホストに対応する browser-templates エントリーがある場合は、それを使ってフィールド名 → CSS セレクターを自動的に解決します。ない場合は、ページのアクセシビリティスナップショットから解決します。
使用する場面
- フィールド名が安定している既知のフォーム(登録、問い合わせ、購入手続き)を送信する場合。
- 繰り返し行う送信で、保存済みのテンプレートを再利用する場合。
- 解決したセレクターを記録して、サイト用の新しいテンプレートを作成する場合。
手順
browser-recordを使って記録済みセッションを開きます。- セレクターを解決します。
- テンプレート経路(
--template <name>):browser-templatesから{field_name → selector}を取得します。 - スナップショット経路:
browser_snapshotを呼び出し、アクセシビリティツリーをたどって、各入力欄のアクセシブル名/ラベルをフィールドマップのキーに照合します。
- テンプレート経路(
- AIDefence の PII ゲート:フィールドマップ内のすべての値について、キー入力を行う前に
aidefence_has_piiを通過させます。セッションマニフェストにはpii_in_form: trueを記録します。軌跡には値そのものを記録せず、フィールド名と伏せ字のプレースホルダーのみを記録します。 - 入力の種類に応じて、
browser_fill/browser_type/browser_select/browser_checkで入力します。 --submitが指定されている場合は、スナップショットから送信ボタンを特定し、browser_clickを実行してから、browser_waitでページ遷移を待ちます。- 新しいマッピングが判明した場合は、テンプレートを保存します。
npx -y @claude-flow/cli@latest memory store --namespace browser-templates \ --key "<host>:<form-name>" \ --value "{field_map:{...}, submit_selector:..., post_submit_url_pattern:...}" - フィールドマップの
_assertキーに検証用スニペットが指定されている場合は、送信後の状態を確認します。
注意事項
- 入力操作の軌跡ステップでは、値を必ず伏せてください。これは PII ゲートの要件です。
- オートコンプリートの反応など、キー入力のシミュレーションが必要な入力欄には、プログラムで値を設定する
browser_fillではなく、キー入力をシミュレートするbrowser_typeを使用します。軌跡ステップには、どちらを使用したか記録してください。 - 複数ステップのフォームでは、
browser-form-fillを複数回実行し、同じセッション ID で連鎖させます。 - フォームに CAPTCHA がある場合は、ユーザーに対応を依頼してください。回避しようとしてはいけません。
コメント
Markdown 対応