gws-contacts
Google Contacts CLI operations via gws. Use when users need to list, search, view, create, or delete contacts. Triggers: contacts, google contacts, people api, contact management.
What this skill does
# Google Contacts (gws contacts) `gws contacts` provides CLI access to Google Contacts via the People API with structured JSON output. > **Disclaimer:** `gws` is not the official Google CLI. This is an independent, open-source project not endorsed by or affiliated with Google. ## Dependency Check **Before executing any `gws` command**, verify the CLI is installed: ```bash gws version ``` If not found, install: `go install github.com/omriariav/workspace-cli/cmd/gws@latest` **Minimum version required:** v1.14.0 (Contacts support added in this release) ## Authentication Requires OAuth2 credentials. Run `gws auth status` to check. If not authenticated: `gws auth login` (opens browser for OAuth consent). For initial setup, see the `gws-auth` skill. ## Quick Command Reference | Task | Command | |------|---------| | List contacts | `gws contacts list` | | List more contacts | `gws contacts list --max 100` | | Search by name | `gws contacts search "John Doe"` | | Search by email | `gws contacts search "[email protected]"` | | Get contact details | `gws contacts get <resource-name>` | | Create a contact | `gws contacts create --name "Jane Smith" --email "[email protected]"` | | Update a contact | `gws contacts update <resource-name> --name "New Name"` | | Delete a contact | `gws contacts delete <resource-name>` | | Batch create contacts | `gws contacts batch-create --file contacts.json` | | Batch update contacts | `gws contacts batch-update --file updates.json` | | Batch delete contacts | `gws contacts batch-delete --resources people/c1 --resources people/c2` | | List directory people | `gws contacts directory` | | Search directory | `gws contacts directory-search --query "John"` | | Update contact photo | `gws contacts photo <resource-name> --file photo.jpg` | | Delete contact photo | `gws contacts delete-photo <resource-name>` | | Resolve multiple contacts | `gws contacts resolve --ids people/c1 --ids people/c2` | ## Detailed Usage ### list — List contacts ```bash gws contacts list [flags] ``` Lists contacts from your Google account. **Flags:** - `--max int` — Maximum number of contacts to return (default 50) **Output includes:** - `resource_name` — Resource identifier (e.g., `people/c1234567890`) - `name` — Contact's display name - `emails` — Array of email addresses - `phones` — Array of phone numbers - `organization` — Organization info (name and title) **Examples:** ```bash gws contacts list gws contacts list --max 100 gws contacts list --format json | jq '.contacts[] | select(.name | contains("Smith"))' ``` ### search — Search contacts ```bash gws contacts search <query> ``` Searches contacts by name, email, or phone number. **Arguments:** - `query` — Search string (required) **Search behavior:** - Searches across names, email addresses, and phone numbers - Case-insensitive matching - Returns contacts that match any field **Examples:** ```bash gws contacts search "John" gws contacts search "[email protected]" gws contacts search "555-1234" gws contacts search "Company Inc" ``` ### get — Get contact details ```bash gws contacts get <resource-name> ``` Gets detailed information about a specific contact by resource name. **Arguments:** - `resource-name` — Resource identifier (required, e.g., `people/c1234567890`) **Output includes:** - `resource_name` — Resource identifier - `name` — Contact's display name - `emails` — Array of email addresses - `phones` — Array of phone numbers - `organization` — Organization info (name and title) **Examples:** ```bash gws contacts get people/c1234567890 ``` **Tip:** Get the `resource_name` from `list` or `search` output: ```bash gws contacts search "Jane" --format json | jq -r '.contacts[0].resource_name' | xargs gws contacts get ``` ### create — Create a new contact ```bash gws contacts create --name <name> [flags] ``` Creates a new contact with a name, email, and/or phone number. **Flags:** - `--name string` — Contact name (required) - `--email string` — Contact email address (optional) - `--phone string` — Contact phone number (optional) **Output includes:** - `status` — Always `"created"` - `resource_name` — New contact's resource identifier - All contact fields **Examples:** ```bash gws contacts create --name "Jane Smith" gws contacts create --name "John Doe" --email "[email protected]" gws contacts create --name "Bob Wilson" --email "[email protected]" --phone "555-1234" ``` ### delete — Delete a contact ```bash gws contacts delete <resource-name> ``` Deletes a contact by resource name. **Arguments:** - `resource-name` — Resource identifier (required, e.g., `people/c1234567890`) **Output includes:** - `status` — Always `"deleted"` - `resource_name` — Deleted contact's resource identifier **Examples:** ```bash gws contacts delete people/c1234567890 ``` **Warning:** This operation is permanent and cannot be undone. Consider confirming before deletion: ```bash gws contacts get people/c1234567890 # Review first gws contacts delete people/c1234567890 # Then delete ``` ### update — Update a contact ```bash gws contacts update <resource-name> [flags] ``` Updates an existing contact by resource name. Specify fields to update via flags. **Arguments:** - `resource-name` — Resource identifier (required, e.g., `people/c1234567890`) **Flags:** - `--name string` — Updated contact name - `--email string` — Updated email address - `--phone string` — Updated phone number - `--organization string` — Updated organization name - `--title string` — Updated job title - `--etag string` — Etag for concurrency control (from get command) **Examples:** ```bash gws contacts update people/c1234567890 --name "Jane Doe" gws contacts update people/c1234567890 --email "[email protected]" --phone "555-9999" gws contacts update people/c1234567890 --organization "Acme Inc" --title "Manager" ``` ### batch-create — Batch create contacts ```bash gws contacts batch-create --file <path> ``` Creates multiple contacts from a JSON file. The file should contain an array of contact objects. **Flags:** - `--file string` — Path to JSON file with contacts array (required) **File format:** ```json [ {"names": [{"unstructuredName": "John Doe"}], "emailAddresses": [{"value": "[email protected]"}]}, {"names": [{"unstructuredName": "Jane Smith"}], "phoneNumbers": [{"value": "555-1234"}]} ] ``` **Examples:** ```bash gws contacts batch-create --file contacts.json ``` ### batch-update — Batch update contacts ```bash gws contacts batch-update --file <path> ``` Updates multiple contacts from a JSON file. The file should contain a map of resource names to contact objects. **Flags:** - `--file string` — Path to JSON file with contacts map (required) **File format:** ```json { "contacts": { "people/c123": {"etag": "...", "names": [{"unstructuredName": "Updated Name"}]}, "people/c456": {"etag": "...", "emailAddresses": [{"value": "[email protected]"}]} }, "update_mask": "names,emailAddresses" } ``` **Examples:** ```bash gws contacts batch-update --file updates.json ``` ### batch-delete — Batch delete contacts ```bash gws contacts batch-delete --resources <resource-name> [--resources <resource-name> ...] ``` Deletes multiple contacts by resource names. **Flags:** - `--resources string` — Resource names to delete (repeatable) **Examples:** ```bash gws contacts batch-delete --resources people/c1 --resources people/c2 ``` ### directory — List directory people ```bash gws contacts directory [flags] ``` Lists people in the organization's directory. Requires directory.readonly scope. **Flags:** - `--max int` — Maximum number of directory people to return (default 50) **Examples:** ```bash gws contacts directory gws contacts directory --max 100 ``` ### directory-search — Search directory people ```bash gws contacts directory-search --query <query> [flags] ``` Searches people in the organization's directory by query. **Flags:** - `--query string` — Search query (required) - `--max int` — Maximum num
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.