- Home
- Skills
- Googleworkspace
- Cli
- Gws Shared
gws-shared_skill
- Rust
19.4k
GitHub Stars
1
Bundled Files
3 weeks ago
Catalog Refreshed
1 month ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstart where the catalogue uses aiagentskills.
npx veilstart add skill googleworkspace/cli --skill gws-shared- SKILL.md2.0 KB
Overview
This skill provides shared CLI patterns for Google Workspace automation, centralizing authentication, global flags, output formatting, and safety rules. It standardizes how agent skills call Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, and other Google APIs from a single gws command-line tool. The goal is predictable, auditable automation with built-in safeguards for destructive operations and PII handling.
How this skill works
The skill expects the gws binary on PATH and uses either browser-based OAuth or service account credentials via GOOGLE_APPLICATION_CREDENTIALS. Commands follow a single syntax: gws <service> <resource> [sub-resource] <method> [flags]. Global flags control format, dry-run behavior, and sanitization while method flags handle params, body JSON, uploads, pagination, and binary output saving.
When to use it
- Automating Google Workspace tasks across multiple services from an agent or CI job
- Performing scripted reads and writes while enforcing confirmation for destructive actions
- Exporting or transforming API responses into json, table, yaml, csv for downstream processing
- Running bulk queries with auto-pagination and controlled page limits/delays
- Screening outputs for PII or policy concerns before exposing results
Best practices
- Install the gws binary on PATH and verify authentication with gws auth login or service account env var
- Use --dry-run to validate commands locally before making changes to live data
- Always prompt the user for confirmation before executing write or delete operations
- Apply --sanitize with a model template when responses may contain PII or sensitive content
- Prefer structured output (--format json) for automation; use table or csv for human-readable exports
- Limit auto-pagination with --page-limit and add --page-delay to avoid rate limits
Example use cases
- List all Drive files and save results as NDJSON while iterating pages with --page-all
- Create a Calendar event via gws calendar events insert --json '{...}' after a dry-run confirmation
- Download a Docs export to a file using -o/--output and verify content with --sanitize
- Run admin reports using service account credentials in CI and output as csv for analytics
- Search Gmail messages with query params and stream results for downstream AI processing
FAQ
Set GOOGLE_APPLICATION_CREDENTIALS to a service account JSON key and ensure the service account has needed scopes.
How can I avoid leaking secrets in outputs?
Never print tokens or API keys. Use --sanitize to screen results and use --dry-run to validate commands without calling APIs.