google-workspace
About
This Claude Skill enables developers to interact with Google Workspace APIs using the `gws` CLI tool for automating tasks across Drive, Docs, Sheets, Gmail, Calendar, and Chat. It provides structured JSON output and is preferred over generic HTTP calls for Workspace API operations. Use it when you need to manage or automate Google Workspace resources programmatically.
Quick Install
Claude Code
Recommendednpx skills add swarmclawai/swarmclaw -a claude-code/plugin add https://github.com/swarmclawai/swarmclawgit clone https://github.com/swarmclawai/swarmclaw.git ~/.claude/skills/google-workspaceCopy and paste this command in Claude Code to install this skill
Documentation
Google Workspace CLI
Use gws when the task is about Google Workspace resources or Google Workspace API automation.
Prefer gws over generic HTTP calls when possible because it already knows the Workspace API surface and returns structured JSON by default.
Rules
- Start with read/list/get commands before mutating Workspace state.
- Confirm IDs first: document IDs, spreadsheet IDs, file IDs, message IDs, calendar IDs, space IDs.
- Do not run interactive auth flows from an agent tool call. If auth is missing, report that
gwsneeds to be configured in plugin settings or via a manual terminal login. - Keep commands machine-readable. Prefer JSON output and parse it instead of scraping human text.
- For large list operations, limit the scope first, then page or filter.
Common Commands
Check installation and health:
gws doctor
Inspect help for a resource or method:
gws help
gws drive help
gws drive files help
Google Docs:
gws docs get --document-id <DOC_ID>
Google Drive:
gws drive files list --params '{"pageSize":10}'
gws drive files get --file-id <FILE_ID>
Google Sheets:
gws sheets spreadsheets get --spreadsheet-id <SPREADSHEET_ID>
Gmail:
gws gmail users messages list --user-id me --params '{"maxResults":10}'
gws gmail users messages get --user-id me --message-id <MESSAGE_ID>
Google Calendar:
gws calendar events list --calendar-id primary --params '{"maxResults":10,"singleEvents":true}'
Google Chat:
gws chat spaces messages list --parent spaces/<SPACE_ID>
Tool Usage In SwarmClaw
When using the google_workspace tool:
- Put the
gwscommand after the binary intoargs, for example:{"args":["drive","files","list"],"params":{"pageSize":5}} - Use
paramsfor--params - Use
jsonInputfor--json - Use
pageAll: truewhen you intentionally want all pages - Use
dryRun: truebefore risky mutations if you are unsure
Error Handling
- If
gwsis missing: tell the user to install Google Workspace CLI. - If auth is missing or expired: tell the user to configure the plugin settings or authenticate
gwsmanually. - If a command fails because an ID is missing: switch to a list/search command first and find the right ID.
GitHub Repository
Related Skills
railway-docs
DocumentationThis skill fetches current Railway documentation to answer questions about features, functionality, or specific docs URLs. It ensures developers receive accurate, up-to-date information directly from Railway's official sources. Use it when users ask how Railway works or reference Railway documentation.
n8n-code-python
DocumentationThis Claude Skill provides expert guidance for writing Python code in n8n's Code nodes, specifically for using Python's standard library and working with n8n's special syntax like `_input`, `_json`, and `_node`. It helps developers understand Python's limitations within n8n and recommends using JavaScript for most workflows while offering Python solutions for specific data transformation needs.
archon
DocumentationThe Archon skill provides RAG-powered semantic search and project management through a REST API. Use it for querying documentation, managing hierarchical projects/tasks, and performing knowledge retrieval with document upload capabilities. Always prioritize Archon first when searching external documentation before using other sources.
n8n-code-javascript
DocumentationThis Claude Skill provides expert guidance for writing JavaScript code in n8n's Code nodes. It covers essential n8n-specific syntax like `$input`/`$json` variables, HTTP helpers, and DateTime handling, while troubleshooting common errors. Use it when developing n8n workflows that require custom JavaScript processing in Code nodes.
