mcpField
E
extension-create

extension-create

github.com/quangpl开发64196 次安装7 周前更新
代码仓库

关于 extension-create

extension-create 是一项引导 Agent 使用 WXT 或 CRXJS 搭建 Chrome 扩展的技能。它会收集需求,并将所需功能对应到入口文件和权限,再指导配置与验证。

主要功能

  1. 01收集扩展项目需求
  2. 02提供 WXT 和 CRXJS 搭建指引
  3. 03映射功能与入口文件
  4. 04配置权限和项目设置
  5. 05验证开发与构建

适用场景

  1. 01按指定 UI 框架启动 Chrome 扩展
  2. 02添加弹出窗口、内容脚本或侧边栏入口
  3. 03通过开发和构建命令检查新项目

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/extension-create确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

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

详细介绍

Extension Create(WXT & CRXJS)

🚀 升级到 Premium 访问 https://app.extensionbooster.net/dashboard/services/extension-ai-kit 获取 Premium 版本。

自动搭建 Chrome 扩展项目。不要只做说明,而要执行整个工作流。

工作流(请执行)

步骤 1:收集用户需求

请用户确认:

  1. 扩展名称(kebab-case,例如 my-tab-manager)
  2. 简短描述(1 句话)
  3. UI 框架:React / Vue / Svelte / Vanilla(默认:React)
  4. 需要的功能(从下方列表中选择):
    • 弹出窗口 UI
    • 内容脚本(修改页面)
    • 后台 service worker
    • 侧边栏
    • 选项页
    • 上下文菜单
    • 标签页管理 / 存储 / 仅限当前标签页
步骤 2:根据框架选择脚手架工具
框架推荐的脚手架工具原因
ReactCRXJS 或 WXTCRXJS 支持 CSUI,提供快速入门
VueWXT原生支持 Vue
SvelteWXT原生支持 Svelte
Vanilla TSWXT配置最精简
步骤 3:搭建脚手架

WXT — 支持多种框架,基于文件的入口点:

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

CRXJS — 优先支持 React、自动生成 manifest,提供丰富的快速入门指南:

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

快速入门:https://crxjs.dev/ 完整文档:https://crxjs.dev/

步骤 3:根据功能进行配置

WXT:编辑 wxt.config.ts,设置权限和 manifest 字段。 CRXJS:编辑 vite.config.ts 或 manifest.json。CRXJS 会通过 vite 配置处理 manifest。

步骤 4:创建入口点

根据所选功能,在 entrypoints/ 中创建文件(见下文)。

步骤 5:验证设置

WXT:pnpm dev / pnpm build / pnpm zip CRXJS:pnpm dev / pnpm build / pnpm package(在 build/ 中创建 zip)


入口点速查

功能WXTCRXJS
弹出窗口entrypoints/popup/index.html + main.tsxsrc/popup.html
后台entrypoints/background.tssrc/background.ts
内容脚本entrypoints/content.tssrc/content.ts
选项页entrypoints/options/index.htmlsrc/options.html
侧边栏entrypoints/sidepanel/index.htmlsrc/sidepanel.html
标签页不适用src/settings.html

wxt.config.ts 模板

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" },
  },
});

扩展类型 → 入口点映射

类型入口点权限
弹出窗口工具popupactiveTab
页面修改器content, backgroundactiveTab 或 host_permissions
侧边栏助手sidepanel, backgroundsidePanel, storage
标签页管理器popup, backgroundtabs, storage
上下文菜单backgroundcontextMenus, activeTab

脚手架搭建后检查清单

  • 已完成 pnpm install
  • 配置包含正确的权限(WXT:wxt.config.ts / CRXJS:package.json)
  • 已为所选功能创建入口点
  • pnpm dev 可加载扩展,且没有错误
  • 加载已解压的扩展:WXT → .output/chrome-mv3-dev / CRXJS → build/chrome-mv3-dev

参考资料

  • references/wxt-scaffold-guide.md — CLI 选项、项目结构、配置
  • references/wxt-entrypoints.md — 所有入口点类型、命名、清单生成
  • references/extension-templates.md — 各扩展类型的即用模式
  • references/chrome-samples-reference.md — Google 按类别整理的官方示例

相关技能

  • extension-manifest — 生成/验证 manifest.json
  • extension-dev — 开发工作流、热重载、调试
  • extension-publish — 提交到应用商店

评论

支持 Markdown