home-modules/shared/skills/google-workspace/SKILL.md
Interact with Google Workspace services (Calendar, Gmail, Drive, Sheets, Docs, Chat, Tasks, Contacts) via the gws CLI
npx skillsauth add mccurdyc/nixos-config google-workspaceInstall 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.
gws)Use the gws CLI to interact with Google Workspace services. All output is
structured JSON. Do NOT use webfetch for Google Workspace URLs — use gws.
gws <service> <resource> <method> [--params '{}'] [--json '{}']
gws <service> +<helper> [flags]
| Task | Command |
|------|---------|
| List today's calendar | gws calendar +agenda |
| Create calendar event | gws calendar +insert --params '{"summary":"...", "start":"...", "end":"..."}' |
| Send email | gws gmail +send --params '{"to":"...","subject":"...","body":"..."}' |
| Reply to email | gws gmail +reply --params '{"messageId":"...","body":"..."}' |
| Search email | gws gmail messages list --params '{"q":"...","maxResults":10}' |
| Read email | gws gmail messages get --params '{"id":"...","format":"full"}' |
| Triage inbox | gws gmail +triage |
| List Drive files | gws drive files list --params '{"q":"...","pageSize":10}' |
| Upload to Drive | gws drive +upload --upload ./file.pdf |
| Read spreadsheet | gws sheets +read --params '{"spreadsheetId":"...","range":"Sheet1!A1:D10"}' |
| Append to spreadsheet | gws sheets +append --params '{"spreadsheetId":"...","range":"...","values":[["a","b"]]}' |
| Write to doc | gws docs +write --params '{"documentId":"...","text":"..."}' |
| Send chat message | gws chat +send --params '{"space":"...","text":"..."}' |
| List tasks | gws tasks tasklists list |
| Search contacts | gws people connections list --params '{"personFields":"names,emailAddresses"}' |
--dry-run — show the API request without executing--page-all — auto-paginate through all results--page-limit N — limit pagination to N pages--params '{}' — URL/query parameters (JSON)--json '{}' — request body (JSON)If unsure of available resources/methods for a service:
gws schema list # list all services
gws schema get --params '{"api":"calendar"}' # show calendar API schema
--page-all or --page-limit.gws auth login. Do not attempt auth setup.tools
Do work in an isolated git worktree instead of switching branches. Use when creating a branch and opening a PR so the user's working directory is never disturbed. Triggers: 'create a branch', 'open a PR', 'make a change on a new branch'.
development
Search the web, fetch web page content, or search GitHub issues/PRs/repos. Use when you need current information not available locally.
tools
Start an interactive questionnaire when there are more than 5 options or bullet points that need to be addressed. Uses the ask_user tool to walk through selections interactively instead of dumping a wall of text.
tools
Browse the web headlessly using Chrome DevTools Protocol. Use when you need to interact with web pages - click buttons, fill forms, navigate, take screenshots, or extract dynamic content that requires JavaScript.