extension-create
Auto-scaffold Chrome extensions with WXT or CRXJS. Ask user for name/features, scaffold, configure entrypoints. Use when: create extension, scaffold, new extension.
How do I install this agent skill?
npx skills add https://github.com/quangpl/browser-extension-skills --skill extension-createIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill facilitates Chrome extension scaffolding using industry-standard tools. It is generally safe, but presents a potential command injection surface if user-supplied extension names are not properly sanitized before being executed in shell commands.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
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:
- Extension name (kebab-case, e.g.
my-tab-manager) - Short description (1 sentence)
- UI framework: React / Vue / Svelte / Vanilla (default: React)
- 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
| Framework | Recommended Scaffolder | Why |
|---|---|---|
| React | CRXJS or WXT | CRXJS has CSUI, quickstarts |
| Vue | WXT | First-class Vue support |
| Svelte | WXT | First-class Svelte support |
| Vanilla TS | WXT | Lightest 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
| Feature | WXT | CRXJS |
|---|---|---|
| Popup | entrypoints/popup/index.html + main.tsx | src/popup.html |
| Background | entrypoints/background.ts | src/background.ts |
| Content script | entrypoints/content.ts | src/content.ts |
| Options page | entrypoints/options/index.html | src/options.html |
| Side panel | entrypoints/sidepanel/index.html | src/sidepanel.html |
| Tab page | N/A | src/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
| Type | Entrypoints | Permissions |
|---|---|---|
| Popup tool | popup | activeTab |
| Page modifier | content, background | activeTab or host_permissions |
| Side panel assistant | sidepanel, background | sidePanel, storage |
| Tab manager | popup, background | tabs, storage |
| Context menu | background | contextMenus, activeTab |
Post-Scaffold Checklist
-
pnpm installcompleted - Config has correct permissions (WXT:
wxt.config.ts/ CRXJS:package.json) - Entrypoints created for chosen features
-
pnpm devloads 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, configreferences/wxt-entrypoints.md— All entrypoint types, naming, manifest generationreferences/extension-templates.md— Ready-to-use patterns per extension typereferences/chrome-samples-reference.md— Google's official samples by category
Related Skills
extension-manifest— Generate/validate manifest.jsonextension-dev— Dev workflow, hot reload, debuggingextension-publish— Store submission
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/quangpl/browser-extension-skills/extension-create">View extension-create on skillZs</a>