一键导入
extension-dev
Detect Chrome extension framework/stack, find proper docs, implement features, and debug across service worker, content script, and popup contexts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Detect Chrome extension framework/stack, find proper docs, implement features, and debug across service worker, content script, and popup contexts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate and manage all Chrome extension assets: icons (16–128px), CWS listing images, promotional tiles, and public/ folder setup. Supports ImageMagick, Gemini API, and manual prompt templates.
Build polished Chrome extension UIs (popup/sidepanel/options). Analyze existing UI, suggest improvements, set up design systems, enforce a11y and UX best practices.
Scan extension source code for Chrome Web Store rejection risks. Generates report with issues, root causes, and fixes. Use when: review, pre-submit, rejection, CWS compliance, store review.
Build backend APIs for Chrome extensions. NestJS + MongoDB (Mongoose) recommended stack. Auth, webhooks, license verification, CORS. Use when: backend, API, server, database, license, webhook.
Integrate payment gateways into Chrome extensions. Stripe, Paddle, Lemon Squeezy, Polar, PayPal, and more. Licensing, subscriptions, freemium. Use when: payment, monetize, subscribe, billing, premium.
Auto-scaffold Chrome extensions with WXT or Plasmo. Ask user for name/features, scaffold, configure entrypoints. Use when: create extension, scaffold, new extension.
| name | extension-dev |
| description | Detect Chrome extension framework/stack, find proper docs, implement features, and debug across service worker, content script, and popup contexts. |
Detect the stack, find docs, implement the feature, debug. Do NOT just explain — execute the workflow.
Run detection (see references/framework-detection.md):
ls wxt.config.ts plasmo.config.ts vite.config.ts manifest.json 2>/dev/null
cat package.json | grep -E '"wxt|plasmo|crxjs|react|vue|svelte"'
| File found | Framework |
|---|---|
wxt.config.ts | WXT |
package.json has plasmo | Plasmo |
vite.config has @crxjs | CRXJS |
manifest.json in root, none above | Vanilla |
Use docs-seeker skill or web search to find proper docs for the detected stack.
Extension framework docs:
UI framework docs (fetch based on detected framework):
Code style guides (always follow):
Follow framework conventions:
entrypoints/, configure wxt.config.tsmanifest.json, add JS files directlyFor Chrome API usage, check references/chrome-api-quick-reference.md.
For messaging between contexts, check references/message-passing-patterns.md.
See references/debugging-guide.md for context-specific DevTools access.
Quick map:
| Context | How to inspect |
|---|---|
| Service worker | chrome://extensions → "inspect" link |
| Content script | Page DevTools → Console → select extension context |
| Popup | Right-click popup → Inspect |
| Options / Side panel | Open page → F12 |
| Framework | Command | Notes |
|---|---|---|
| WXT | pnpm dev | Full HMR, auto-reloads extension |
| Plasmo | pnpm dev | HMR for popup/content |
| CRXJS | vite dev | Vite HMR |
| Vanilla | Manual | Reload at chrome://extensions |
| API | Purpose | Permission |
|---|---|---|
chrome.tabs | Query, create, update tabs | tabs |
chrome.windows | Manage browser windows | windows |
chrome.storage.local | Persist data locally | storage |
chrome.storage.sync | Sync data across devices | storage |
chrome.storage.session | Session-only data | storage |
chrome.action | Toolbar icon, popup, badge | — |
chrome.contextMenus | Right-click menu items | contextMenus |
chrome.sidePanel | Side panel UI | sidePanel |
chrome.notifications | Desktop notifications | notifications |
chrome.scripting | Inject scripts/CSS into pages | scripting |
chrome.runtime | Messaging, lifecycle, manifest | — |
chrome.webRequest | Intercept/modify network requests | webRequest |
chrome.declarativeNetRequest | Block/redirect requests declaratively | declarativeNetRequest |
chrome.webNavigation | Track page navigation events | webNavigation |
chrome.identity | OAuth2, Google Sign-In | identity |
chrome.alarms | Schedule periodic tasks | alarms |
chrome.commands | Keyboard shortcuts | commands |
chrome.cookies | Read/write cookies | cookies |
chrome.history | Browser history access | history |
chrome.bookmarks | Read/write bookmarks | bookmarks |
One-time (popup → service worker):
// sender
const response = await chrome.runtime.sendMessage({ type: 'GET_DATA' });
// receiver (background)
chrome.runtime.onMessage.addListener((msg, sender, reply) => {
if (msg.type === 'GET_DATA') { reply({ data: '...' }); return true; }
});
Content script → service worker: same pattern, return true for async.
Tab-targeted (background → content):
chrome.tabs.sendMessage(tabId, { type: 'ACTION' });
Full patterns in references/message-passing-patterns.md.
references/framework-detection.md — detect WXT/Plasmo/CRXJS/vanilla, dev commandsreferences/framework-styleguides.md — UI framework docs, style guides, extension framework docsreferences/chrome-api-quick-reference.md — 30+ APIs with permissions and doc linksreferences/message-passing-patterns.md — all messaging patterns with TypeScript examplesreferences/debugging-guide.md — DevTools per context, common errors, tipsextension-create — scaffold new extension with WXTextension-manifest — generate/validate manifest.jsonextension-test — write and run extension testsextension-analyze — analyze existing extension codebase