Files
claude-skills-reference/engineering-team/google-workspace-cli/references/recipes-cookbook.md
Reza Rezvani 4e9f1d934d feat(engineering): add google-workspace-cli skill with 5 Python tools
New skill for Google Workspace administration via the gws CLI:
- SKILL.md with 4 workflows (Gmail, Drive/Sheets, Calendar, Security Audit)
- 5 stdlib-only Python scripts (doctor, auth setup, recipe runner, audit, analyzer)
- 3 reference docs, 2 asset files, 43 built-in recipes, 10 persona bundles
- cs-workspace-admin agent, /google-workspace slash command
- Standalone marketplace plugin entry with .claude-plugin/plugin.json
- Cross-platform sync (Codex CLI, Gemini CLI), MkDocs docs pages
- All documentation updated (173 skills, 250 tools, 15 agents, 15 commands)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 09:59:40 +01:00

8.3 KiB

Google Workspace CLI Recipes Cookbook

Complete catalog of 43 built-in recipes organized by category, with command sequences and persona mapping.


Recipe Categories

Category Count Description
Email 8 Gmail operations — send, search, label, filter
Files 7 Drive file management — upload, share, export
Calendar 6 Events, scheduling, meeting prep
Reporting 5 Activity summaries and analytics
Collaboration 5 Chat, Docs, Tasks teamwork
Data 4 Sheets read/write and contacts
Admin 4 User and group management
Cross-Service 4 Multi-service workflows

Email Recipes (8)

send-email

Send an email with optional attachments.

gws gmail users.messages send me --to "recipient@example.com" \
  --subject "Subject" --body "Body text" [--attachment file.pdf]

reply-to-thread

Reply to an existing email thread.

gws gmail users.messages reply me --thread-id <THREAD_ID> --body "Reply text"

forward-email

Forward an email to another recipient.

gws gmail users.messages forward me --message-id <MSG_ID> --to "forward@example.com"

search-emails

Search emails using Gmail query syntax.

gws gmail users.messages list me --query "from:sender@example.com after:2025/01/01" --json

Query examples: is:unread, has:attachment, label:important, newer_than:7d

archive-old

Archive read emails older than N days.

gws gmail users.messages list me --query "is:read older_than:30d" --json
# Extract IDs, then batch modify to remove INBOX label

label-manager

Create and organize Gmail labels.

gws gmail users.labels list me --json
gws gmail users.labels create me --name "Projects/Alpha"

filter-setup

Create auto-labeling filters.

gws gmail users.settings.filters create me \
  --criteria '{"from":"notifications@service.com"}' \
  --action '{"addLabelIds":["Label_123"],"removeLabelIds":["INBOX"]}'

unread-digest

Get digest of unread emails.

gws gmail users.messages list me --query "is:unread" --limit 20 --json

Files Recipes (7)

upload-file

Upload a file to Google Drive.

gws drive files create --name "Report Q1" --upload report.pdf --parents <FOLDER_ID>

create-sheet

Create a new Google Spreadsheet.

gws sheets spreadsheets create --title "Budget 2026" --json

share-file

Share a Drive file with a user or domain.

gws drive permissions create <FILE_ID> --type user --role writer --emailAddress "user@example.com"

export-file

Export a Google Doc/Sheet as PDF.

gws drive files export <FILE_ID> --mime "application/pdf" --output report.pdf

list-files

List files in a Drive folder.

gws drive files list --parents <FOLDER_ID> --json

find-large-files

Find the largest files in Drive.

gws drive files list --orderBy "quotaBytesUsed desc" --limit 20 --json

cleanup-trash

Empty Drive trash.

gws drive files emptyTrash

Calendar Recipes (6)

create-event

Create a calendar event with attendees.

gws calendar events insert primary \
  --summary "Sprint Planning" \
  --start "2026-03-15T10:00:00" --end "2026-03-15T11:00:00" \
  --attendees "team@company.com" --location "Room A"

quick-event

Create event from natural language.

gws helpers quick-event "Lunch with Sarah tomorrow at noon"

find-time

Find available time slots for a meeting.

gws helpers find-time --attendees "alice@co.com,bob@co.com" --duration 60 \
  --within "2026-03-15,2026-03-19" --json

today-schedule

Show today's calendar events.

