browser-extension-developer
Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.
When & Why to Use This Skill
The Browser Extension Developer skill is a specialized toolkit designed to streamline the creation, maintenance, and optimization of cross-browser extensions. Leveraging the modern WXT framework and Manifest V3, it provides a robust environment for managing content scripts, background processes, and multi-language support (i18n) across Chrome, Firefox, and Edge. This skill is essential for developers looking to build high-quality, compatible, and scalable browser-based tools with automated build and linting workflows.
Use Cases
- 1. Cross-Browser Development: Efficiently build and maintain extensions for Chrome, Firefox, and Edge from a unified codebase using the WXT framework.
- 2. Manifest V3 Migration: Seamlessly upgrade existing browser extensions to the latest Manifest V3 standards to ensure long-term compatibility and security.
- 3. Global Localization (i18n): Manage and implement internationalization for over 12 languages, allowing for easy expansion into global markets.
- 4. Web Page Enhancement: Develop and inject custom UI elements, such as buttons or overlays, into specific web platforms like GitHub to improve user workflows.
- 5. Automated Build Pipelines: Utilize pre-configured commands for development, linting, and building production-ready files for multiple browser stores.
| name | browser-extension-developer |
|---|---|
| description | Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates. |
Browser Extension Developer
Cross-browser extension (Chrome/Firefox/Edge) using WXT framework with Manifest V3. Injects "Repomix" button into GitHub repository pages.
Structure
browser/
├── entrypoints/ # background.ts, content.ts
├── public/_locales/ # i18n (12 languages)
├── wxt.config.ts # WXT configuration
└── .output/ # Built files (chrome-mv3, firefox-mv2)
Commands
npm run dev- Development mode (Chrome default)npm run dev:firefox- Firefox dev modenpm run build-all- Build all browsersnpm run lint/npm run test
i18n
12 languages: en, ja, de, fr, es, pt_BR, id, vi, ko, zh_CN, zh_TW, hi
New language: Create public/_locales/[code]/messages.json with keys: appDescription, openWithRepomix
Notes
- Chrome/Edge use
chrome.*APIs, Firefox may need polyfills - Run lint and tests before completion