Skip to content
Building and Publishing Chrome Extensions
The Trove library · Condensed from Google Chrome's chrome-extensions skill (Apache-2.0)

Building and Publishing Chrome Extensions

Use when you build a new Chrome extension, add a chrome.* API feature to one, choose and justify its permissions.

You can read the contents and the first 2,000 characters.
Pro includes the whole book.

  • By Condensed from Google Chrome's chrome-extensions skill (Apache-2.0)
  • 14 chapters
  • Updated Nov 14, 2026

What you’ll get

  • Build Manifest V3 extensions that load and work the first time
  • Pick the narrowest permissions and justify each one to reviewers
  • Keep state and messaging working across service worker restarts
  • Fill every Chrome Web Store dashboard field to its exact limits
  • Avoid the common causes of Chrome Web Store rejections

What is Building and Publishing Chrome Extensions?

Use when you build a new Chrome extension, add a chrome.* API feature to one, choose and justify its permissions, or prepare a Chrome Web Store listing and answer a review rejection. It covers the Manifest V3 rules that break older extensions, the service worker lifecycle, content scripts, messaging, storage, popup, side panel, context menus, omnibox, DevTools panels, declarativeNetRequest, chrome.identity sign-in, tab and media capture, offscreen documents, user scripts and the Prompt API, plus the dashboard fields, privacy policy, permission justifications, listing copy and pre-publish checklist. Condensed from the chrome-extensions skill in Google Chrome's modern-web-guidance npm package v1.0.0 (Apache-2.0). Unofficial. Not for ordinary web pages, Firefox or Safari extensions, or Manifest V2.

Read more

Condensed from Google Chrome's chrome-extensions skill (Apache-2.0) · markdown · Listed Nov 14, 2026

  • chrome extensions
  • manifest v3
  • browser extensions
  • chrome web store
  • javascript
  • service worker
  • permissions
  • coding agents

From the first page

Scope: Manifest V3 Chrome extensions, from manifest and service worker to content scripts, UI surfaces, permissions and network rules, and publishing to the Chrome Web Store. Not covered: web pages and web apps (see the companion book Modern Web Platform Practices for Coding Agents), Firefox and Safari extensions, Manifest V2.

Checked against: npm modern-web-guidance v1.0.0, skill chrome-extensions version 20260806-8570fe7c.

Reviewed: 2026-11-14. Next review: 2027-02-14.

Licence: Apache-2.0 (derived from Google Chrome's chrome-extensions skill, Apache-2.0; see the last page for attribution).

This book tells a coding agent how to build Chrome extensions that work on the first load under Manifest V3, and how to get them through Chrome Web Store review. It condenses the chrome-extensions skill that the Google Chrome team ships in the modern-web-guidance npm package. It is an unofficial derivative; see the last page for sources and upkeep.

Preview · 2,000 of 73,982 characters

Contents

  1. 01Building and Publishing Chrome Extensionsp.1
    1. When to load this bookp.1
    2. Three questions this book answers better than model memoryp.1
    3. How to use itp.1
    4. Page indexp.1
  2. 02Decision matrix: task to pagep.2
  3. 03Build: Manifest V3 baseline, mandatory rules and project structurep.3
    1. Always Manifest V3p.3
    2. Project and manifest skeletonp.3
    3. The twenty mandatory rules (index)p.3
    4. Async stylep.3
    5. Delivery checklistp.3
  4. 04Build: Permissions, external APIs and sign-inp.4
    1. permissions, host_permissions and activeTabp.4
    2. Optional permissions at runtimep.4
    3. Calling external APIsp.4
    4. Google sign-in with chrome.identityp.4
  5. 05Build: Service worker, storage and messagingp.5
    1. Service worker lifetimep.5
    2. Choosing a storage areap.5
    3. Message passingp.5
  6. 06Build: Popup, side panel, context menus, omnibox and iconsp.6
    1. Popupp.6
    2. Side panelp.6
    3. Context menusp.6
    4. Omniboxp.6
    5. Icons and image referencesp.6
  7. 07Build: Content scripts, tabs and code executionp.7
    1. Injecting content scriptsp.7
    2. Tabs and windowsp.7
    3. Extension CSPp.7
    4. Running arbitrary codep.7
  8. 08Build: Network rules, DevTools panels and the Prompt APIp.8
    1. Declarative Net Requestp.8
    2. DevTools panelsp.8
    3. Prompt API in extensionsp.8
See all 14 parts
  1. 09Build: Media capture, offscreen documents and user scriptsp.9
    1. Offscreen documentsp.9
    2. Tab and desktop capturep.9
    3. User scripts: when and setupp.9
    4. User scripts: persistence, worlds and messagingp.9
  2. 10Publish: CHROMEWEBSTORE.md and the dashboard fieldsp.10
    1. When to create and update the filep.10
    2. Filling it from the projectp.10
    3. The sectionsp.10
  3. 11Publish: Permission justifications and privacyp.11
    1. Permission justificationsp.11
    2. When a policy is required, and hosting itp.11
    3. Writing the policyp.11
    4. Form, policy and code must matchp.11
  4. 12Publish: Store listing copyp.12
    1. Function first, no implementation detailsp.12
    2. Short and detailed descriptionsp.12
    3. Single purpose statementp.12
    4. Honesty limitsp.12
  5. 13Publish: Pre-publish checklist, packaging and rejectionsp.13
    1. Manifest and packagep.13
    2. Listing, privacy and code gatesp.13
    3. Functional test and updatesp.13
    4. Rejections and review timingp.13
  6. 14Sources, license and upkeepp.14
    1. Sourcep.14
    2. Licensep.14
    3. Scopep.14
    4. Upkeepp.14