← ClaudeAtlas

publish-chrome-extensionlisted

Republish a new release of an existing Chrome extension to the Chrome Web Store: downloads the release zip from GitHub, reviews the tracked store-listing info for staleness, 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 · ★ 0 · Code & Development · score 72
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` - Listing file: !`test -f cws-publish.json && echo PRESENT || echo MISSING` ## 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` / `auth` / `exchange`). Do not proceed until `cws.conf` exists. If `cws.sh` later fails with a missing/expired `RE