Skill13 starsChanged 37 days agoApache-2.0View on GitHub
Google Workspace CLI for Gmail, Calendar, Drive, Docs, Sheets, and Slides using gogcli. Use when asked to search email, schedule meetings, manage files, edit documents, update spreadsheets, or create presentations.
- Reads credentials
- Installs packages
11 other projects use a version of this.
Adopted by
Most recently taken up by
- delorenj/skillstheir own version, first seen Nov 7, 2026
- vercel-labs/emulatetheir own version, first seen Oct 29, 2026
- ceedaragents/cyrustheir own version, first seen Oct 8, 2026
- cyrusagents/cyrustheir own version, first seen Sep 24, 2026
- reescalder/claude-skillstheir own version, first seen Jul 27, 2026
- ckorhonen/claude-skillstheir own version, first seen Jul 5, 2026
Used with
Projects with it also use summarize.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
mitsuhikoSkillsummarize
Fetch a URL or convert a local file (PDF/DOCX/HTML/etc.) into Markdown using `uvx markitdown`, optionally it can summarize
Also in 3 projects that use this
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- vercel-labs/emulate★ 2ksame name
- ceedaragents/cyrus★ 888same name
- cyrusagents/cyrus★ 888same name
- rainday/smart-blog-skills★ 35same name
- snyk-labs/toxicskills-goof★ 18same name
- ckorhonen/claude-skills★ 17same name
- delorenj/skills★ 17same name
- mediause/agent-skills★ 9same name
- lordmacu/nexo-rs★ 8same name
- reescalder/claude-skills★ 0same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- confluenceSkill
- gerritSkill
- githubSkill
- gitlabSkill
- jiraSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 65
All commands support --json for structured output and --plain for TSV.
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Google Workspace Skill
This skill provides Google Workspace integration using the gog CLI (gogcli). The agent calls gog directly for all operations.
Prerequisites
Install the gog binary (CI-validated version is listed in the frontmatter above):
# Homebrew
brew install openclaw/tap/gogcli
# Manual (Linux amd64)
curl -sL https://github.com/openclaw/gogcli/releases/latest/download/gogcli_VERSION_linux_amd64.tar.gz | tar xz
mv gog ~/.local/bin/See configuration.md for container and MCP server alternatives.
Network access
Google Workspace commands require outbound HTTPS to Google API and OAuth endpoints, including authentication and token refresh. Remote operations require outbound network access. If the agent environment restricts it, obtain access through that environment's approval or network controls before the first remote command, reusing authorization already granted. Local help and file processing do not need network access. Skill instructions do not grant network permission. Report DNS, connection, and timeout failures as network errors; do not reset credentials to resolve them. If approved access also fails, stop and report it. Authentication and permission errors require user action.
Authentication
# Import credentials.json from Google Cloud Console
gog auth credentials set /path/to/credentials.json
# Authorize with only the services you need (opens browser)
gog auth add your@email.com --services gmail,calendar,drive,docs,sheets,slides
# Verify
gog auth doctorQuick Reference
gog gmail search "is:unread" # Search email
gog calendar events --today # Today's events
gog drive search "quarterly report" # Search files
gog docs cat <docId> # Read a document
gog sheets get <spreadsheetId> "Sheet1!A1:D10" # Read spreadsheet range
gog slides info <presentationId> # Presentation metadataAll commands support --json for structured output and --plain for TSV.
Commands
Gmail
# Search
gog gmail search "from:boss@example.com newer_than:7d"
gog gmail search "is:unread label:inbox" --max 20
# Read
gog gmail get <messageId>
gog gmail thread get <threadId>
gog gmail labels list
# Organize
gog gmail mark-read <messageId>
gog gmail unread <messageId>
gog gmail archive <messageId>
gog gmail trash <messageId>
# Send
gog gmail send --to "user@example.com" --subject "Hello" --body "Message body"
gog gmail reply <messageId> --body "Reply text"
gog gmail forward <messageId> --to "other@example.com"
# Drafts
gog gmail drafts list
gog gmail drafts create --to "user@example.com" --subject "Draft" --body "Content"
gog gmail drafts send <draftId>See gmail.md for the full command reference.
Google Calendar
# View
gog calendar calendars
gog calendar events --today
gog calendar events --from "2026-06-25" --to "2026-06-30"
gog calendar event <calendarId> <eventId>
gog calendar freebusy --from "2026-06-25T09:00:00Z" --to "2026-06-25T17:00:00Z"
gog calendar search "standup"
# Create
gog calendar create primary --summary "Meeting" --from "2026-06-25T10:00:00" --to "2026-06-25T11:00:00"
# Manage
gog calendar update <calendarId> <eventId> --summary "Updated title"
gog calendar delete <calendarId> <eventId>
gog calendar respond <calendarId> <eventId> --status acceptedSee calendar.md for the full command reference.
Google Drive
# Browse
gog drive ls
gog drive ls --folder <folderId>
gog drive search "quarterly report"
gog drive tree
gog drive get <fileId>
# File operations
gog drive upload report.pdf --parent <folderId>
gog drive download <fileId>
gog drive copy <fileId> "Copy of Report"
gog drive move <fileId> --parent <newFolderId>
gog drive rename <fileId> "New Name"
gog drive delete <fileId>
# Sharing
gog drive share <fileId> --email "user@example.com" --role writer
gog drive permissions <fileId>
gog drive unshare <fileId> <permissionId>See drive.md for the full command reference.
Google Docs
# Read
gog docs info <docId>
gog docs cat <docId>
gog docs export <docId> --format md
gog docs structure <docId>
# Write
gog docs create "New Document"
gog docs write <docId> --body "Content to append"
gog docs insert <docId> "Text to insert" --at 1
gog docs find-replace <docId> "old text" "new text"
gog docs format <docId> --bold --start 1 --end 10
# Tables
gog docs insert-table <docId> --rows 3 --cols 4
gog docs cell-update <docId> --row 1 --col 1 --body "Header"See docs.md for the full command reference.
Docs Workflows
For importing markdown with formatting, table styling, and round-trip editing, see docs-workflows.md.
# Import markdown as a new document with standard formatting
gog docs create "Document Title" --file document.md --pageless
gog docs format <docId> --line-spacing 115 --space-below 8
# Update an existing document from markdown with formatting
gog docs write <docId> --file document.md --markdown --replace --pageless
gog docs format <docId> --line-spacing 115 --space-below 8Google Sheets
# Read
gog sheets metadata <spreadsheetId>
gog sheets get <spreadsheetId> "Sheet1!A1:D10"
gog sheets get <spreadsheetId> "Sheet1!A:A" --format FORMULA
# Write
gog sheets create "New Spreadsheet"
gog sheets update <spreadsheetId> "Sheet1!A1" "value1" "value2" "value3"
gog sheets append <spreadsheetId> "Sheet1!A:D" "val1" "val2" "val3" "val4"
gog sheets clear <spreadsheetId> "Sheet1!A1:D10"
# Structure
gog sheets add-tab <spreadsheetId> "New Tab"
gog sheets delete-tab <spreadsheetId> "Old Tab"
gog sheets rename-tab <spreadsheetId> "Old Name" "New Name"See sheets.md for the full command reference.
Google Slides
# Read
gog slides info <presentationId>
gog slides list-slides <presentationId>
gog slides read-slide <presentationId> <slideId>
gog slides export <presentationId> --format pptx
# Create
gog slides create "New Presentation"
gog slides create-from-markdown "Deck Title" --file slides.md
gog slides create-from-template <templateId> "From Template" --replacements '{"{{NAME}}":"Value"}'
# Edit
gog slides new-slide <presentationId>
gog slides insert-text <presentationId> <objectId> "Text content"
gog slides replace-text <presentationId> "find" "replace"
gog slides insert-image <presentationId> <slideId> image.png --width 300See slides.md for the full command reference.
Examples
Search and summarize recent emails
gog gmail search "is:unread newer_than:7d" --json --results-only | jq '.[] | "\(.from): \(.subject)"'Create a calendar event for tomorrow
TOMORROW=$(date -d '+1 day' '+%Y-%m-%dT09:00:00')
gog calendar create primary --summary "Team Standup" --from "$TOMORROW" --to "${TOMORROW%T*}T09:30:00"Download recent documents
gog drive search "type:document newer_than:7d" --json --results-only | jq -r '.[] | .id' | \
while read docId; do gog docs export "$docId" --format md > "doc_$docId.md"; doneCheck availability for a meeting
gog calendar freebusy --from "2026-06-25T09:00:00Z" --to "2026-06-25T17:00:00Z"Output Formatting
# JSON output (structured, for scripting)
gog gmail search "is:unread" --json --results-only
# Plain/TSV output (stable, parseable)
gog drive ls --plain
# Select specific fields
gog gmail search "is:unread" --json --select "id,subject,from"Agent Safety
# Read-only mode (blocks all mutations)
gog --readonly gmail search "test"
# Block Gmail send specifically
gog --gmail-no-send gmail search "test"
# Preview actions without executing
gog --dry-run drive delete <fileId>
# Disable interactive prompts (fail instead)
gog --no-input calendar create primary --summary "Test"Error Handling
| Exit Code | Meaning | Retryable |
| 0 | Success | - |
| 3 | Empty results | No (normal) |
| 4 | Auth required | No (run gog auth setup) |
| 5 | Not found | No |
| 6 | Permission denied | No |
| 7 | Rate limited | Yes (wait and retry) |
| 8 | Retryable server error | Yes (wait and retry) |
Authentication and permission errors require user intervention. Rate limiting and server errors can be retried after a brief wait.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

