7月28日、David Nieldが「Everyone should use Claude to make their own Chrome Extensions」と題した記事を公開した。コーディング経験ゼロでも、Claudeとの会話だけで自分専用のChrome拡張機能が数分で完成する——Nield自身が2本の拡張機能を実際に作り、いずれも問題なく動作しているという。「欲しい拡張機能がChrome Web Storeに見つからない」という問題を、AIとの対話で解決した実践レポートだ。
コードを書かずに、会話だけで拡張機能が完成する
作り方は単純だ。Claudeの会話ウィンドウに「I'd like to build a Chrome extension to...(こういう拡張機能を作りたい)」と書き出すだけでいい。AIが必要な詳細や制約を確認しながらコードを生成する。修正も追加プロンプトで対応できる。これはいわゆるバイブコーディング(vibe coding:コードそのものを書かず、AIとの自然言語の対話だけでソフトウェアを作り上げる手法)の典型的な活用例だ。
完成したファイルをChromeに読み込む手順も難しくない。
- ブラウザで
chrome://extensionsを開く - 右上の 「デベロッパー モード」 をオンにする
- 「パッケージ化されていない拡張機能を読み込む」 でフォルダを選択する
更新・削除も同じページから行える。
なお、Claudeの他にChatGPT、Gemini、Copilotでも同様の作業が可能だ。無料プランでも動作するが、有料プランの方がより高性能なモデルを使え、利用制限も緩くなる。
Chrome拡張機能の構造について
Chrome拡張機能はHTML・CSS・JavaScriptで構成される比較的シンプルなWeb技術の集合体だ。中心となる設定ファイル manifest.json には拡張機能の名称・バージョン・必要なパーミッション(ブラウザ履歴へのアクセス権限など)を記述する。このパーミッションモデルのおかげで、拡張機能がどのデータにアクセスできるかが明示的に管理される。構造がシンプルで規格化されているため、LLMが生成するコードのスコープが自然に絞られやすく、AIによるコード生成との相性がよい。詳細な仕様はChrome拡張機能の開発者向けドキュメントで確認できる。
実例1:完全カスタムの新タブページ
Chrome Web Storeには新タブページをカスタマイズする拡張機能が多数存在するが、「自分が本当に欲しいものがない」というケースは多い。Nieldはそこで自作を選んだ。
彼が作った新タブページに盛り込んだ要素は以下の通りだ。
- BBCのヘッドライン取得
- 天気予報(現在・2時間後・4時間後をアイコン表示)
- スクラッチパッド(メモ機能)
- 直近1週間で最もアクセスした上位5サイトの一覧
特に天気表示は「個人化」の典型例として紹介されている。現在・2時間後・4時間後の3点をシンプルなアイコンで並べることで、短期の天気変化をひと目で把握できる。既存の拡張機能では「ここまで細かく自分の用途に合わせる」のは難しい。
デザインもミニマリスト志向で組んだ。「世にある新タブ系の拡張機能は情報を詰め込みすぎで派手すぎる」という不満を出発点に、見た目も自分で制御した。
実例2:Chrome履歴の分析ダッシュボード
もう1本は、デフォルトでは単なる時系列リストにすぎない chrome://history を分析ダッシュボードに変える拡張機能だ。この拡張機能はブラウザ履歴への読み取りパーミッション(history パーミッション)をmanifest.jsonで宣言することで動作する。
Nieldが最初にClaudeに投げたプロンプトはこうだ。
「自分用のChrome拡張機能を作りたい。Chrome履歴ページをもう少し活用したい。直近1週間で最も訪問したサイトのパイチャートを表示したい。他にどんなインサイトが取得できる? たとえばリンクとリンクの間の平均時間とか?」
このプロンプトから作り上げたダッシュボードに含まれる情報は以下だ。
- 直近1週間の訪問頻度上位サイト(パイチャート)
- 1日のうち新しいページを開く時間帯の分布
- サイトへの到達手段の内訳(ブックマーク、URL直打ち、リンク遷移など)
3つ目のパネルはClaudeが提案した機能だ。「Chromeの履歴ページにはその情報が含まれており、取得できる」とAIが教えてくれるまで、Nield自身はその存在を知らなかったという。AIをただのコード生成器としてではなく、何が実現可能かを探るパートナーとして使った形だ。
総括
2本の拡張機能はいずれも数時間ではなく数分で完成した。Chrome拡張機能はHTML/CSS/JavaScriptで構成されるシンプルな構造を持ち、LLMが扱いやすいスコープに収まりやすい点でバイブコーディングの入門として最適な対象だ。欲しいブラウザ機能が見つからないなら、自分で作れる時代になっている。
詳細はEveryone should use Claude to make their own Chrome Extensionsを参照していただきたい。