Google Sheets via gog
by @kvarts
Use this skill when you need to create, inspect, update, append to, or reorganize Google Sheets from a locally installed `gog` CLI. It is for local Google ac...
clawhub install google-sheets-gogπ About This Skill
name: google-sheets-gog description: Use this skill when you need to create, inspect, update, append to, or reorganize Google Sheets from a locally installed
gog CLI. It is for local Google account auth and direct spreadsheet operations such as reading ranges, appending rows, updating cells, creating spreadsheets or tabs, and managing named ranges with confirmation before destructive changes.
homepage: https://github.com/steipete/gogcli
metadata: {"openclaw":{"emoji":"π","homepage":"https://github.com/steipete/gogcli","skillKey":"gogSheets","requires":{"bins":["gog"],"config":["skills.entries.gogSheets.config.login","skills.entries.gogSheets.config.password"]},"install":[{"id":"brew","kind":"brew","formula":"gogcli","bins":["gog"],"label":"Install gog (Homebrew)"}]}}
Google Sheets via gog
Use this skill to operate on Google Sheets through the local gog CLI instead of a hosted API bridge. It is intended for spreadsheet CRUD work on the user's own Google account with local OAuth.
Prerequisites
gog must be installed locally.skills.entries.gogSheets.config.login and skills.entries.gogSheets.config.password are both set.OpenClaw Config
Use gogSheets as the OpenClaw config key:
{
skills: {
entries: {
gogSheets: {
enabled: true,
config: {
login: "you@gmail.com",
password: "app-specific-or-local-secret"
}
}
}
}
}
login and password are load-time gating requirements for OpenClaw. They make the skill eligible to load, but the sheet operations below still use local gog OAuth unless you later add separate automation around those config values.
If you do not want to store raw secrets directly in config, prefer using skills.entries.gogSheets.env or apiKey alongside this config and keep prompts free of secrets.
Setup
1. Store the OAuth client credentials:
gog auth credentials ~/Downloads/client_secret_....json
2. Authorize the account for Sheets:
gog auth add you@gmail.com --services sheets
3. If Sheets access is being added later to an existing account and Google does not return a refresh token, re-run with consent forced:
gog auth add you@gmail.com --services sheets --force-consent
4. Select the account for subsequent commands:
export GOG_ACCOUNT=you@gmail.com
Or pass --account you@gmail.com on each command.
Working Rules
--json for reads when the result will be parsed or summarized.Sheet1!A1:D20.gog sheets --help or gog --help before executing.GOG_ENABLE_COMMANDS=sheets.gog on the host at skill load time; sandboxed runs also need gog installed inside the container.--readonly instead of assuming write scopes are acceptable.Safety Policy
Before any destructive or broad write, explicitly state:
Ask for confirmation before:
clear on any rangefind-replace across a whole spreadsheet or large tabupdateDirect reads and narrowly scoped appends or cell updates can proceed without a separate confirmation when the user request is already explicit.
Common Tasks
Read spreadsheet data
See references/gog-sheets.md for command patterns.
Create and extend spreadsheets
Update and append data
update for direct cell or range replacement.append for new rows.--copy-validation-from when appropriate.Organize structure
Failure Handling
gog auth credentials and inspect account state with gog auth status.--force-consent.gog help first rather than guessing.References
βοΈ Configuration
1. Store the OAuth client credentials:
gog auth credentials ~/Downloads/client_secret_....json
2. Authorize the account for Sheets:
gog auth add you@gmail.com --services sheets
3. If Sheets access is being added later to an existing account and Google does not return a refresh token, re-run with consent forced:
gog auth add you@gmail.com --services sheets --force-consent
4. Select the account for subsequent commands:
export GOG_ACCOUNT=you@gmail.com
Or pass --account you@gmail.com on each command.