extension-toolchain

Guide browser extension development with WXT, Plasmo, or CRXJS for Manifest V3.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/phrazzld/claude-config --skill extension-toolchain
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: extension-toolchain
Source: https://github.com/phrazzld/claude-config/tree/main/skills/extension-toolchain
Command: npx skills add https://github.com/phrazzld/claude-config --skill extension-toolchain

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Offers guidance on building browser extensions with WXT, Plasmo, or CRXJS for Manifest V3.

Core Features & Use Cases

  • Framework comparison: WXT for framework-agnostic development, Plasmo for React-centric workflows, CRXJS for minimal tooling.
  • Project structure: Recommended layouts for extensions with multiple entry points.

Quick Start

Initialize a new extension with WXT and choose a framework, then start development.

Frequently Asked Questions about extension-toolchain

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

FAQPage Schema
What's the best way to build a browser extension for Manifest V3?▼

Manifest V3 is the current standard for browser extensions. Use a modern toolchain like WXT, Plasmo, or CRXJS to handle MV3 requirements automatically. WXT provides framework-agnostic development with TypeScript-first setup and Vite-powered builds; Plasmo optimizes for React workflows; CRXJS offers minimal tooling. All three guide you through MV3 patterns and cross-browser compatibility.

How do I choose between WXT, Plasmo, and CRXJS for extension development?▼

WXT is ideal for framework-agnostic projects prioritizing flexibility and modern tooling. Plasmo suits React-centric workflows with streamlined setup. CRXJS works best when you want minimal abstraction and direct control. Consider your framework preference, team experience, and whether you need automated hot module replacement and content-script auto-reload—all supported by WXT and Plasmo.

Can I build a browser extension that works across Chrome, Firefox, and Safari?▼

Yes. WXT, Plasmo, and CRXJS all support multi-browser extension development with cross-browser compatibility built in. They handle platform-specific differences and Manifest V3 variations, letting you maintain a single codebase and publish to Chrome Web Store, Firefox Add-ons, and Safari App Store through automated workflows.

Do I need TypeScript to build extensions with modern toolchains?▼

TypeScript-first development is a core feature of WXT, Plasmo, and CRXJS, providing type safety and better IDE support. While some toolchains allow JavaScript, TypeScript is the recommended default for these modern extension frameworks and improves maintainability in multi-entry-point projects.

How do content scripts auto-reload during extension development?▼

WXT and Plasmo provide hot module replacement and content-script auto-reload out of the box, eliminating manual refresh cycles. This accelerates development by instantly reflecting code changes in the browser without reloading the entire extension or target webpage.

What's the recommended project structure for a browser extension with multiple entry points?▼

Modern toolchains handle multi-entry-point layouts automatically. Structure your project with separate directories for background scripts, content scripts, popup UI, and options pages. WXT and Plasmo infer entry points from file location conventions, while CRXJS requires explicit manifest configuration—all generate correct Manifest V3 files.