gws calendar events list primary \
  --timeMin "$(date -u +%Y-%m-%dT00:00:00Z)" \
  --timeMax "$(date -u +%Y-%m-%dT23:59:59Z)" --json

meeting-prep

Prepare for an upcoming meeting.

gws recipes meeting-prep --event-id <EVENT_ID>

Output: Agenda, attendee list, related Drive files, previous meeting notes.

reschedule

Move an event to a new time.

gws calendar events patch primary <EVENT_ID> \
  --start "2026-03-16T14:00:00" --end "2026-03-16T15:00:00"

Reporting Recipes (5)

standup-report

Generate daily standup from calendar and tasks.

gws recipes standup-report --json

Output: Yesterday's events, today's schedule, pending tasks, blockers.

weekly-summary

Summarize week's emails, events, and tasks.

gws recipes weekly-summary --json

drive-activity

Report on Drive file activity.

gws drive activities list --json

email-stats

Email volume statistics for the past 7 days.

gws gmail users.messages list me --query "newer_than:7d" --json | python3 output_analyzer.py --count

task-progress

Report on task completion.

gws tasks tasks list <TASKLIST_ID> --json | python3 output_analyzer.py --group-by "status"

Collaboration Recipes (5)

share-folder

Share a Drive folder with a team.

gws drive permissions create <FOLDER_ID> --type group --role writer --emailAddress "team@company.com"

create-doc

Create a Google Doc with initial content.

gws docs documents create --title "Meeting Notes - March 15" --json

chat-message

Send a message to a Google Chat space.

gws chat spaces.messages create <SPACE_NAME> --text "Deployment complete!"

list-spaces

List Google Chat spaces.

gws chat spaces list --json

task-create

Create a task in Google Tasks.

gws tasks tasks insert <TASKLIST_ID> --title "Review PR #42" --due "2026-03-16"

Data Recipes (4)

sheet-read

Read data from a spreadsheet range.

gws sheets spreadsheets.values get <SHEET_ID> --range "Sheet1!A1:D10" --json

sheet-write

Write data to a spreadsheet.

gws sheets spreadsheets.values update <SHEET_ID> --range "Sheet1!A1" \
  --values '[["Name","Score"],["Alice",95],["Bob",87]]'

sheet-append

Append rows to a spreadsheet.

gws sheets spreadsheets.values append <SHEET_ID> --range "Sheet1!A1" \
  --values '[["Charlie",92]]'

export-contacts

Export contacts list.

gws people people.connections list me --personFields names,emailAddresses --json

Admin Recipes (4)

list-users

List all users in the Workspace domain.

gws admin users list --domain company.com --json

Prerequisites: Admin SDK API enabled, admin.directory.user.readonly scope.

list-groups

List all groups in the domain.

gws admin groups list --domain company.com --json

user-info

Get detailed user information.

gws admin users get user@company.com --json

audit-logins

Audit recent login activity.

gws admin activities list login --json

Cross-Service Recipes (4)

morning-briefing

Today's events + unread emails + pending tasks.

gws recipes morning-briefing --json

Combines: Calendar events, Gmail unread count, Tasks pending.

eod-wrap

End-of-day summary: completed, pending, tomorrow's schedule.

gws recipes eod-wrap --json

project-status

Aggregate project status from Drive, Sheets, Tasks.

gws recipes project-status --project "Project Alpha" --json

inbox-zero

Process inbox to zero: label, archive, reply, or create task.

gws recipes inbox-zero --interactive

Persona Mapping

Persona Top Recipes
Executive Assistant morning-briefing, today-schedule, find-time, send-email, meeting-prep, eod-wrap
Project Manager standup-report, create-event, find-time, task-create, project-status, weekly-summary
HR list-users, user-info, send-email, create-event, create-doc, export-contacts
Sales send-email, search-emails, create-event, find-time, create-doc, share-file
IT Admin list-users, list-groups, audit-logins, drive-activity, find-large-files, cleanup-trash
Developer sheet-read, sheet-write, upload-file, chat-message, task-create, send-email
Marketing send-email, create-doc, share-file, upload-file, create-sheet, chat-message
Finance sheet-read, sheet-write, sheet-append, create-sheet, export-file, share-file
Legal create-doc, share-file, export-file, search-emails, upload-file, audit-logins
Customer Support search-emails, send-email, reply-to-thread, label-manager, task-create, inbox-zero