gws-setup
Skill4 starsChanged 4 months agoMITView on GitHub
Use when installing or configuring the Google Workspace CLI (gws) for a Google account -- "instala gws", "configura el cli de Google Workspace", "conecta mi cuenta de Google", "set up gws", "install the Google Workspace CLI".
2 other projects use a version of this.
Adopted by
Most recently taken up by
- aniket-limechat/claude-skillstheir own version, first seen Oct 20, 2026
- henry-1981/context-first-harnesstheir own version, first seen Apr 19, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- aniket-limechat/claude-skills★ 0same name
- henry-1981/context-first-harness★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository42 other files it gives its agents.
- agent-contract-handoffSkill
- agent-creationSkill
- agent-protocolSkill
- agent-responseSkill
- blog-writingSkill
- brief-specSkill
- cli-loginSkill
- code-reviewSkill
- code-standardsSkill
- command-executionSkill
- deck-builderSkill
- dispatchSkill
- executionSkill
- fast-queriesSkill
- gaia-auditSkill
- gaia-checkSkill
- gaia-patternsSkill
- gaia-plannerSkill
- gaia-releaseSkill
- gaia-researchSkill
- gaia-verifySkill
- ghostwritingSkill
- git-conventionsSkill
- gmail-policySkill
- gmail-triageSkill
- human-registerSkill
- investigationSkill
- memorySkill
- orchestrator-present-approvalSkill
- pending-approvalsSkill
- remindersSkill
- security-tiersSkill
- session-channelsSkill
- session-reflectionSkill
- skill-creationSkill
- subagent-request-approvalSkill
- technical-explanationSkill
- technical-writingSkill
- ticket-writingSkill
- verification-oracleSkill
- verification-rubricSkill
- visual-verifySkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Place in ~/.local/bin/, chmod +x
- Very specific: line 24
After login, restore work account: gcloud config set account <work-account>
- Distinctive: line 48
Test Users section -> Add Users -> enter the email
- Distinctive: line 61
If Google shows "app not verified" warning -> click "Advanced" -> "Go to gws-cli (unsafe)" -- safe for personal use
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
GWS Setup
The gws CLI looks straightforward but breaks in subtle ways -- Google's OAuth flow has undocumented constraints that differ between personal and organizational accounts, and the gws tool itself has open bugs around scopes and multi-account. This procedure captures the working path and the traps discovered through real setup sessions, so you avoid the silent failures that waste hours.
Prerequisites: gcloud CLI installed, browser access for OAuth, interactive terminal for the gws auth steps.
Procedure
1. Install gws binary
- Download latest Linux x86_64 from https://github.com/googleworkspace/cli/releases
- Place in
~/.local/bin/,chmod +x - Verify:
gws --version
2. Add Google account to gcloud
gaia login start gcloud --account <email>prints a link to open in the browser; no terminal needed (skillcli-login)- This adds alongside existing accounts -- does NOT replace them
- After login, restore work account:
gcloud config set account <work-account>
3. Create or select GCP project
- Check existing:
gcloud projects list --account=<email> - Create new:
gcloud projects create gaia-<name> --name="Gaia <Name>" --account=<email> - Naming:
gaia-<identifier>-personalorgaia-<identifier>-work
4. gws auth setup
gws auth setup --project <project-id>- TRAP: When selecting scopes, DO NOT use presets ("Recommended" or "Read Only") -- they include organizational scopes that break for @gmail.com accounts
5. Scope selection (CRITICAL)
For safe scopes and blocked scopes by account type, read reference.md in this directory.
Known bug: gws issue #119 -- gws auth login unusable with personal @gmail.com when organizational scopes are included. Google returns 400: invalid_scope.
6. OAuth consent screen (manual in browser)
- URL:
https://console.cloud.google.com/apis/credentials/consent?project=<project-id> - User Type: External | App name: gws CLI | Support email: the account email
- TRAP: Add the account as a Test User BEFORE attempting login
- Test Users section -> Add Users -> enter the email
- Without this, Google returns
403: access_denied("app not verified")
7. OAuth client (manual in browser)
- URL:
https://console.cloud.google.com/apis/credentials?project=<project-id> - TRAP: Application type must be Desktop app (NOT "Web application")
- Web application type causes
401: invalid_client
- Web application type causes
- Download
client_secret_*.json-> save to~/.config/gws/client_secret.json
8. gws auth login
gws auth login-- opens browser for OAuth consent (interactive terminal required)- If Google shows "app not verified" warning -> click "Advanced" -> "Go to gws-cli (unsafe)" -- safe for personal use
9. Verification
gws auth status-- confirm token validgws gmail users messages list --params '{"userId":"me","maxResults":5}'-- test Gmailgws gmail users labels list --params '{"userId":"me"}'-- test labels
10. Publish OAuth consent app to Production (stabilize tokens)
- URL:
https://console.cloud.google.com/apis/credentials/consent?project=<project-id>-- the OAuth consent screen, surfaced in the current console under APIs & Services -> OAuth consent screen -> Audience (new "Google Auth Platform" layout: Audience page). - Under Publishing status, click PUBLISH APP to move the app from Testing to In production, then confirm.
- WHY THIS MATTERS (the silent 7-day trap): while the app stays in Testing, Google issues refresh tokens that expire after 7 days whenever any requested scope goes beyond
name/email/profile-- and Gmail scopes always do. The stored credential silently dies after a week,gws auth statusstarts failing, and the whole login must be redone. Publishing to In production removes the 7-day cap and stabilizes the token. - Verification is NOT required to publish for personal single-user use. With sensitive scopes (
gmail.modify) an unverified production app simply shows the same "Google hasn't verified this app" warning as Testing did -- proceed via Advanced -> Go to gws CLI (unsafe). Verification is a separate Google review that removes the warning screen and is only needed for a public app serving other users' accounts, not your own. - Traps that remain even in production (Google token policy): a refresh token also dies after 6 months of non-use, on a Google password change while Gmail scopes are granted, or when the user revokes access. Recover any of these by re-running
gws auth login.
11. Restore gcloud
gcloud config set account <original-work-account>- Verify:
gcloud config get account
Multi-account (future)
gws supports multi-account via gws auth login --account <email>, gws auth list, gws auth default <email>, gws --account <email> <command>.
Known bug: issue #181 -- --account flag doesn't work correctly yet.
Anti-Patterns
- Using scope presets for personal @gmail.com -- causes
400: invalid_scope - Skipping Test User in OAuth consent screen -- causes
403: access_denied - Choosing "Web application" as OAuth client type -- causes
401: invalid_client - Leaving the OAuth consent app in Testing -- refresh tokens expire after ~7 days with Gmail scopes, forcing weekly re-auth. Publish to In production (step 10) to stabilize
- Forgetting to restore
gcloud config set accountafter setup - Including
admin.*,cloud-identity.*, ordirectory.*scopes for personal accounts
Related Skills
gmail-policy-- operational Gmail security (tiers, labels, no-delete rule)
References
- https://github.com/googleworkspace/cli
- https://github.com/googleworkspace/cli/issues/119 (personal account scope bug)
- https://github.com/googleworkspace/cli/issues/181 (multi-account bug)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

