Skip to content
Skillpedia
Websites & UI (frontend)48k · #2514

chrome-extension-developer

Has your agent build extensions for the Chrome browser. It understands how to make scripts work and communicate.

What it does

This agent helps build extensions for the Google Chrome browser. It knows how to create the parts that run in the background, those that interact with the pages you visit, and how they communicate.

When to use it

  • ✓Building a new Chrome extension from scratch.
  • ✓Updating an old extension to the new Chrome standard (Manifest V3).
  • ✓Making the different parts of the extension talk to each other.

Example of what to ask your AI

“Create a simple extension that changes the background color of a web page.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/chrome-extension-developer/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/chrome-extension-developer/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It uses the latest Chrome rules (Manifest V3) to organize the code. It knows how to separate the code running in the browser from the code running on the page, and how to make them exchange information securely.

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 chrome-extension-developer

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/chrome-extension-developer/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

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-expert if available)
  • Developing for Firefox without the WebExtensions API
  • General web development that doesn't interact with extension APIs

Instructions

  1. Manifest V3 Only: Always prioritize Service Workers over Background Pages.
  2. Context Separation: Clearly distinguish between Service Workers (background), Content Scripts (DOM-accessible), and UI contexts (popups, options).
  3. Message Passing: Use chrome.runtime.sendMessage and chrome.tabs.sendMessage for reliable communication. Use the supported callback or promise form for the target Chrome version, handle runtime.lastError/rejections, and do not mix response mechanisms.
  4. Permissions: Follow the principle of least privilege. Use optional_permissions where possible.
  5. Storage: Use chrome.storage.local or chrome.storage.sync for persistent data instead of localStorage.
  6. Declarative APIs: Use declarativeNetRequest for 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 (sender.id !== chrome.runtime.id || !message || message.type !== "GREET_AGENT") {
    return false;
  }
  if (message.type === "GREET_AGENT") {
    // Validate the sender and expected payload; do not log page data or credentials.
    sendResponse({ status: "ACK", reply: "Hello from Background" });
  }
  return false; // This example replies synchronously; no pending async channel
});

Best Practices

  • ✅ Do: Use chrome.runtime.onInstalled for 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 innerHTML or eval() - prefer textContent and 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

  • Match messaging behavior to the target browser’s documented version. Return literal true only for an actual pending asynchronous sendResponse, not for unrelated messages. Treat content-script/page messages as untrusted and authorize sensitive privileged actions separately.
  • The manifest references application files (popup.html/background.js/content.js); they must be created and tested, and are not bundled by this skill. Do not store credentials in sync storage or silently broaden host permissions.
  • 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.
FAQ

What is Manifest V3?

It's the latest version of the rules for building Chrome extensions, focused on security and performance.

What are Service Workers?

These are scripts that run in the background, managing extension events and tasks without needing a page to be open.

How do the extension parts communicate?

They use a secure messaging system (`chrome.runtime.sendMessage` and `chrome.tabs.sendMessage`) to send and receive information between themselves.

Details

Original description by the author

Expert in building Chrome Extensions using Manifest V3. Covers background scripts, service workers, content scripts, and cross-context communication.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#2514
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills