
Gws Sheets
Read and write Google Sheets from the agent via the gws CLI for spreadsheets batchUpdate, create, get, and helper append/read commands.
Overview
gws-sheets is an agent skill for the Build phase that reads and writes Google Spreadsheets via the gws CLI and Sheets API v4 helpers.
Install
npx skills add https://github.com/googleworkspace/cli --skill gws-sheetsWhat is this skill?
- Sheets v4 CLI entrypoint: gws sheets <resource> <method> with shared gws auth rules
- Helper commands +append and +read documented as separate companion skills
- Core API resources: spreadsheets batchUpdate, create, and get with field-mask grid options
- Requires gws binary and gws-shared SKILL.md for auth and security rules
- OpenClaw metadata pins category productivity and documents gws sheets --help
- Skill metadata version 0.22.5
- Documented spreadsheets methods include batchUpdate, create, and get
- Two helper skill links: +append and +read
Adoption & trust: 30.1k installs on skills.sh; 26.9k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need your agent to append rows or update ranges in Google Sheets without hand-rolling OAuth and REST calls each time.
Who is it for?
Builders already standardizing on the gws CLI who want Sheets create, get, and batchUpdate in agent-driven workflows.
Skip if: Teams without Google Workspace OAuth setup or the gws binary—use a different integration path or MCP instead of this skill.
When should I use this skill?
User asks to read or write Google Sheets, run gws sheets, append spreadsheet rows, or use Sheets API v4 via the gws CLI.
What do I get? / Deliverables
You run documented gws sheets commands (or +append/+read helpers) that apply validated batch updates or return spreadsheet data under shared auth rules.
- Executed gws sheets commands against a spreadsheet ID
- Created or updated sheet data via batchUpdate or helpers
Recommended Skills
Journey fit
Spreadsheet automation lands in Build when you wire product data, ops trackers, or lead lists into Google Workspace during implementation. Integrations is the canonical shelf because the skill is the Sheets v4 surface over gws, not a standalone spreadsheet app.
How it compares
CLI skill package for gws sheets, not a hosted MCP server—pair with gws-shared before any sheets call.
Common Questions / FAQ
Who is gws-sheets for?
Indie developers and small teams using Claude Code, Cursor, or Codex with the gws CLI to automate Google Sheets as part of their app or ops stack.
When should I use gws-sheets?
Use it during Build/integrations when implementing read/write to spreadsheets—logging signups, syncing metrics tabs, or creating sheets via spreadsheets.create.
Is gws-sheets safe to install?
Check the Security Audits panel on this page; the skill inherits gws-shared security rules and uses credentials with Sheets scope—review OAuth and CLI access before production data.
Workflow Chain
Requires first: gws shared
SKILL.md
READMESKILL.md - Gws Sheets
# sheets (v4) > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. ```bash gws sheets <resource> <method> [flags] ``` ## Helper Commands | Command | Description | |---------|-------------| | [`+append`](../gws-sheets-append/SKILL.md) | Append a row to a spreadsheet | | [`+read`](../gws-sheets-read/SKILL.md) | Read values from a spreadsheet | ## API Resources ### spreadsheets - `batchUpdate` — Applies one or more updates to the spreadsheet. Each request is validated before being applied. If any request is not valid then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. The replies will mirror the requests. For example, if you applied 4 updates and the 3rd one had a reply, then the response will have 2 empty replies, the actual reply, and another empty reply, in that order. - `create` — Creates a spreadsheet, returning the newly created spreadsheet. - `get` — Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 ways: * Specify a [field mask](https://developers.google.com/workspace/sheets/api/guides/field-masks) listing your desired fields using the `fields` URL parameter in HTTP * Set the includeGridData URL parameter to true. - `getByDataFilter` — Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). This method differs from GetSpreadsheet in that it allows selecting which subsets of spreadsheet data to return by specifying a dataFilters parameter. Multiple DataFilters can be specified. - `developerMetadata` — Operations on the 'developerMetadata' resource - `sheets` — Operations on the 'sheets' resource - `values` — Operations on the 'values' resource ## Discovering Commands Before calling any API method, inspect it: ```bash # Browse resources and methods gws sheets --help # Inspect a method's required params, types, and defaults gws schema sheets.<resource>.<method> ``` Use `gws schema` output to build your `--params` and `--json` flags.