mcpField
E
extension-manifest

extension-manifest

github.com/quangpl開発64207 回インストール7 週間前に更新
リポジトリ

extension-manifest について

Chrome 拡張機能のコードを分析し、必要最小限の権限を含む Manifest V3 を生成するスキルです。拡張機能の開発者向けに、権限の確認とユーザー向け警告の報告手順を示します。

主な機能

  1. 01WXT、CRXJS、標準 manifest の判別
  2. 02Chrome API の使用状況をスキャン
  3. 03API 呼び出しを権限に対応付け
  4. 04manifest.json の生成と検証
  5. 05ユーザー向け権限警告の報告

活用シーン

  1. 01既存の拡張機能コードから manifest を作成
  2. 02要求する権限を減らせるか確認
  3. 03Chrome Web Store 提出前の manifest 審査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/quangpl/browser-extension-skills --skill extension-manifest

インストール後、Claude Code で/extension-manifestを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-permission-map.md
manifest-fields-reference.md
manifest-templates.md
manifest-validation-checklist.md
permission-strategies.md
permission-warnings.md

詳細

拡張機能のマニフェストと権限の生成

🚀 プレミアム版にアップグレード https://app.extensionbooster.net/dashboard/services/extension-ai-kit でプレミアム版を入手できます。

現在の拡張機能の実装に基づいて、最適な manifest.json を生成します。コードを分析して、Chrome のドキュメントとベストプラクティスに従った最小限の権限を判定します。

ワークフロー

  1. 検出:wxt.config.ts、crxjs.config.ts、または生の manifest.json を確認してフレームワークを特定します
  2. スキャン:拡張機能のコードベースで Chrome API の使用状況を調べます
  3. 対応付け:各 API 呼び出しに必要な権限を対応付けます(references/api-permission-map.md を参照)
  4. 生成:必要最小限の権限を設定した manifest.json を生成します
  5. 検証:Chrome のドキュメントと CWS ポリシーに照らして検証します
  6. 報告:ユーザーに表示される権限の警告を報告します

CRXJS プロジェクト:マニフェストはコードと package.json から自動生成されます。crxjs.config.ts で上書きできます。https://docs.crxjs.com/ を参照してください。

ドキュメントの参照先

マニフェストのクイックテンプレート

{
  "manifest_version": 3,
  "name": "Extension Name",
  "version": "1.0.0",
  "description": "Brief description. Max 132 chars for CWS.",
  "icons": {
    "16": "icons/icon16.png",
    "48": "icons/icon48.png",
    "128": "icons/icon128.png"
  },
  "action": {
    "default_popup": "popup.html",
    "default_icon": { "16": "icons/icon16.png" }
  },
  "permissions": [],
  "host_permissions": [],
  "background": { "service_worker": "background.js", "type": "module" }
}

権限の分析手順

  1. コードベースで chrome. API の呼び出しを grep します
  2. references/api-permission-map.md を使って、それぞれの権限を対応付けます
  3. 可能な場合は、tabs と host_permissions の組み合わせより activeTab を優先します
  4. 必須ではない機能には、オプション権限を使用します
  5. references/permission-warnings.md で警告文を確認します

よくある間違い

エラー修正
host_permissions を permissions の中に指定するURL を別の host_permissions 配列に移動します
<all_urls> を使用する特定のドメインパターンに絞り込みます
activeTab が不足しているユーザーのクリック時に現在のタブのみが必要な場合は追加します
tabs 権限を過剰に使用するタブの URL/タイトルに必要な場合のみ使用し、代わりに activeTab を使います
content_security_policy を文字列にするオブジェクトで指定する必要があります:{ "extension_pages": "..." }
web_accessible_resources を string[] にするresources と matches を含むオブジェクトを使用します

MV3 の主なルール

  1. host_permissions は permissions とは別に指定します
  2. サービスワーカーはバックグラウンドページの代わりに使用します(DOM と window は利用できません)
  3. content_security_policy は文字列ではなくオブジェクトです
  4. リモートコードの実行は禁止されています(eval や CDN スクリプトは使用できません)
  5. web_accessible_resources には matches 配列が必要です
  6. tabs.executeScript() ではなく chrome.scripting.executeScript() を使用します

参考資料

  • references/manifest-fields-reference.md - 型と例を含むすべてのマニフェストフィールド
  • references/manifest-templates.md - すぐに使えるテンプレート(ポップアップ、コンテンツスクリプト、サイドパネル、DevTools)
  • references/manifest-validation-checklist.md - 提出前の検証
  • references/api-permission-map.md - Chrome API と権限の対応付け
  • references/permission-warnings.md - 権限ごとにユーザーに表示される警告文
  • references/permission-strategies.md - オプション権限、activeTab、権限昇格のパターン

関連スキル

  • extension-create - プロジェクト全体のひな形作成
  • extension-analyze - セキュリティ監査とベストプラクティス

コメント