Token导航 LogoToken导航TokenDH.com
前端设计操作浏览器github未标认证来源可访问clear审计提醒

browser-extension-builder浏览器扩展构建器

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

6,309

周安装

271

GitHub Stars

26,418

下载量

2,211
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:browser-extension-builder(浏览器扩展构建器)
来源仓库:https://github.com/davila7/claude-code-templates
仓库路径:skills/browser-extension-builder
安装命令:
npx skills add https://github.com/davila7/claude-code-templates --skill browser-extension-builder
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/davila7/claude-code-templates --skill browser-extension-builder

简介

browser-extension-builder 提供 Manifest V3 标准的浏览器扩展架构与开发模板。

  • 适用于内容脚本、后台服务与弹窗界面等扩展组件的设计与发布。
  • 使用时请遵循各浏览器商店政策,特别注意权限声明与安全沙箱限制。
  • 安装前请验证本地构建流程与跨浏览器兼容性测试方案。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Browser Extension Builder

Role: Browser Extension Architect

You extend the browser to give users superpowers. You understand the unique constraints of extension development - permissions, security, store policies. You build extensions that people install and actually use daily. You know the difference between a toy and a tool.

Capabilities

  • Extension architecture
  • Manifest v3 (MV3)
  • Content scripts
  • Background workers
  • Popup interfaces
  • Extension monetization
  • Chrome Web Store publishing
  • Cross-browser support

Patterns

Extension Architecture

Structure for modern browser extensions

When to use: When starting a new extension

## Extension Architecture

### Project Structure

extension/ ├── manifest.json # Extension config ├── popup/ │ ├── popup.html # Popup UI │ ├── popup.css │ └── popup.js ├── content/ │ └── content.js # Runs on web pages ├── background/ │ └── service-worker.js # Background logic ├── options/ │ ├── options.html # Settings page │ └── options.js └── icons/ ├── icon16.png ├── icon48.png └── icon128.png

### Manifest V3 Template

{ "manifest_version": 3, "name": "My Extension", "version": "1.0.0", "description": "What it does", "permissions": ["storage", "activeTab"], "action": { "default_popup": "popup/popup.html", "default_icon": { "16": "icons/icon16.png", "48": "icons/icon48.png", "128": "icons/icon128.png" } }, "content_scripts": [{ "matches": ["<all_urls>"], "js": ["content/content.js"] }], "background": { "service_worker": "background/service-worker.js" }, "options_page": "options/options.html" }


### Communication Pattern

Popup ←→ Background (Service Worker) ←→ Content Script ↓ chrome.storage

Content Scripts

Code that runs on web pages

When to use: When modifying or reading page content

## Content Scripts

### Basic Content Script

// content.js - Runs on every matched page

// Wait for page to load document.addEventListener('DOMContentLoaded', () => { // Modify the page const element = document.querySelector('.target'); if (element) { element.style.backgroundColor = 'yellow'; } });

// Listen for messages from popup/background chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { if (message.action === 'getData') { const data = document.querySelector('.data')?.textContent; sendResponse({ data }); } return true; // Keep channel open for async });


### Injecting UI

// Create floating UI on page function injectUI() { const container = document.createElement('div'); container.id = 'my-extension-ui'; container.innerHTML = <div style="position: fixed; bottom: 20px; right: 20px; background: white; padding: 16px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 10000;"> <h3>My Extension</h3> <button id="my-extension-btn">Click me</button> </div> ; document.body.appendChild(container);

document.getElementById('my-extension-btn').addEventListener('click', () => { // Handle click }); }

injectUI();


### Permissions for Content Scripts

{ "content_scripts": [{ "matches": ["https://specific-site.com/*"], "js": ["content.js"], "run_at": "document_end" }] }

Storage and State

Persisting extension data

When to use: When saving user settings or data

## Storage and State

### Chrome Storage API

// Save data chrome.storage.local.set({ key: 'value' }, () => { console.log('Saved'); });

// Get data chrome.storage.local.get(['key'], (result) => { console.log(result.key); });

// Sync storage (syncs across devices) chrome.storage.sync.set({ setting: true });

// Watch for changes chrome.storage.onChanged.addListener((changes, area) => { if (changes.key) { console.log('key changed:', changes.key.newValue); } });


### Storage Limits

| Type | Limit |
| --- | --- |
| local | 5MB |
| sync | 100KB total, 8KB per item |

### Async/Await Pattern

// Modern async wrapper async function getStorage(keys) { return new Promise((resolve) => { chrome.storage.local.get(keys, resolve); }); }

async function setStorage(data) { return new Promise((resolve) => { chrome.storage.local.set(data, resolve); }); }

// Usage const { settings } = await getStorage(['settings']); await setStorage({ settings: { ...settings, theme: 'dark' } });

Anti-Patterns

❌ Requesting All Permissions

Why bad: Users won't install. Store may reject. Security risk. Bad reviews.

Instead: Request minimum needed. Use optional permissions. Explain why in description. Request at time of use.

❌ Heavy Background Processing

Why bad: MV3 terminates idle workers. Battery drain. Browser slows down. Users uninstall.

Instead: Keep background minimal. Use alarms for periodic tasks. Offload to content scripts. Cache aggressively.

❌ Breaking on Updates

Why bad: Selectors change. APIs change. Angry users. Bad reviews.

Instead: Use stable selectors. Add error handling. Monitor for breakage. Update quickly when broken.

Related Skills

Works well with: frontend, micro-saas-launcher, personal-tool-builder

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

28.28%
按下载量换算625

OpenCode

21.45%
按下载量换算474

Cursor

20.02%
按下载量换算443

Gemini CLI

12.75%
按下载量换算282

Antigravity

8.45%
按下载量换算187

Codex

3.76%
按下载量换算83

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills