browser-extension-builder
Helps your agent build browser extensions. It understands how to make them work on Chrome, Firefox, and other stores.
What it does
This agent helps you build extensions for browsers like Chrome and Firefox. It knows how to structure the project, write the necessary code, and even how to publish your extension to the stores.
When to use it
- ✓When you have an idea for a tool that improves your browser.
- ✓If you want to add features to websites you visit.
- ✓When thinking about how to make money from an online tool.
Example of what to ask your AI
“Create an extension that changes the background color of all websites I visit to blue.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It understands the structure of an extension, how different files communicate, and how to make the code run in the browser or on web pages.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill browser-extension-builderOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/browser-extension-builder/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Browser Extension Builder
Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing.
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.
Expertise
- Chrome extension APIs
- Manifest v3
- Content scripts
- Service workers
- Extension UX
- Store publishing
Capabilities
- Extension architecture
- Manifest v3 (MV3)
- Content scripts
- Background workers
- Popup interfaces
- Extension monetization
- Chrome Web Store publishing
- Cross-browser support
Patterns
Architecture Patterns
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 |
…
FAQ
What is 'Manifest V3'?
It's the latest version of the rules for building Chrome extensions, focusing more on security and performance.
What are 'Content Scripts'?
These are pieces of code that run directly on the web pages you visit, allowing you to modify or read their content.
How can an extension make money?
There are several ways, such as offering a free basic version and a paid one with more features, selling the extension once, or accepting donations.
Details
Original description by the author
Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing.
Popularity
- GitHub stars
- 48k
- Ranking position
- #2454
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
android-clean-architecture
Makes your agent organize Android projects efficiently. It structures the code to make maintenance and new feature development easier.
affaan-m/ECC
compose-multiplatform-patterns
Helps your agent use Compose Multiplatform and Jetpack Compose patterns in KMP projects. It covers state management, navigation, theming, and performance. Useful for creating consistent UIs.
affaan-m/ECC
dart-flutter-patterns
Makes your agent write code for Dart and Flutter apps. It uses modern patterns to create robust and manageable apps.
affaan-m/ECC