This cookbook is inspired by Mario Zechner’s “What if you don’t need
MCP?”,
adapted into a reusable Factory skill so teams can share lightweight browser
helpers without standing up new services.
start.js、nav.js、eval.js、screenshot.js、pick.js)と簡潔なSKILL.mdをバンドルしています。これらにより、Factory Droidsはポート9222でChromeを確実に起動し、既存のタブを操作し、構造化データをスクレイピングし、開発者マシン上で完全に動作しながら視覚的証拠を取得する信頼性の高い方法を提供します。
このスキルを使用する場合
- タスクを完了するために実際のブラウザコンテキスト(認証済みセッション、本番環境でのみ発生する動作、視覚的リグレッション)が必要な場合。
- 専用のMCPサーバーを構築することなくDOM状態を検査または抽出したい場合。
- QAノート、バグトリアージ、またはドキュメント作成の一環としてスクリーンショットまたはDOM要素メタデータの取得が必要な場合。
- チームメンバーが追加インフラストラクチャなしでローカルで実行できるポータブルでgit管理されたバンドルを好む場合。
スクリプトが提供する機能
| スクリプト | 目的 | 典型的な使用方法 |
|---|---|---|
start.js | :9222でリモートデバッグ機能を有効にしてChromeを起動し、--profileによるオプションのプロファイル同期を行います。 | ~/.factory/skills/browser/start.js --profile |
nav.js | アクティブなタブをナビゲートするか、--newが渡された際に新しいタブを開きます。 | ~/.factory/skills/browser/nav.js https://example.com --new |
eval.js | フォーカスされたタブで任意のJavaScript(async対応)を実行し、構造化された結果を出力します。 | ~/.factory/skills/browser/eval.js "document.title" |
screenshot.js | 現在のビューポートを$TMPDIRに保存されるタイムスタンプ付きPNGとしてキャプチャします。 | ~/.factory/skills/browser/screenshot.js |
pick.js | ビジュアルピッカーを注入して、DOM ノードをクリックしてタグ/ID/クラス/テキストメタデータを返すことができます。 | ~/.factory/skills/browser/pick.js "Click the submit button" |
puppeteer-coreに依存し、あなたが制御するChromeインスタンスに接続します。すべてがローカルで実行されるため、既存のクッキーや認証トークンがマシンから外に出ることはありません。
セットアップ
Copy scripts and package metadata
Copy
start.js, nav.js, eval.js, screenshot.js, pick.js, and
package.json into .factory/skills/browser/ (or symlink to a shared
dotfiles repo).Install dependencies
Run
npm install --prefix .factory/skills/browser puppeteer-core, then
chmod +x .factory/skills/browser/*.js.スキル定義
以下を.factory/skills/browser/SKILL.mdにコピーしてください:
