mcpField
E
extension-create

extension-create

github.com/quangplDevelopment64196 installsUpdated 7w ago
Repository

About extension-create

extension-create is a skill that guides agents through scaffolding a Chrome extension with WXT or CRXJS. It gathers requirements, maps requested features to entrypoints and permissions, then walks through configuration and verification.

Key features

  1. 01Requirement gathering for extension projects
  2. 02WXT and CRXJS scaffolding guidance
  3. 03Feature-to-entrypoint mapping
  4. 04Configuration and permission setup
  5. 05Development and build verification

Use cases

  1. 01Starting a Chrome extension from a chosen UI framework
  2. 02Adding popup, content script, or side panel entrypoints
  3. 03Checking a new scaffold with development and build commands

Install

Copy the command and run it in a terminal.

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

After installing, type/extension-createin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
chrome-samples-reference.md
extension-templates.md
wxt-entrypoints.md
wxt-scaffold-guide.md

Details

From the project README

Extension Create (WXT & CRXJS)

🚀 Upgrade to Premium Get the Premium version at https://app.extensionbooster.net/dashboard/services/extension-ai-kit

Auto-scaffold a Chrome extension project. Do NOT just explain — execute the workflow.

Workflow (Execute This)

Step 1: Gather requirements from user

Ask the user to confirm:

  1. Extension name (kebab-case, e.g. my-tab-manager)
  2. Short description (1 sentence)
  3. UI framework: React / Vue / Svelte / Vanilla (default: React)
  4. Features needed (pick from list below):
    • Popup UI
    • Content script (modify pages)
    • Background service worker
    • Side panel
    • Options page
    • Context menu
    • Tab management / Storage / Active tab only
Step 2: Pick scaffolder based on framework choice
FrameworkRecommended ScaffolderWhy
ReactCRXJS or WXTCRXJS has CSUI, quickstarts
VueWXTFirst-class Vue support
SvelteWXTFirst-class Svelte support
Vanilla TSWXTLightest setup
Step 3: Scaffold

WXT — multi-framework, file-based entrypoints:

npx wxt@latest init <name> --template <react|vue|svelte|vanilla>
cd <name> && pnpm install

CRXJS — React-first, auto-manifest, rich quickstarts:

# Basic React
npm create crxjs
# With Tailwind CSS
npm create crxjs
# With specific template (see https://crxjs.dev/)
npm create crxjs

Quickstarts: https://crxjs.dev/ Full docs: https://crxjs.dev/

Step 3: Configure based on features

WXT: Edit wxt.config.ts with permissions and manifest fields. CRXJS: Edit vite.config.ts or manifest.json. CRXJS handles manifest using vite config.

Step 4: Create entrypoints

Create files in entrypoints/ based on chosen features (see below).

Step 5: Verify setup

WXT: pnpm dev / pnpm build / pnpm zip CRXJS: pnpm dev / pnpm build / pnpm package (creates zip in build/)


Entrypoints Quick Reference

FeatureWXTCRXJS
Popupentrypoints/popup/index.html + main.tsxsrc/popup.html
Backgroundentrypoints/background.tssrc/background.ts
Content scriptentrypoints/content.tssrc/content.ts
Options pageentrypoints/options/index.htmlsrc/options.html
Side panelentrypoints/sidepanel/index.htmlsrc/sidepanel.html
Tab pageN/Asrc/settings.html

wxt.config.ts Template

import { defineConfig } from "wxt";

export default defineConfig({
  extensionApi: "chrome",
  modules: ["@wxt-dev/module-react"], // or vue/svelte
  manifest: {
    name: "My Extension",
    description: "What it does",
    permissions: ["storage", "activeTab"],
    host_permissions: ["<all_urls>"],
    action: { default_popup: "popup.html" },
  },
});

Extension Type → Entrypoints Map

TypeEntrypointsPermissions
Popup toolpopupactiveTab
Page modifiercontent, backgroundactiveTab or host_permissions
Side panel assistantsidepanel, backgroundsidePanel, storage
Tab managerpopup, backgroundtabs, storage
Context menubackgroundcontextMenus, activeTab

Post-Scaffold Checklist

  • pnpm install completed
  • Config has correct permissions (WXT: wxt.config.ts / CRXJS: package.json)
  • Entrypoints created for chosen features
  • pnpm dev loads extension without errors
  • Load unpacked: WXT → .output/chrome-mv3-dev / CRXJS → build/chrome-mv3-dev

References

  • references/wxt-scaffold-guide.md — CLI options, project structure, config
  • references/wxt-entrypoints.md — All entrypoint types, naming, manifest generation
  • references/extension-templates.md — Ready-to-use patterns per extension type
  • references/chrome-samples-reference.md — Google's official samples by category

Related Skills

  • extension-manifest — Generate/validate manifest.json
  • extension-dev — Dev workflow, hot reload, debugging
  • extension-publish — Store submission

Comments

Markdown supported