Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

Chrome Extension

  • 643 installs
  • 186 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

chrome-extension is an agent skill that encodes 40+ Manifest V3 performance rules across 8 categories so developers who build or maintain Chrome extensions get consistent, optimized code from AI-assisted workflows.

About

chrome-extension is a Chrome Developer Relations–authored agent skill (version 0.1.0, January 2026) that teaches LLMs how to generate, maintain, and refactor Chrome Manifest V3 extension codebases. The skill bundles 40+ prioritized performance rules across 8 categories—from critical service worker lifecycle and content script optimization to incremental API usage patterns—with explanations and real-world examples for each rule. Agents apply the guidance when scaffolding new extensions, auditing existing MV3 projects, or refactoring legacy Manifest V2 patterns. Developers reach for chrome-extension when AI-generated extension code drifts from Chrome best practices or when they need automated consistency across popup, background, and content-script layers without manually re-reading Chrome extension documentation.

  • 40+ prioritized rules across 8 categories for Manifest V3 performance
  • Critical focus on service worker lifecycle, content scripts, and state persistence
  • Side-by-side incorrect vs correct code examples with impact metrics
  • Optimized for AI agents and LLMs to automate refactoring and code generation
  • Reduces memory usage by 50-100MB per idle extension through correct patterns

Chrome Extension by the numbers

  • 643 all-time installs (skills.sh)
  • Ranked #1,489 of 16,565 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill chrome-extension

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs643
repo stars186
Security audit3 / 3 scanners passed
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do you optimize Chrome Manifest V3 extensions with AI?

Generate, maintain, and optimize Chrome Manifest V3 extension code with AI agents that follow 40+ performance rules.

Who is it for?

Developers building or maintaining Chrome Manifest V3 extensions who want AI agents to follow Chrome Developer Relations performance guidance automatically.

Skip if: Developers building Firefox add-ons, Safari Web Extensions-only projects, or non-browser web apps that do not use the Chrome extension platform.

When should I use this skill?

User asks to create, refactor, audit, or optimize a Chrome extension, mentions Manifest V3, service workers, or content scripts.

What you get

Manifest V3 extension code aligned to 40+ performance rules, optimized service worker lifecycle, and refactored content script patterns.

  • Optimized MV3 extension code
  • Refactored service worker and content script files

By the numbers

  • 40+ performance rules across 8 categories
  • Version 0.1.0 (January 2026)

Files

SKILL.mdMarkdownGitHub ↗

Chrome Extension Best Practices

Comprehensive performance and code quality guide for Chrome Extensions (Manifest V3). Contains 67 rules across 12 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Writing new Chrome extension code
  • Migrating from Manifest V2 to Manifest V3
  • Optimizing service worker lifecycle and state management
  • Implementing content scripts for page interaction
  • Debugging performance issues in extensions

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Service Worker LifecycleCRITICALsw-
2Content Script OptimizationCRITICALcontent-
3Message Passing EfficiencyHIGHmsg-
4Storage OperationsHIGHstorage-
5Network & PermissionsMEDIUM-HIGHnet-
6Memory ManagementMEDIUMmem-
7UI PerformanceMEDIUMui-
8API Usage PatternsLOW-MEDIUMapi-
9Code Style & NamingMEDIUMstyle-
10Component PatternsMEDIUMcomp-
11Error HandlingHIGHerr-
12Testing PatternsMEDIUMtest-

Quick Reference

1. Service Worker Lifecycle (CRITICAL)

  • `sw-persist-state-storage` - Persist state with chrome.storage instead of global variables
  • `sw-avoid-keepalive` - Avoid artificial service worker keep-alive patterns
  • `sw-use-alarms-api` - Use chrome.alarms instead of setTimeout/setInterval
  • `sw-return-true-async` - Return true from message listeners for async responses
  • `sw-register-listeners-toplevel` - Register event listeners at top level
  • `sw-use-offscreen-for-dom` - Use offscreen documents for DOM APIs

2. Content Script Optimization (CRITICAL)

  • `content-use-specific-matches` - Use specific URL match patterns
  • `content-use-document-idle` - Use document_idle for content script injection
  • `content-programmatic-injection` - Prefer programmatic injection over manifest declaration
  • `content-minimize-script-size` - Minimize content script bundle size
  • `content-batch-dom-operations` - Batch DOM operations to minimize reflows
  • `content-use-mutation-observer` - Use MutationObserver instead of polling

3. Message Passing Efficiency (HIGH)

  • `msg-use-ports-for-frequent` - Use port connections for frequent message exchange
  • `msg-minimize-payload-size` - Minimize message payload size
  • `msg-debounce-frequent-events` - Debounce high-frequency events before messaging
  • `msg-check-lasterror` - Always check chrome.runtime.lastError
  • `msg-avoid-broadcast-to-all-tabs` - Avoid broadcasting messages to all tabs

