skills/chrome-webstore-release-blueprint/SKILL.md
Guide a user end-to-end through setting up Chrome Web Store API release automation in any repository. Use when asked to walk someone through OAuth/CWS credential setup, refresh token creation, local/CI secret setup, version-based publish automation, and submission status checks.
npx skillsauth add fantomsuj/notion chrome-webstore-release-blueprintInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill as a hands-on setup guide. The agent should lead the user step-by-step, ask for confirmations, and only automate the parts that can be done locally/in CI.
PUBLISHED, PENDING_REVIEW, etc.).gh is available, offer secret upload automation; if not, provide manual fallback.Collect these inputs:
main, tags, or manual dispatch).env, .env.local, etc.)Ask explicitly:
gh?"Tell user to open:
https://console.cloud.google.com/apis/library/chromewebstore.googleapis.comUser actions:
Enable for Chrome Web Store API.Agent prompt example:
Tell user to open one of:
https://console.cloud.google.com/apis/credentials/consentUser actions:
External user type (for non-Workspace internal apps).Agent guidance:
Tell user to open:
https://console.cloud.google.com/apis/credentialsUser actions:
Create Credentials -> OAuth client ID.Web application.https://developers.google.com/oauthplaygroundCapture values:
CWS_CLIENT_IDCWS_CLIENT_SECRETAgent prompt example:
CWS_CLIENT_ID and CWS_CLIENT_SECRET when ready (I will treat them as secrets)."Tell user to open:
https://developers.google.com/oauthplayground/User actions:
Use your own OAuth credentials.CWS_CLIENT_ID and CWS_CLIENT_SECRET.https://www.googleapis.com/auth/chromewebstoreAuthorize APIs.Exchange authorization code for tokens.Capture value:
CWS_REFRESH_TOKENAgent prompt example:
CWS_REFRESH_TOKEN now. I will only place it in local secret storage/CI secrets."Capture:
CWS_EXTENSION_ID (the extension item ID from store/developer listing URL)CWS_PUBLISHER_ID (developer/publisher ID from Chrome Web Store developer account context)Agent instruction:
Do not proceed until all five exist:
CWS_CLIENT_IDCWS_CLIENT_SECRETCWS_REFRESH_TOKENCWS_PUBLISHER_IDCWS_EXTENSION_IDCreate a local template file (no real values committed):
CWS_CLIENT_ID=
CWS_CLIENT_SECRET=
CWS_REFRESH_TOKEN=
CWS_PUBLISHER_ID=
CWS_EXTENSION_ID=
Ensure real secret file path is gitignored.
If using GitHub Actions, ask user if gh automation is desired.
If yes, verify:
gh --version
gh auth status
If gh auth is missing, tell user to run:
gh auth loginThen implement a helper script that:
--dry-rungh secret set ... --repo ...If user declines gh, provide manual secret entry checklist for repository settings.
Design the CI workflow around this logic:
POST https://oauth2.googleapis.com/tokenGET https://chromewebstore.googleapis.com/v2/publishers/<publisherId>/items/<extensionId>:fetchStatuspublishedItemRevisionStatus.distributionChannels[0].crxVersionPOST https://chromewebstore.googleapis.com/upload/v2/publishers/<publisherId>/items/<extensionId>:uploadPOST https://chromewebstore.googleapis.com/v2/publishers/<publisherId>/items/<extensionId>:publishTreat these publish states as successful submission:
PENDING_REVIEWPUBLISHEDPUBLISHED_TO_TESTERSSTAGEDCreate a script dedicated to "what is the latest submission state?".
Required behavior:
--env-file)--manifest for local version comparison--jsonfetchStatusitemIdlocalVersionpublishedVersionpublishedStatesubmittedVersionsubmittedStateupToDatependingReviewHelpful checks to include:
--json is not usedRun this with the user:
PENDING_REVIEW first in many casesinvalid_grant:403 from CWS endpoint:https://developer.chrome.com/docs/webstore/using-apihttps://developer.chrome.com/docs/webstore/publishhttps://developers.google.com/oauthplayground/https://console.cloud.google.com/apis/library/chromewebstore.googleapis.comhttps://console.cloud.google.com/apis/credentialsdevelopment
Workflow orchestration for complex coding tasks. Use for ANY non-trivial task (3+ steps or architectural decisions) to enforce planning, subagent strategy, self-improvement, verification, elegance, and autonomous bug fixing. Triggers: multi-step implementation, bug fixes, refactoring, architectural changes, or any task requiring structured execution.
development
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
development
Simplify and refine recently modified code for clarity and consistency. Use after writing code to improve readability without changing functionality.