← ClaudeAtlas

publish-chrome-extensionlisted

Republish a new release of an existing Chrome extension to the Chrome Web Store: downloads the release zip from GitHub, checks what changed since the version the store already holds, uploads the zip via the Web Store API, and submits it for review. TRIGGER when: the user wants to publish, republish, or upload a new extension version to the Chrome Web Store, typically right after /release. DO NOT TRIGGER when: creating a brand-new store listing, editing store listing content (description, screenshots), or building/tagging a release (use /release for that).
AnotherSava/claude-code-common · ★ 1 · Code & Development · score 74
Install: claude install-skill AnotherSava/claude-code-common
Read `~/.claude/skills/shared/bash-rules.md` for bash command constraints. ## Context - Chrome extension: !`test -f manifest.json && echo yes || echo no` - Manifest version: !`sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' manifest.json 2>/dev/null | head -1` - Repo: !`gh repo view --json nameWithOwner --jq .nameWithOwner 2>/dev/null || echo NONE` - Latest release: !`gh release view --json tagName --jq .tagName 2>/dev/null || echo NONE` - Release zip assets: !`gh release view --json assets --jq ".assets[].name" 2>/dev/null || echo NONE` - API credentials: !`test -f ~/.claude/skills/publish-chrome-extension/config/cws.conf && echo PRESENT || echo MISSING` - Extension ID: !`grep -rhoE 'chromewebstore\.google\.com/detail/[^/]+/[a-p]{32}' --include='*.md' --exclude-dir=node_modules . 2>/dev/null | grep -oE '[a-p]{32}' | head -1 || echo NONE` ## 1. Check preconditions - **Chrome extension** must be `yes` — otherwise **STOP**: this skill republishes Chrome extensions (`manifest.json` at the repo root) and nothing else. - **Repo** must not be `NONE` — the zip comes from a GitHub release, so the repo needs a GitHub remote. - **Latest release** must not be `NONE` — if it is, tell the user to run `/release` first and stop. ## 2. First-time credential setup If **API credentials** is MISSING, walk the user through the one-time OAuth setup in `references/cws-api-setup.md` (Google Cloud project, Chrome Web Store API, Desktop-app OAuth client, then `cws.sh init` / `a