4. Storage Operations (HIGH)

  • `storage-batch-operations` - Batch storage operations instead of individual calls
  • `storage-choose-correct-type` - Choose the correct storage type for your use case
  • `storage-cache-frequently-accessed` - Cache frequently accessed storage values
  • `storage-use-session-for-temp` - Use storage.session for temporary runtime data
  • `storage-avoid-storing-large-blobs` - Avoid storing large binary blobs

5. Network & Permissions (MEDIUM-HIGH)

  • `net-use-declarativenetrequest` - Use declarativeNetRequest instead of webRequest
  • `net-request-minimal-permissions` - Request minimal required permissions
  • `net-use-activetab` - Use activeTab permission instead of broad host permissions
  • `net-limit-csp-modifications` - Avoid modifying Content Security Policy headers

6. Memory Management (MEDIUM)

  • `mem-cleanup-event-listeners` - Clean up event listeners when content script unloads
  • `mem-avoid-detached-dom` - Avoid holding references to detached DOM nodes
  • `mem-avoid-closure-leaks` - Avoid accidental closure memory leaks
  • `mem-clear-intervals-timeouts` - Clear intervals and timeouts on cleanup
  • `mem-use-weak-collections` - Use WeakMap and WeakSet for DOM element references

7. UI Performance (MEDIUM)

  • `ui-minimize-popup-bundle` - Minimize popup bundle size for fast startup
  • `ui-render-with-cached-data` - Render popup UI with cached data first
  • `ui-batch-badge-updates` - Batch badge updates to avoid flicker
  • `ui-use-options-page-lazy` - Lazy load options page sections

8. API Usage Patterns (LOW-MEDIUM)

  • `api-use-promises-over-callbacks` - Use promise-based API calls over callbacks
  • `api-query-tabs-efficiently` - Query tabs with specific filters
  • `api-avoid-redundant-api-calls` - Avoid redundant API calls in loops
  • `api-use-alarms-minperiod` - Respect alarms API minimum period
  • `api-handle-context-invalidated` - Handle extension context invalidated errors
  • `api-use-declarative-content` - Use declarative content API for page actions

9. Code Style & Naming (MEDIUM)

  • `style-boolean-naming` - Use is/has/should prefixes for boolean variables
  • `style-cache-naming` - Use consistent cache variable naming
  • `style-constants` - Define constants for magic values
  • `style-directory-structure` - Organize code by feature/layer
  • `style-file-naming` - Use consistent file naming conventions
  • `style-function-naming` - Use descriptive function names
  • `style-import-type` - Use type-only imports for types
  • `style-index-entry-points` - Use index files for module entry points
  • `style-message-enums` - Use enums for message types
  • `style-type-naming` - Use PascalCase for types and interfaces

10. Component Patterns (MEDIUM)

  • `comp-adapter-interface` - Use adapter pattern for browser APIs
  • `comp-content-script-structure` - Structure content scripts consistently
  • `comp-css-class-patterns` - Use BEM or prefixed CSS classes
  • `comp-manager-class` - Use manager classes for complex state
  • `comp-type-guards` - Use type guards for runtime validation
  • `comp-ui-components` - Create reusable UI components

11. Error Handling (HIGH)

  • `err-context-invalidation` - Handle extension context invalidation
  • `err-early-return` - Use early returns for error handling
  • `err-null-coalescing` - Use nullish coalescing for defaults
  • `err-promise-barrier` - Use promise barriers for coordination
  • `err-storage-operations` - Handle storage operation failures
  • `err-url-parsing` - Safely parse URLs with try/catch
  • `err-validation-pattern` - Validate inputs at boundaries

12. Testing Patterns (MEDIUM)

  • `test-browser-api-mocking` - Mock chrome APIs in tests
  • `test-organization` - Organize tests by feature
  • `test-validation-functions` - Test validation functions thoroughly

How to Use

Read individual reference files for detailed explanations and code examples:

  • Section definitions - Category structure and impact levels
  • Rule template - Template for adding new rules

Full Compiled Document

For a complete guide with all rules in a single document, see AGENTS.md.

Reference Files

FileDescription
AGENTS.mdComplete compiled guide with all rules
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

Related skills

How it compares

Pick chrome-extension over generic frontend skills when the codebase is specifically a Chrome Manifest V3 browser extension requiring platform-specific performance rules.

FAQ

How many rules does chrome-extension include?

chrome-extension includes 40+ performance rules organized into 8 categories for Chrome Manifest V3 extensions. Rules are prioritized from critical service worker lifecycle issues to incremental API usage improvements, each with explanations and examples.

Does chrome-extension support Manifest V2?

chrome-extension targets Chrome Manifest V3 exclusively. The skill helps agents generate MV3-compliant code and refactor legacy Manifest V2 patterns toward service workers, updated permissions, and modern content script APIs.

Is Chrome Extension safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.