
Chrome Extension Developer
FreeBuild and optimize Chrome Extensions with Manifest V3.
Free · Opens the source repo
What Chrome Extension Developer does
This skill is tailored for developers looking to create and enhance Chrome Extensions using the latest Manifest V3 architecture. It provides in-depth guidance on structuring extensions with a focus on service workers, content scripts, and effective cross-context communication. By following the best practices outlined, users can ensure their extensions are not only functional but also secure and efficient.
The skill emphasizes the importance of using service workers instead of background pages, promoting a modern approach to extension development. Users will learn how to implement essential features such as message passing between different parts of the extension, managing permissions wisely, and utilizing Chrome's storage APIs for data persistence. This skill is ideal for both new developers starting from scratch and experienced developers migrating existing extensions from Manifest V2 to V3.
Additionally, the skill includes practical examples and troubleshooting tips to help users navigate common challenges. For example, it provides a clear structure for a basic Manifest V3 file and demonstrates effective message handling between service workers and content scripts. By adhering to the guidelines, developers can avoid pitfalls related to security and performance, ensuring a smooth user experience for their extension's end-users.
Overall, this skill is a comprehensive resource for anyone involved in Chrome Extension development, offering a mix of theoretical knowledge and practical implementation strategies.
When to use it
Use this skill when designing new Chrome Extensions or updating existing ones to Manifest V3.
When not to use it
Avoid this skill for tasks related to Safari App Extensions or general web development not involving Chrome Extension APIs.
What you can build with it
Creating a New Chrome Extension
Leverage this skill to design and implement a new Chrome Extension from scratch, ensuring it meets modern standards.
Migrating to Manifest V3
Use this skill to effectively transition an existing extension from Manifest V2 to V3, updating necessary components.
Debugging Communication Issues
Utilize the guidance provided to troubleshoot and resolve issues related to message passing between service workers and content scripts.
How to install Chrome Extension Developer
View source1. Install with the skills CLI
npx skills add sickn33/agentic-awesome-skills/chrome-extension-developer --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by sickn33You 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. <!-- security-allowlist: defensive extension guidance --> - ❌ 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.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Frequently asked questions about Chrome Extension Developer
Similar skills
Playwright Component Testing
Test React and Vue components in isolation with Playwright.
Fluent UI Blazor
Integrate Fluent UI components in Blazor applications effortlessly.
Build MCP App
Create interactive UI widgets for MCP servers.
Web Design Reviewer
Identify and fix design issues in websites efficiently.
Markstream Install
Seamlessly integrate Markstream for Markdown rendering.
GSAP & Framer Scroll Animation
Create advanced scroll animations effortlessly.
