用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/project-nomos/nomos --skill gws-shared命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | gws-shared |
| version | 1.0.0 |
| description | gws CLI: Shared patterns for authentication, global flags, and output formatting. |
| metadata | {"openclaw":{"category":"productivity","requires":{"bins":"[Truncated]"}}} |
Mode: This CLI is power-user / local (nomos-mac) mode only, where Google is reached through the local
gwsCLI. In hosted mode there is no local CLI: the user connects Google entirely in the app at Settings → Integrations → Google (server-side OAuth). Never tell a hosted user to run a terminal command.
gws ships as the @googleworkspace/cli npm dependency and is invoked as
npx @googleworkspace/cli … (the bare gws command is not assumed to be on $PATH).
If it is missing, install it in the project with pnpm add @googleworkspace/cli and
verify with npx @googleworkspace/cli --version.
The product path is the Nomos Settings UI at Integrations → Google
(/integrations/google): it captures the OAuth Client ID / Secret / GCP project and
finalizes the account. The terminal path below is a fallback for when credentials are
already configured in ~/.config/gws/.
# First time only: bootstrap OAuth credentials (requires gcloud)
npx @googleworkspace/cli auth setup
# Browser-based OAuth (interactive)
npx @googleworkspace/cli auth login
Never tell the user to open "Claude Code" settings (this product is Nomos), and never
suggest npx gws auth login (the npm package is @googleworkspace/cli, not gws).
Advanced: a service account can be used instead by setting
GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json. This is not how the standard local deployment connects Google; preferauth login.
| Flag | Description |
|---|---|
--format <FORMAT> | Output format: json (default), table, yaml, csv |
--dry-run | Validate locally without calling the API |
--sanitize <TEMPLATE> | Screen responses through Model Armor |
gws <service> <resource> [sub-resource] <method> [flags]
| Flag | Description |
|---|---|
--params '{"key": "val"}' | URL/query parameters |
--json '{"key": "val"}' | Request body |
-o, --output <PATH> | Save binary responses to file |
--upload <PATH> | Upload file content (multipart) |
--page-all | Auto-paginate (NDJSON output) |
--page-limit <N> | Max pages when using --page-all (default: 10) |
--page-delay <MS> | Delay between pages in ms (default: 100) |
--dry-run for destructive operations--sanitize for PII/content safety screeningzsh ! expansion: Sheet ranges like Sheet1!A1 contain ! which zsh interprets as history expansion. Use double quotes with escaped inner quotes instead of single quotes:
# WRONG (zsh will mangle the !)
gws sheets +read --spreadsheet ID --range 'Sheet1!A1:D10'
# CORRECT
gws sheets +read --spreadsheet ID --range "Sheet1!A1:D10"
JSON with double quotes: Wrap --params and --json values in single quotes so the shell does not interpret the inner double quotes:
gws drive files list --params '{"pageSize": 5}'