mcpField
B
browser-form-fill

browser-form-fill

github.com/ruvnet生産性80.0k717 回インストール今日更新
リポジトリ

browser-form-fill について

browser-form-fillは、構造化されたフィールドマップを使ってWebフォームを入力するスキルです。保存済みテンプレートやページのアクセシビリティ情報で項目を特定し、PIIを確認して値を記録から伏せます。

主な機能

  1. 01フィールドマップによるフォーム特定
  2. 02サイトテンプレートの再利用と記録
  3. 03フォーム入力と送信
  4. 04PII確認と操作記録のマスキング
  5. 05送信後の状態確認

活用シーン

  1. 01登録・問い合わせフォームの再入力
  2. 02新しいサイトのセレクター記録
  3. 03キー入力のシミュレーションが必要な項目
  4. 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 セレクターを自動的に解決します。ない場合は、ページのアクセシビリティスナップショットから解決します。

使用する場面

  • フィールド名が安定している既知のフォーム(登録、問い合わせ、購入手続き)を送信する場合。
  • 繰り返し行う送信で、保存済みのテンプレートを再利用する場合。
  • 解決したセレクターを記録して、サイト用の新しいテンプレートを作成する場合。

手順

  1. browser-record を使って記録済みセッションを開きます。
  2. セレクターを解決します。
    • テンプレート経路(--template <name>):browser-templates から {field_name → selector} を取得します。
    • スナップショット経路:browser_snapshot を呼び出し、アクセシビリティツリーをたどって、各入力欄のアクセシブル名/ラベルをフィールドマップのキーに照合します。
  3. AIDefence の PII ゲート:フィールドマップ内のすべての値について、キー入力を行う前に aidefence_has_pii を通過させます。セッションマニフェストには pii_in_form: true を記録します。軌跡には値そのものを記録せず、フィールド名と伏せ字のプレースホルダーのみを記録します。
  4. 入力の種類に応じて、browser_fill/browser_type/browser_select/browser_check で入力します。
  5. --submit が指定されている場合は、スナップショットから送信ボタンを特定し、browser_click を実行してから、browser_wait でページ遷移を待ちます。
  6. 新しいマッピングが判明した場合は、テンプレートを保存します。
    npx -y @claude-flow/cli@latest memory store --namespace browser-templates \
      --key "<host>:<form-name>" \
      --value "{field_map:{...}, submit_selector:..., post_submit_url_pattern:...}"
    
  7. フィールドマップの _assert キーに検証用スニペットが指定されている場合は、送信後の状態を確認します。

注意事項

  • 入力操作の軌跡ステップでは、値を必ず伏せてください。これは PII ゲートの要件です。
  • オートコンプリートの反応など、キー入力のシミュレーションが必要な入力欄には、プログラムで値を設定する browser_fill ではなく、キー入力をシミュレートする browser_type を使用します。軌跡ステップには、どちらを使用したか記録してください。
  • 複数ステップのフォームでは、browser-form-fill を複数回実行し、同じセッション ID で連鎖させます。
  • フォームに CAPTCHA がある場合は、ユーザーに対応を依頼してください。回避しようとしてはいけません。

コメント