google-workspace
Google Workspace operations via gws CLI (Drive, Gmail, Docs, Sheets, Calendar, Chat)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Google Workspace operations via gws CLI (Drive, Gmail, Docs, Sheets, Calendar, Chat)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Calendar operations with CalDAV
Git repository management, GitLab merge requests, and GitHub pull requests
Location tracking, place recognition, visit history, and calendar attendance
Persistent memory writes — USER.md (behavioral) and the knowledge graph (facts).
Accounting operations (ledger, invoicing, transactions, work log, investment portfolio) — runs in-process via the vendored money package
Send a push notification to the user's configured ntfy device(s). One-way (bot to phone), no reply channel.
| name | google_workspace |
| triggers | ["google drive","google docs","google sheets","google calendar","google chat","google workspace","gmail","spreadsheet","gws"] |
| description | Google Workspace operations via gws CLI (Drive, Gmail, Docs, Sheets, Calendar, Chat) |
| cli | true |
| env | [{"var":"GOOGLE_WORKSPACE_CLI_TOKEN","from":"setup_env","sensitive":true},{"var":"GOOGLE_WORKSPACE_CLI_CONFIG_DIR","from":"setup_env"}] |
Interact with Google Workspace services using the gws CLI, accessed through the skill wrapper.
Credentials are injected automatically via the skill proxy. Do not hardcode tokens or attempt to read credential files.
If the command fails with an auth error, the user has not connected their Google account. Tell them to connect via the web dashboard.
All commands go through the skill wrapper:
istota-skill google_workspace drive files list --query "name contains 'report'"
istota-skill google_workspace drive files get --fileId FILE_ID
istota-skill google_workspace drive +upload /path/to/file.pdf --parents FOLDER_ID
# Sheets
istota-skill google_workspace sheets spreadsheets create --properties '{"title": "Budget"}'
istota-skill google_workspace sheets +read --spreadsheetId SHEET_ID --range "Sheet1!A1:D10"
istota-skill google_workspace sheets +append --spreadsheetId SHEET_ID --range "Sheet1" --values '[["a","b","c"]]'
# Docs
istota-skill google_workspace docs documents get --documentId DOC_ID
istota-skill google_workspace docs documents create --body '{"title": "Notes"}'
# Calendar
istota-skill google_workspace calendar +agenda
istota-skill google_workspace calendar +insert --calendarId primary --summary "Meeting" --start "2025-01-15T10:00:00" --end "2025-01-15T11:00:00"
istota-skill google_workspace calendar events list --calendarId primary --timeMin "2025-01-15T00:00:00Z" --timeMax "2025-01-16T00:00:00Z"
# Gmail
istota-skill google_workspace gmail +send --to user@example.com --subject "Hello" --body "Message body"
istota-skill google_workspace gmail users.messages list --userId me --query "is:unread"
# Chat
istota-skill google_workspace chat spaces list
istota-skill google_workspace chat spaces.messages create --parent "spaces/SPACE_ID" --body '{"text": "Hello"}'
| Service | Command | Description |
|---|---|---|
| Gmail | +send | Send an email |
| Gmail | +reply | Reply to a message |
| Gmail | +triage | Triage inbox |
| Sheets | +read | Read a range |
| Sheets | +append | Append rows |
| Calendar | +agenda | Show upcoming events |
| Calendar | +insert | Create an event |
| Drive | +upload | Upload a file |
Use istota-skill google_workspace <service> --help for full parameter details.
All commands return JSON. Parse with Python:
istota-skill google_workspace drive files list --query "name contains 'budget'" | python3 -c "
import sys, json
data = json.load(sys.stdin)
for f in data.get('files', []):
print(f'{f[\"id\"]} {f[\"name\"]}')
"
For large result sets, use --page-all to auto-paginate (streams NDJSON):
istota-skill google_workspace drive files list --page-all --query "mimeType='application/pdf'" | head -100
Limit output to avoid overwhelming context. Use | head -c 50000 as a safety measure for unbounded queries.
Preview the API request without executing:
istota-skill google_workspace drive files list --query "test" --dry-run
Check exit code. On failure, stderr contains error details:
if ! result=$(istota-skill google_workspace drive files list --query "test" 2>/tmp/gws_err); then
cat /tmp/gws_err
fi
Discover available parameters for any API method:
istota-skill google_workspace schema drive.files.list