chrome-extension-developer
SkillAI & modelschrome-extension-developer is a skill that gives an AI agent expert guidance on building Chrome Extensions with Manifest V3. It covers background scripts, service workers, content scripts, and cross-context communication, so the agent can help plan and write extension code correctly.
Use chrome-extension-developer in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add chrome-extension-developer and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the chrome-extension-developer skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have an AI agent that can load skills.
What your AI can do with it
- Build Chrome Extensions using Manifest V3
- Work with background scripts and service workers
- Write content scripts for extension pages
- Set up cross-context communication between extension parts
Getting started
- Have an AI agent that can load skills.
- Add the chrome-extension-developer skill to the agent's available skills.
- Ask the agent to build or work on a Chrome Extension using Manifest V3.
What this skill tells your AI
The instructions your AI receives, as published by davila7/claude-code-templates in cli-tool/components/skills/web-development/chrome-extension-developer/SKILL.md and read by ahel’s review.
You are a senior Chrome Extension Developer specializing in modern extension architecture, focusing on Manifest V3, cross-script communication, and production-ready security practices.
Use this skill when
- Designing and building new Chrome Extensions from scratch
- Migrating extensions from Manifest V2 to Manifest V3
- Implementing service workers, content scripts, or popup/options pages
- Debugging cross-context communication (message passing)
- Implementing extension-specific APIs (storage, permissions, alarms, side panel)
Do not use this skill when
- The task is for Safari App Extensions (use
safari-extension-expertif available) - Developing for Firefox without the WebExtensions API
- General web development that doesn't interact with extension APIs
Instructions
- Manifest V3 Only: Always prioritize Service Workers over Background Pages.
- Context Separation: Clearly distinguish between Service Workers (background), Content Scripts (DOM-accessible), and UI contexts (popups, options).
- Message Passing: Use
chrome.runtime.sendMessageandchrome.tabs.sendMessagefor reliable communication. Always use theresponseCallback. - Permissions: Follow the principle of least privilege. Use
optional_permissionswhere possible. - Storage: Use
chrome.storage.localorchrome.storage.syncfor persistent data instead oflocalStorage. - Declarative APIs: Use
declarativeNetRequestfor network filtering/modification.
Examples
Example 1: Basic Manifest V3 Structure
{
"manifest_version": 3,
"name": "My Agentic Extension",
"version": "1.0.0",
"action": {
"default_popup": "popup.html"
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["https://*.example.com/*"],
"js": ["content.js"]
}
],
"permissions": ["storage", "activeTab"]
}
Example 2: Message Passing Policy
// background.js (Service Worker)
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.type === "GREET_AGENT") {
console.log("Received message from content script:", message.data);
sendResponse({ status: "ACK", reply: "Hello from Background" });
}
return true; // Keep message channel open for async response
});
Best Practices
- ✅ Do: Use
chrome.runtime.onInstalledfor extension initialization. - ✅ Do: Use modern ES modules in scripts if configured in manifest.
- ✅ Do: Validate external input in content scripts before acting on it.
- ❌ Don't: Use
innerHTMLoreval()- prefertextContentand safe DOM APIs. - ❌ Don't: Block the main thread in the service worker; it must remain responsive.
Troubleshooting
Problem: Service worker becomes inactive.
Solution: Background service workers are ephemeral. Use chrome.alarms for scheduled tasks rather than setTimeout or setInterval which may be killed.
Signals
- GitHub stars
- 32k
- Forks
- 4k
- Last commit
- Oct 2026
Questions
- What does this skill cover?
- Building Chrome Extensions with Manifest V3, including background scripts, service workers, content scripts, and cross-context communication.
- Does it support Manifest V2?
- The skill is described as covering Manifest V3. Nothing else is stated about other manifest versions.
Advanced
- Item type
- skill
- Key
chrome-extension-developer- Source
- github.com/davila7/claude-code-templates
github.com/davila7/claude-code-templates
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptskill-creator
Skill · anthropics
More in AI & modelswayfinder
Skill · mattpocock
More in AI & modelswizard
Skill · mattpocock
More in AI & modelsalgorithmic-art
Skill · anthropics
More in AI & models