garc-gws-agent-runtime/.claude/skills/garc-runtime/SKILL.md
林 駿甫 (Shunsuke Hayashi) a69b9d9160 feat: initial release — GARC v0.1.0
Permission-first AI agent runtime for Google Workspace.
Ports the LARC/OpenClaw governance model (disclosure chain,
execution gates, queue/ingress) to Gmail, Calendar, Drive,
Sheets, Tasks, and People APIs with Claude Code as the
execution engine.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 08:59:12 +09:00

6.9 KiB

name version description
garc-runtime 0.1.0 GARC — Google Workspace Agent Runtime. Use when performing office-work tasks on Gmail, Google Drive, Sheets, Calendar, or Tasks through the GARC CLI.

GARC Runtime Skill

When to use this skill

Use GARC when the user asks you to:

  • Send emails, search Gmail, read emails
  • Create or update Google Calendar events, check availability
  • Read/write Google Drive files, upload/download, create docs
  • Read/write Google Sheets data
  • Manage Google Tasks
  • Check OAuth scope requirements for a GWS task
  • Manage the agent memory/context
  • Register or manage agents

Pre-flight checklist

Before any GARC operation:

  1. Check config

    garc status
    

    All items must be . If not, guide through garc setup all.

  2. Infer scopes (for new task types)

    garc auth suggest "<task description>"
    

    Note the gate level. Act accordingly.

  3. Check execution gate

    • none → proceed immediately
    • preview → show user what will happen, confirm before executing
    • approval → create approval request, wait for human approval

Gmail Operations

Send email

garc gmail send \
  --to recipient@example.com \
  --subject "Subject here" \
  --body "Body text here" \
  [--cc cc@example.com] \
  [--html]   # for HTML body

Gate: preview — Always confirm recipient and content with user before sending.

Search emails

garc gmail search "from:alice@co.com subject:invoice" --max 10
garc gmail search "after:2026/04/01 has:attachment" --body

Gate: none

Read email

garc gmail read <message_id>

Inbox

garc gmail inbox --unread --max 20

Draft

garc gmail draft --to someone@co.com --subject "Draft title" --body "..."

Google Calendar Operations

List events

garc calendar today               # Today's events
garc calendar week                # This week
garc calendar list --days 14      # Next 14 days
garc calendar list --query "Standup"  # Filter by keyword

Gate: none

Create event

garc calendar create \
  --summary "Team Meeting" \
  --start "2026-04-16T14:00:00" \
  --end "2026-04-16T15:00:00" \
  --description "Weekly sync" \
  --location "Google Meet" \
  --attendees alice@co.com bob@co.com \
  --timezone "Asia/Tokyo"

Gate: preview — Show user the event details before creating.

Check free/busy

garc calendar freebusy \
  --start 2026-04-16 \
  --end 2026-04-17 \
  --emails alice@co.com bob@co.com

Gate: none

Quick add (natural language)

garc calendar quick-add "Lunch with Alice tomorrow at 12:30pm"

Gate: preview


Google Drive Operations

garc drive list --folder-id 1xxxxx
garc drive search "Q1 report" --type doc
garc drive info <file_id>

Gate: none

Download

garc drive download --file-id 1xxxxx --output ./local_file.txt
garc drive download --folder-id 1xxxxx --filename "SOUL.md" --output ~/.garc/SOUL.md

Gate: none

Upload

garc drive upload ./report.pdf --folder-id 1xxxxx
garc drive upload ./data.csv --folder-id 1xxxxx --convert  # Convert to Google Sheet

Gate: preview

Create document / folder

garc drive create-doc "Meeting Notes 2026-04-15" --folder-id 1xxxxx
garc drive create-folder "Project Alpha" --parent-id 1xxxxx

Gate: preview

Share

garc drive share 1xxxxx --email colleague@co.com --role writer

Gate: approval (sharing = external visibility)


Google Sheets Operations

Read data

garc sheets info                              # Show all tabs and dimensions
garc sheets read --range "memory!A:E"
garc sheets read --range "agents!A:H" --format json
garc sheets search --sheet memory --query "expense"

Gate: none

Write data

garc sheets append --sheet memory --values '["main","2026-04-15T10:00:00Z","key decision: use GARC","manual",""]'
garc sheets write --range "agents!A2:F2" --values '[["crm-agent","claude-sonnet-4-6","...","CRM agent","writer","active"]]'

Gate: preview


Memory Operations

garc memory pull             # Sync Sheets → local
garc memory push "important context: ..."
garc memory search "client A"

Task Operations

garc task list
garc task list --completed --format json
garc task create "Write Q1 report" --due 2026-04-30 --notes "Include section on revenue"
garc task update <task_id> --due 2026-05-01
garc task done <task_id>
garc task delete <task_id>
garc task clear-completed
garc task tasklists          # List all task lists

Gate: preview for create/update/delete — confirm with user before modifying tasks.


People & Contacts

garc people search "Alice"              # Search personal contacts
garc people directory "engineering"     # Search org directory (GWS)
garc people lookup "Bob Smith"          # Quick name → email lookup
garc people list --max 50              # List all contacts
garc people show <contact_id>
garc people create --name "Jane Doe" --email jane@co.com --company "Acme"
garc people update <contact_id> --title "Senior Manager"

Gate: none for search/read, preview for create/update, approval for delete.


Agent Management

garc agent list              # Show registered agents
garc agent register          # Register from agents.yaml
garc agent show main         # Show specific agent details

Scope & Gate Reference

Operation Gate Scopes needed
Read email none gmail.readonly
Send email preview gmail.send
Delete email approval gmail.modify
Read calendar none calendar.readonly
Create event preview calendar
Delete event approval calendar
Read Drive none drive.readonly
Upload to Drive preview drive.file
Delete/share Drive approval drive
Read Sheets none spreadsheets.readonly
Write Sheets preview spreadsheets
Read Tasks none tasks.readonly
Create/update Tasks preview tasks
Delete Tasks approval tasks
Read Contacts none contacts.readonly
Create/update Contacts preview contacts
Delete Contacts approval contacts
Search Directory none directory.readonly
Create expense approval spreadsheets + drive.file + gmail.send

Error patterns

Error Action
credentials.json not found Guide user to Google Cloud Console
Token refresh failed Run garc auth login --profile backoffice_agent
403 insufficientPermissions Run garc auth suggest "<task>" to identify missing scopes, then re-login
API not enabled Tell user to enable the specific API in Google Cloud Console
Sheets tab missing Run garc setup sheets
Rate limit (429) Wait and retry (garc has built-in retry with backoff)