Browser Extension Builder
Software development skill, available on Zeplik
Browser Extension Builder is a ready-to-run software development skill on Zeplik. Not for general web app building (use app-builder). Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer.
The Browser Extension Builder skill loads automatically when your request matches it, or you can invoke it directly by typing /browser-extension-builder in any chat. It works with attachments, connectors, and any model that supports the task, so you get the same expert method every time without setting anything up.
What the Browser Extension Builder skill can do
- Scaffold Manifest V3 extension project structure with popup and background files
- Build content scripts that read and modify web page content
- Implement chrome.storage patterns for settings and cross device sync
- Design popup, background worker, and content script messaging architecture
Try these prompts on Zeplik
Pick a prompt to open it in the Zeplik app. If you are not signed in yet, your prompt is waiting for you the moment you do.
How the Browser Extension Builder skill works
/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. Use when starting a new extension.
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 and content scripts both message through the background service worker, which reads and writes chrome.storage:
Popup <-> Background (Service Worker) <-> Content Script, with chrome.storage below the service worker.
Content Scripts
Code that runs on web pages. Use when modifying or reading page content.
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. Use when saving user settings or data.
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.
Usage
/browser-extension-builder $ARGUMENTS
How to use the Browser Extension Builder skill
Sign in to Zeplik
Create a free Zeplik account or sign in. New accounts start with free credits, so you can try the Browser Extension Builder skill right away.
Describe your software development task
Ask in plain language, or type /browser-extension-builder to invoke the skill directly. Zeplik recognizes the Browser Extension Builder skill and applies its method.
Review and refine the result
Zeplik returns a clear, structured answer. Ask follow-ups in the same chat to refine it or take the next step.
Source and credit
- Author
- davila7
- License
- MIT
Adapted from the open-source davila7/claude-code-templates project and tuned to run natively on Zeplik. View source on GitHub.
Frequently asked questions
- What is the Browser Extension Builder skill?
- Browser Extension Builder is a ready-to-run software development skill on Zeplik. Not for general web app building (use app-builder). Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer.
- How do I use Browser Extension Builder on Zeplik?
- Sign in to Zeplik and ask in plain language, or type /browser-extension-builder in any chat to invoke it directly. The skill applies its method and returns a result you can refine in the same conversation.
- Which AI model does the Browser Extension Builder skill use?
- Any model you choose. Zeplik works across every model in one chat, so the Browser Extension Builder skill runs on your preferred model for the task.
- Where does the Browser Extension Builder skill come from?
- The Browser Extension Builder skill is adapted from the open-source davila7/claude-code-templates project (MIT) and tuned to run natively on Zeplik. The original source is linked on this page.
- How much does the Browser Extension Builder skill cost?
- Using the skill is free to start. You only spend Zeplik credits when the assistant runs, and new accounts begin with free credits.
Related software development skills
- .NET BackendBuild ASP.NET Core 8+ backends with EF Core: auth, background jobs, production API patterns
- Advanced Git WorkflowsUse for advanced Git surgery: interactive rebase, cherry-pick, bisect, reflog recovery, and history cleanup before merging. Not for parallel worktree workflows (use using-git-worktrees).
- Adversarial Code ReviewHunt for bugs in code the user shares by assuming defects exist and attacking the code through several distinct lenses, then report severity-ranked findings with evidence. Use for "review this", "what could go wrong", "bug hunt", or pre-merge scrutiny of a change. Read-only, it reports problems and does not rewrite the code. Not for style cleanup (use simplify-code) or for writing new code.
- AI Agent FrameworksUse when building multi-agent systems or agent orchestration -- LangChain/LangGraph, agent team design, task coordination, pipelines. Not for authoring a Zeplik skill (use skill-creator).
- Algolia SearchAdd Algolia search: indexing strategies, React InstantSearch, relevance tuning, search-as-you-type
- Android CI/CDAutomate Android CI/CD to Google Play: keystore, GitHub Secrets, multi-stage release workflow for RN, Flutter, native
More on Zeplik
Try Browser Extension Builder on Zeplik
Every model, one chat. Bring the Browser Extension Builder skill into your next conversation and let the assistant do the work.