目次
Claude Codeで、こんなことができたら
Claude Codeを使えば、製造業の現場でもこんなことができます。
- 工程管理画面のkintoneカスタマイズを、仕様を伝えるだけで一気に実装
- 検査データの入力フォームを、バリデーション込みで自動生成
- 生産実績ダッシュボードのグラフ表示を、データ連携からUI実装まで通しで構築
前回の記事で、Claude Codeを長時間自走させる「許可設計」を解説しました。
これにより、Claude Codeはコードを書き続けることができるようになります。
しかし、自走できてもこんな問題が残ります。
「コードは書けたけど、ブラウザで見たら崩れてた」
開発→テスト→ブラウザ確認→修正。
このサイクルの「ブラウザ確認」だけは、結局人がやるしかなかった。
コードが正しく動いているかを確かめるには、ブラウザを開いて、画面を見て、操作して、目で確認する必要があったのです。
ところが今、browser-useを組み合わせることで、Claude Code自身がブラウザを開いて画面を確認し、問題があれば自分で修正するところまで自動化できます。
この記事では、その「自動開発ループ」の仕組みと構築方法を解説します。
結論:Claude Code × browser-useで「開発→確認→修正」の全サイクルが自動化できる
まず、従来の開発フローと自動開発ループの違いを見てください。
graph LR
subgraph traditional["従来の開発フロー"]
T1["コードを書く"] --> T2["ビルド"]
T2 --> T3["人がブラウザで確認"]
T3 --> T4["問題を見つける"]
T4 --> T1
end
style traditional fill:#fff3e0,stroke:#e65100,color:#333333
graph LR
subgraph automated["自動開発ループ"]
A1["コードを書く"] --> A2["ビルド"]
A2 --> A3["Claude Codeが
ブラウザで確認"]
A3 --> A4{"問題あり?"}
A4 -- Yes --> A5["自動修正"]
A5 --> A2
A4 -- No --> A6["完了"]
end
style automated fill:#e8f5e9,stroke:#2e7d32,color:#333333
style A6 fill:#c8e6c9,stroke:#2e7d32,color:#1b5e20
従来は「ブラウザ確認」のたびに人が介入していました。
自動開発ループでは、この確認もClaude Codeが自律的に行います。
これを実現する3つの要素があります。
| # | 要素 | 役割 |
|---|---|---|
| 1 | browser-use | Claude Codeにブラウザ操作能力を与えるCLIツール |
| 2 | planモード | まず設計させてから実装に入る戦略(前回記事で解説済み) |
| 3 | Claude Teams | チーム全体でこの仕組みを安全に運用するための管理基盤 |
この記事では、この3つを組み合わせて自動開発ループを構築する方法を解説します。
browser-useとは — Claude Codeにブラウザの「目」を与える
browser-useの概要
browser-useは、Claude Codeからブラウザを操作できるようにするCLIツールです。
ページを開く、要素をクリックする、フォームに入力する、スクリーンショットを撮る——
人がブラウザでやる操作を、Claude Codeがコマンドで実行できます。
graph LR
CC["Claude Code"] -->|"コマンド実行"| BU["browser-use CLI"]
BU -->|"操作"| BR["ブラウザ"]
BR -->|"状態・スクリーンショット"| BU
BU -->|"結果を返す"| CC
style CC fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
style BU fill:#fff3e0,stroke:#e65100,color:#bf360c
style BR fill:#e8f5e9,stroke:#2e7d32,color:#1b5e20
ブラウザはバックグラウンドで常駐するため、コマンドごとに起動し直す必要がありません。
基本的な操作コマンド
browser-useの主要コマンドは以下の通りです。
| コマンド | 機能 |
|---|---|
browser-use open <url> |
ページを開く |
browser-use state |
ページURL・タイトル・クリック可能な要素一覧を取得 |
browser-use click <index> |
インデックス指定で要素をクリック |
browser-use input <index> "text" |
フォームに入力 |
browser-use screenshot [path] |
スクリーンショットを撮る |
browser-use eval "js" |
JavaScriptを実行 |
browser-use scroll down/up |
ページをスクロール(--amount でピクセル指定可) |
browser-use keys "Enter" |
キーボード操作 |
browser-use select <index> "value" |
ドロップダウン選択 |
操作の基本パターンはこうです。
graph LR
O["open
ページを開く"] --> S["state
要素を確認"]
S --> I["click / input
操作する"]
I --> V["state / screenshot
結果を確認"]
V -->|"問題あり"| I
V -->|"OK"| D["次の操作へ"]
style O fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
style S fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
style I fill:#fff3e0,stroke:#e65100,color:#bf360c
style V fill:#e8f5e9,stroke:#2e7d32,color:#1b5e20
style D fill:#c8e6c9,stroke:#2e7d32,color:#1b5e20
また、以下のオプションが便利です。
| オプション | 機能 |
|---|---|
--headed |
ブラウザウィンドウを表示する(デバッグ時に便利) |
--profile [NAME] |
Chrome実ブラウザを使用(既存のログイン・Cookieが利用可能) |
--session NAME |
名前付きセッション(複数タブの管理に使う) |
--json |
JSON形式で出力 |
セットアップ方法
インストールは1コマンドです。
macOS / Linux:
curl -fsSL https://browser-use.com/cli/install.sh | bash
Windows(PowerShell):
& "C:\Program Files\Git\bin\bash.exe" -c 'curl -fsSL https://browser-use.com/cli/install.sh | bash'
インストール後、以下のコマンドで正しくセットアップされているか確認できます。
browser-use doctor # 依存関係の自動チェック
browser-use setup # セットアップウィザード
browser-use doctor を実行すると、依存関係に問題がないか自動でチェックしてくれます。
ここでエラーが出なければ準備完了です。
自動開発ループの設計 — planモードで「考えてから動かす」
自動開発ループの全体フロー
browser-useをClaude Codeに組み込むことで、以下の自動開発ループが実現します。
graph LR
P["1. plan
分析・設計"] --> C["2. code
実装"]
C --> B["3. build
ビルド・テスト"]
B --> V["4. verify
ブラウザ確認"]
V --> Q{"問題あり?"}
Q -- Yes --> F["5. fix
修正"]
F --> B
Q -- No --> D["6. done"]
style P fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
style C fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
style B fill:#fff3e0,stroke:#e65100,color:#bf360c
style V fill:#fff3e0,stroke:#e65100,color:#bf360c
style F fill:#ffebee,stroke:#c62828,color:#b71c1c
style D fill:#c8e6c9,stroke:#2e7d32,color:#1b5e20
| ステップ | モード | やること |
|---|---|---|
| 1. plan | planモード | タスクの全体像を分析し、実装計画を立てる(ファイル編集不可、コマンドは承認制) |
| 2. code | acceptEditsモード | 計画に沿ってコードを書く |
| 3. build | — | ビルド・lint・テストを実行 |
| 4. verify | — | browser-useでブラウザを開き、画面を確認 |
| 5. fix | acceptEditsモード | 問題があればコードを修正し、3に戻る |
| 6. done | — | 問題がなければ完了 |
このループをClaude Codeが自律的に回します。
planモードで「何を確認するか」を設計させる
自動開発ループで最も重要なのは、「何をもって正しいとするか」の基準です。
browser-useでブラウザを開いても、「何を見ればいいか」がわからなければ意味がありません。
ここでplanモードが効きます。
planモードで以下を事前に設計させます。
- 実装する機能の仕様 — 何を作るのか
- ブラウザで確認すべきポイント — 表示内容、レイアウト、動作
- 確認手順 — どのURLを開き、何をクリックし、何が表示されるべきか
この「確認仕様」があることで、verifyフェーズの精度が大幅に上がります。
Claude Codeは「スクリーンショットを撮って、なんとなく確認する」のではなく、
「この要素がこの状態であるべき」という明確な基準に照らして確認するようになります。
Shift + Tab でplanモードと実行モードを即座に切り替えられます。
実践例 — kintoneカスタマイズの自動開発
具体的な例を見てみましょう。
シナリオ:kintoneの工程管理アプリに、ステータス変更時の自動計算機能を追加する
sequenceDiagram
participant 開発者
participant Claude Code
participant browser-use
participant kintone
Note over 開発者,Claude Code: Step 1: plan
開発者->>Claude Code: ステータス変更時に工数を自動計算する機能を追加して
Claude Code->>Claude Code: 既存カスタマイズコードを分析
Claude Code->>開発者: 実装計画と確認手順を提示
Note over 開発者,Claude Code: Step 2: code
開発者->>Claude Code: OK、実装して
Claude Code->>Claude Code: JavaScriptカスタマイズを実装
Note over Claude Code,kintone: Step 3: build
Claude Code->>Claude Code: 構文チェック・lint実行
Note over Claude Code,kintone: Step 4: verify
Claude Code->>browser-use: kintoneアプリを開く
browser-use->>kintone: open URL
Claude Code->>browser-use: ステータスを変更
browser-use->>kintone: click / select
Claude Code->>browser-use: 計算結果を確認
browser-use->>Claude Code: スクリーンショット + state
Note over Claude Code,kintone: Step 5: fix(必要な場合)
Claude Code->>Claude Code: 表示のずれを検出、コード修正
Claude Code->>browser-use: 再度確認
browser-use->>Claude Code: OK
Claude Code->>開発者: 完了しました
この一連の流れを、Claude Codeが自走で実行します。
開発者が介入するのは最初の指示と最終確認だけです。
CLAUDE.mdで自動開発ループの精度を上げる
ブラウザ確認ルールをCLAUDE.mdに書く
自動開発ループを安定して回すために、CLAUDE.mdに「ブラウザ確認のルール」を追加しましょう。
# ブラウザ確認ルール
- UI変更後は必ずbrowser-useでスクリーンショットを撮って確認する
- 確認対象URL: http://localhost:3000
- 確認ポイント: レイアウト崩れ、文字切れ、ボタンの動作
- モバイル表示の確認も行う(viewport: 375px)
前回の記事で解説した通り、CLAUDE.mdは /compact でコンテキストが圧縮されてもディスクから再読み込みされます。つまり、長時間の自動開発ループでも確認ルールが消えません。
これが重要な理由は、自動開発ループは長時間動き続けるからです。
10ファイル、20ファイルと修正が続くうちに、コンテキストは何度も圧縮されます。
しかしCLAUDE.mdに書いた確認ルールは毎回復元されるため、最初のファイルも最後のファイルも同じ基準で確認されます。
`.claude/rules/` でUI確認ルールをモジュール化
CLAUDE.mdに全部書くと長くなります。
フロントエンドのコードを触るときだけ、ブラウザ確認ルールを適用する設定ができます。
---
paths:
- "src/components/**/*.tsx"
- "src/pages/**/*.tsx"
- "public/**/*.css"
---
# フロントエンド確認ルール
- コード変更後はbrowser-useで画面確認を実行すること
- スクリーンショットを撮ってレイアウトを確認
- コンソールエラーが出ていないか browser-use eval で確認
このファイルを .claude/rules/ に置いておけば、フロントエンドのコードを触ったときだけブラウザ確認ルールが読み込まれます。
バックエンドのロジックだけを変更しているときは、不要なブラウザ確認を省略できます。
Claude Teams — 自動開発ループをチームに展開する
チームで安全に運用するためのマネージド設定
自動開発ループをチームで使う場合、以下の懸念があります。
- メンバーが本番環境のURLをbrowser-useで操作してしまうリスク
- 許可設定がバラバラで、人によって自走範囲が違う
Claude Teams / Enterprise のマネージド設定で、これらを統一できます。
{
"permissions": {
"allow": [
"Bash(browser-use *)",
"Bash(npm run *)",
"Bash(npx *)"
],
"deny": [
"Bash(browser-use open https://production.*)",
"Bash(browser-use open https://*.kintone.com/*)"
]
}
}
graph LR
A["管理者が
マネージド設定を配信"] --> B["browser-use操作を許可
(allowルール)"]
A --> C["本番URLをブロック
(denyルール)"]
B --> D["メンバーは安全な範囲で
自動開発ループを実行"]
C --> D
style A fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
style B fill:#e8f5e9,stroke:#2e7d32,color:#1b5e20
style C fill:#ffebee,stroke:#c62828,color:#b71c1c
style D fill:#fff3e0,stroke:#e65100,color:#bf360c
allowでbrowser-useの基本操作を許可しつつ、denyで本番URLへのアクセスをブロックします。
denyはマネージドが最優先なので、個人がallowで上書きすることはできません。
マネージドCLAUDE.mdでチーム共通の確認ルールを配信
許可設定だけでなく、CLAUDE.mdもマネージドで配信できます。
| OS | 配信先 |
|---|---|
| macOS | /Library/Application Support/ClaudeCode/CLAUDE.md |
| Linux | /etc/claude-code/CLAUDE.md |
| Windows | C:\Program Files\ClaudeCode\CLAUDE.md |
チーム全員に「本番環境にはbrowser-useでアクセスしない」「テスト環境のURLはこれ」といったルールを強制適用できます。
マネージドCLAUDE.mdは個人が除外できないため、事故を確実に防げます。
まとめ:自動開発ループを始める3ステップ
まずやるべき3つのこと
Step 1:browser-useをインストールする
curl -fsSL https://browser-use.com/cli/install.sh | bash
browser-use doctor # インストール検証
これだけで、Claude Codeがブラウザを操作できるようになります。
Step 2:CLAUDE.mdにブラウザ確認ルールを追加する
確認対象URL、確認ポイント、確認手順を書いてください。長時間の自動開発ループでも確認基準がブレなくなります。
Step 3:planモードで確認仕様を設計してから実装に入る
「何をもって正しいとするか」を先に決める。これが自動開発ループの精度を決めます。
「開発者は設計と判断に集中する」未来
自動開発ループが回るようになると、開発者の役割が変わります。
コードを書く作業、ブラウザで確認する作業、細かい修正作業——これらをClaude Codeに任せられます。
開発者は**「何を作るか」「なぜ作るか」「これで良いか」**の設計と判断に集中できるようになります。
前回の記事の「許可設計」で、Claude Codeの自走範囲がコーディングまで広がりました。
今回の「browser-useによるブラウザ確認」で、その範囲がUI検証まで広がります。
次は何を自動化できるか——私たちも引き続き実験していきます。
参照元
最後に
株式会社アディエムでは、kintone × 生成AIで日々の業務改善に取り組んでいます。
今回ご紹介したような例の他にも、お客様の業務に合った改善をご提案させて頂きます。
無料相談も実施しておりますので、お気軽にお問い合わせ頂ければ幸いです。


