browser-extension

Create MV3-compliant browser extensions for Chrome, Firefox, and Edge.

6|Updated Dec 7, 2025
One-click install
npx skills add https://github.com/timequity/plugins --skill browser-extension
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: browser-extension
Source: https://github.com/timequity/plugins/tree/main/vibe-coder/skills/browser-extension
Command: npx skills add https://github.com/timequity/plugins --skill browser-extension

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides building browser extensions using Manifest V3, including service workers, content scripts, and UI components.

Core Features & Use Cases

  • MV3 Manifest & Extensions: Setup, permissions, and store-ready packaging.
  • Service Worker & Content Scripts: Background logic and page interaction.
  • Cross-browser Compatibility: Chrome, Firefox, Edge variations and compatibility tips.

Quick Start

Install dependencies, create manifest.json and src scripts, build the project, and load the unpacked extension in a browser for testing.

Frequently Asked Questions about browser-extension

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

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

Manifest V3 browser extensions require a manifest.json file declaring permissions, host_permissions, and a service worker for background logic. Set manifest_version to 3, define your extension's capabilities, create a service worker file, and package the extension directory to load it unpacked in Chrome, Firefox, or Edge for testing and distribution.

What's the difference between content scripts and service workers in MV3 extensions?

Content scripts inject into web pages to interact with page content and communicate with your extension via isolated world messaging. Service workers run persistently in the background to handle events, manage permissions, and coordinate extension logic without direct page access, replacing the older background page model.

Can I use the same extension code across Chrome, Firefox, and Edge?

Manifest V3 extensions work across Chrome, Firefox, and Edge with a shared codebase, though cross-browser compatibility requires testing platform-specific behaviors. Use the core MV3 structure and manifest.json configuration, then test and adjust for minor differences in each browser's implementation.

How do I set up popup and options pages in an MV3 extension?

Define popup and options_page paths in manifest.json pointing to HTML files. Create corresponding UI components with HTML, CSS, and JavaScript that communicate with your service worker using chrome.runtime messaging. Package these files with your manifest and other extension assets for a complete extension interface.

What permissions do I need to declare in an MV3 extension manifest?

MV3 extensions require two permission types in manifest.json: permissions for APIs your extension uses (storage, tabs, webRequest) and host_permissions for specific URLs or patterns the extension accesses. Declare only necessary permissions to comply with store requirements and security best practices.

How do I test an unpacked MV3 extension during development?

Load your extension unpacked by enabling Developer Mode in the browser's extension management page, then selecting your project directory. The browser loads all files from that directory, allowing you to test changes by reloading the extension after edits to manifest.json, service workers, or UI components.