About extension-publish
A guide for preparing and publishing Chrome extensions, intended for developers managing store submission and release tasks. It covers manifest and asset checks, rejection risks, listing guidance, and upload automation.
Key features
- 01Manifest and asset checklist
- 02Permission and privacy checks
- 03Common rejection guidance
- 04Store listing recommendations
- 05Upload and publish automation
Use cases
- 01Checking an extension before submission
- 02Diagnosing likely review rejections
- 03Preparing store listing content
- 04Automating Chrome Web Store releases
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ quangpl/ browser-extension-skills --skill extension-publishAfter installing, type/extension-publishin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/ci-cd-automation.mdcommon-rejections.mdstore-listing-optimization.mdsubmission-checklist.mdDetails
From the project READMEextension-publishing
🚀 Upgrade to Premium Get the Premium version at https://app.extensionbooster.net/dashboard/services/extension-ai-kit
Workflow
prepare → package → submit → review → publish
- Prepare: assets, privacy policy, permission justifications, manifest
- Package:
zipsource (exclude dev files), validate manifest - Submit: Chrome Web Store Developer Dashboard
- Review: 1–3 days typical; up to 7 days for new publishers
- Publish: auto or manual rollout
Pre-Submission Checklist (Quick)
- Manifest v3 only (MV2 deprecated)
-
name,version,descriptionset in manifest - Icons: 16×16, 48×48, 128×128 PNG
- Screenshots: min 1, 1280×800 or 640×400
- Single purpose clearly defined
- Only permissions actually used
- Privacy policy URL (required if collecting data)
- Permission justification field filled for sensitive perms
- No remote code execution (
eval, remote scripts) - All features functional in review build
Full checklist: references/submission-checklist.md
Top 10 Rejection Reasons
- Single purpose violation — does too many unrelated things
- Excessive/unnecessary permissions
- Missing privacy policy (required when user data collected)
- Missing permission justification in submission form
- Description doesn't match functionality
- Keyword spam in title/description
- Remote code execution (
eval, external scripts) - Improper user data handling or disclosure
- Extension non-functional or crashes
- Broken features / inaccessible links
Full details + fixes: references/common-rejections.md
Listing Optimization Essentials
- Title:
<Action verb> + <Benefit>, max 45 chars, no keyword stuffing - Description first 150 chars: shown in search — make them count
- Structure: problem → solution → key benefits → CTA
- Screenshots: annotate features, show real UI, 1280×800
- Category: choose most specific fit
Full guide: references/store-listing-optimization.md
CI/CD with chrome-webstore-upload
Install
npm install -g chrome-webstore-upload-cli
Upload & Publish
# Upload new version
chrome-webstore-upload upload \
--source extension.zip \
--extension-id $EXT_ID \
--client-id $CLIENT_ID \
--client-secret $CLIENT_SECRET \
--refresh-token $REFRESH_TOKEN
# Publish
chrome-webstore-upload publish \
--extension-id $EXT_ID \
--client-id $CLIENT_ID \
--client-secret $CLIENT_SECRET \
--refresh-token $REFRESH_TOKEN
Required Env Vars
| Var | Source |
|---|---|
EXT_ID | Dashboard URL |
CLIENT_ID | GCP OAuth client |
CLIENT_SECRET | GCP OAuth client |
REFRESH_TOKEN | Run OAuth flow once |
Full GitHub Actions pipeline: references/ci-cd-automation.md
CRXJS Built-in Publishing
CRXJS has integrated browser store submission (https://docs.crxjs.com/):
crxjs build # Build for production
crxjs package # Create store-ready zip
Reference Files
| File | Content |
|---|---|
| submission-checklist.md | Complete pre-submission checklist with assets, manifest, privacy |
| store-listing-optimization.md | Title, description, screenshots, keywords, localization |
| common-rejections.md | Top rejections with fixes, appeal process |
| ci-cd-automation.md | GitHub Actions, versioning, build pipeline |