browser-extension-developer

browser-extension-developer is a skill for Claude Code from olehsvyrydov/AI-development-team. It costs 172 tokens per session (2,809 once invoked), scanned A, original, MIT.

A guide to building browser extensions for Chrome, Edge, and Firefox. Browser extensions are small programs that add features to web browsers, using parts such as popups, background workers, and scripts that run in pages.

In plain words
What is it for?
Use it to create manifests, service workers, content scripts, page injections, popups, side panels, tab features, storage, native messaging, request rules, and store submissions.
Why use it?
It helps manage browser permissions, extension lifecycles, page access, and communication between extension parts. These details can affect security and whether an extension keeps working when its background process stops.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the ai-dev-team plugin — 43 skills, 50 commands shipped together

Good fit Use it to create manifests, service workers, content scripts, page injections, popups, side panels, tab features, storage, native messaging, request rules, and store submissions.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/olehsvyrydov/ai-development-team/browser-extension-developer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add olehsvyrydov/AI-development-team --skill browser-extension-developer
Clone the repo
git clone --depth 1 https://github.com/olehsvyrydov/AI-development-team

Made for: Claude Code.

Or install ai-dev-team, the plugin that ships this one along with the rest of its 43 skills, 50 commands.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for browser-extension-developer

README.md
[![agentmods](https://agentmods.dev/badge/skills/olehsvyrydov/ai-development-team/browser-extension-developer/github.svg)](https://agentmods.dev/skills/olehsvyrydov/ai-development-team/browser-extension-developer)
Your own site
<a href="https://agentmods.dev/skills/olehsvyrydov/ai-development-team/browser-extension-developer"><img src="https://agentmods.dev/badge/skills/olehsvyrydov/ai-development-team/browser-extension-developer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for browser-extension-developer

Your own site · 80×15
<a href="https://agentmods.dev/skills/olehsvyrydov/ai-development-team/browser-extension-developer"><img src="https://agentmods.dev/badge/skills/olehsvyrydov/ai-development-team/browser-extension-developer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 172 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,809 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00172 $0.02809
Opus 5.5 $0.00069 $0.01124
Sonnet 5.5 $0.00034 $0.00562
Haiku 4.5 $0.00017 $0.00281

Measured today against content hash 63695efff28b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

browser-extension-developer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

claude/skills/development/browser/browser-extension-developer/SKILL.md · 162 lines

How it starts

The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Browser Extension Developer (/ext)

Command: /ext · Category: Development · Aliases: /chrome

Gate Check (workflow)

Consult the workflow-engine skill first.

  • A manifest permission change is an ARCH_APPROVED + SECURITY_OK trigger. Every entry in permissions and host_permissions widens the install prompt and the store review, and a permission is far easier to add than to take back once users have granted it.
  • Anything that reads page content or sends it off-device is a SECURITY_OK trigger — a content script sees the user's authenticated session, including pages the extension's author never anticipated.
  • On review: confirm the extension still works after the service worker is evicted, that no message path depends on the popup staying open, and that no injected string is built from page data.

When to use (and when not)

  • Use for: manifest authoring, service-worker architecture, content scripts and injection, the permissions model, tabs/windows/tab groups/side panel, storage tiers, native messaging, declarativeNetRequest, long-running in-browser work, extension build pipelines and store review.
  • Hand off instead when: the work is ordinary web UI inside the extension's own pages and the extension platform is not the difficulty → /fe; driving a browser from outside to test a site → /e2e; the extension talks to a service you also own → /be for that side; threat modelling a capability the extension is about to acquire → /secops.

The MV3 mental model (read this before writing anything)

Four facts explain most MV3 bugs. Internalise them and the rest of the platform is ordinary JavaScript.

  1. The service worker is not a background page. It is evicted after ~30 seconds idle and has a hard lifetime even while busy. It has no DOM, no window, and no memory between wakes. Any variable you set in it is gone the next time it runs. Never put a long-running job there.
  2. Only a top-level listener registration survives eviction. chrome.tabs.onRemoved.addListener at module scope wakes the worker when a tab closes. The same call made inside a message handler dies with the worker and silently never fires again. Everything the worker must remember between wakes belongs in chrome.storage.session.
  3. The popup is a page, and it closes. Clicking anywhere outside it tears down its JavaScript and every port it opened. Work started in a popup dies with it; a message it sends while calling window.close() in the same breath is dropped if the worker was cold. Anything that takes longer than an instant belongs on a surface that outlives the click.
  4. A content script runs in an isolated world. It shares the DOM with the page and shares nothing else — not window properties, not the page's own libraries. It also runs with the user's authenticated session, which is exactly why it is the security-sensitive part.

Read the full file on GitHub · 162 lines

Files

What ships with it

7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 162 lines · 172 tokens per session scan A 63695efff28b

Subscribe to this mod's changes

browser-extension-developer is a skill published in the GitHub repository olehsvyrydov/AI-development-team (17 stars, last pushed today), licensed MIT. It adds 172 tokens to every session and 2,809 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-19.

Related

Other skills, from other repositories

browser

Interactive browser automation via playwright-cli. Use when you need to navigate a site, click elements, fill forms, take snapshots, or triage a live app.

drobins25/craft · 34 tokens

blocked-page-recovery

Use when a fetch fails: 403/429, paywall, WAF, bot wall.

NousResearch/hermes-agent · 25 tokens

chrome-browser

Read this skill before the first step that uses Claude in Chrome, the browser extension whose tools are named mcpclaude-in-chrome (also called Chrome, the browser extension, or the external browser) and which acts in the person's real Chrome with their own sign-ins; before those tools are turned on there may be a…

asgeirtj/system_prompts_leaks · 176 tokens

claude-in-chrome

Automates your Chrome browser to interact with web pages - clicking elements, filling forms, capturing screenshots, reading console logs, and navigating sites. Opens pages in new tabs within your existing Chrome session. Requires site-level permissions before executing (configured in the extension).

asgeirtj/system_prompts_leaks · 57 tokens

hive.slack-notifications-setup

Set up a Slack notification channel (Sentinel) for a colony by driving the browser — reuse or create the "Hive Sentinel" Slack app from a JSON manifest, install it, capture the bot + app tokens, create/select the channel via the Slack API, and turn Sentinel on so the colony can ping the user on Slack and accept…

aden-hive/hive · 136 tokens

stealth-browser-mcp

Use this skill when operating stealth-browser-mcp from an AI agent or MCP client for browser automation, page inspection, element interaction, screenshots, file uploads, CDP commands, network debugging, cookies/storage, stealth setup, or reliable multi-step browser workflows. It provides the correct tool order, state…

vibheksoni/stealth-browser-mcp · 76 tokens