chrome-extensions

Build and publish Chrome extensions using Manifest V3 APIs and Chrome Web Store guidelines.

Updated Aug 6, 2026
One-click install
npx skills add https://github.com/ferrarifankid04/ai-skills-public --skill chrome-extensions-ferrarifankid04
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chrome-extensions
Source: https://github.com/ferrarifankid04/ai-skills-public/tree/main/antigravity/plugins/modern-web-guidance-plugin/skills/chrome-extensions
Command: npx skills add https://github.com/ferrarifankid04/ai-skills-public --skill chrome-extensions-ferrarifankid04

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Chrome extension development fails frequently due to subtle Manifest V3 pitfalls: missing icon files, unopenable side panels, CSP-blocked code execution, ephemeral service worker state, and Chrome Web Store rejections from vague permission justifications. This Skill encodes the mandatory rules and publishing workflow that prevent these failures. ## Core Features & Use Cases - Manifest V3 Development Rules: Enforces 18 mandatory rules covering icons, side panels, sandboxed code execution, service worker state management, tab/desktop capture, offscreen documents, and message passing. - API Reference Library: Provides detailed guides for content scripts, context menus, declarativeNetRequest, DevTools panels, omnibox, chrome.identity authentication, and the Prompt API. - Chrome Web Store Publishing: Manages a CHROMEWEBSTORE.md file tracking listing copy, permission justifications, privacy disclosures, version history, and a pre-publish review checklist. - Use Case: When asked to build a page summarizer extension, it generates a working Manifest V3 project with a side panel, correct permissions (tabs + host_permissions instead of activeTab), and prepares the store listing documentation. ## Quick Start Use the chrome-extensions skill to build a Manifest V3 extension that highlights search terms on any webpage and prepare it for Chrome Web Store submission.

Frequently Asked Questions about chrome-extensions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a Chrome extension with Manifest V3?

Use manifest_version 3 with a background service worker instead of persistent scripts, chrome.action instead of chrome.browserAction, and chrome.scripting.executeScript instead of chrome.tabs.executeScript. Declare host_permissions separately from permissions and avoid inline scripts in HTML.

How do I open a Chrome extension side panel?

Defining side_panel in the manifest is not enough; add an explicit trigger such as chrome.action.onClicked calling chrome.sidePanel.open(), or call chrome.sidePanel.setPanelBehavior with openPanelOnActionClick set to true. Do not define default_popup when using setPanelBehavior.

Why does my Chrome extension service worker lose state?

Service workers terminate after roughly 30 seconds of inactivity, so global variables are wiped. Persist state in chrome.storage.local or chrome.storage.session, use chrome.alarms instead of setTimeout, and register all event listeners synchronously at the top level.

Can I use eval or inline scripts in a Chrome extension page?

No, extension CSP blocks eval, new Function, and inline scripts in extension pages. To execute user code, declare a sandboxed page in the manifest and communicate via postMessage, or use a blob URL or srcdoc iframe which creates a separate origin.

Why was my Chrome Web Store submission rejected?

Common causes are vague permission justifications, a missing or dead privacy policy URL, mismatched data disclosure declarations, and unnecessary files in the ZIP. Every permission needs a specific plain-English reason, and the package must exclude .git, node_modules, and .env files.

Does activeTab permission work from a side panel button click?

No, activeTab only grants access on direct gestures like clicking the extension icon, a context menu item, or a keyboard shortcut. For side panel interactions that read page content, declare the tabs and scripting permissions plus host_permissions instead.