Google Sheets: Read and write spreadsheets.
a3768d0PREREQUISITE: Read
../gws-shared/SKILL.mdfor auth, global flags, and security rules. If missing, rungws generate-skillsto create it.
gws sheets <resource> <method> [flags]
| Command | Description |
|---------|-------------|
| +append | Append a row to a spreadsheet |
| +read | Read values from a spreadsheet |
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 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. 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' resourcesheets — Operations on the 'sheets' resourcevalues — Operations on the 'values' resourceBefore calling any API method, inspect it:
# 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.
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/gws-sheets · pinned to the source commit
# Run from your project root
git clone https://github.com/googleworkspace/cli.git .skillboard-tmp
git -C .skillboard-tmp checkout a3768d0e82ad83cca2da97724e46bea4ff0e6dbd
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/gws-sheets" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/googleworkspace/cli.git .skillboard-tmp
git -C .skillboard-tmp checkout a3768d0e82ad83cca2da97724e46bea4ff0e6dbd
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/gws-sheets" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/gws-sheets
Scanner static-checks@0.1.0 · commit a3768d0e82ad. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
References parent-directory traversal, which can escape a target directory.
Evidence: ../· fingerprint fa08499e14d0113b