원클릭으로
Gmail, Calendar, Tasks, Drive, Contacts (People), and Photos via Google APIs with OAuth refresh tokens.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Gmail, Calendar, Tasks, Drive, Contacts (People), and Photos via Google APIs with OAuth refresh tokens.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Bounded auto-iteration for a prompt with explicit stop predicates.
Memory hygiene workflow to classify, deduplicate, and promote durable knowledge across local memory layers.
Bounded simplification pass for a file or hunk that preserves behavior while reducing complexity.
Turn a repeatable workflow into a reusable local SKILL.md with explicit steps, criteria, and safe defaults.
Bounded auto-debug loop for failing build/test commands with evidence-first diagnosis.
Safely update Nexo config files with read-before-write merges, schema-aware mapping, and reload/restart awareness.
SOC 직업 분류 기준
| name | |
| description | Gmail, Calendar, Tasks, Drive, Contacts (People), and Photos via Google APIs with OAuth refresh tokens. |
| requires | {"bins":[],"env":["GOOGLE_CLIENT_ID","GOOGLE_CLIENT_SECRET","GOOGLE_REFRESH_TOKEN"]} |
Use this skill when Kate needs to read or act on the user's Google
services: email, calendar, tasks, and Drive files.
The google extension implements REST API calls; OAuth refresh tokens
are handled via environment variables.
-3204321 tools grouped by service. Reads are unrestricted; writes are gated.
status — credential presence, endpoints, write-flag stategmail_list(query?, label_ids?, max_results?, include_spam_trash?, page_token?) — metadata (id + thread_id)gmail_read(id, format?) — full message (headers, decoded body_text, labels)gmail_search(query, max_results?) — list alias with required querygmail_send(to, subject, body) — requires GOOGLE_ALLOW_SEND=truegmail_modify_labels(id, add_labels?, remove_labels?) — gated (mark_read, archive, trash)calendar_list_calendarscalendar_list_events(calendar_id?, time_min?, time_max?, q?, max_results?, single_events?, order_by?)calendar_create_event(calendar_id?, summary, description?, location?, start, end, time_zone?, attendees?) — requires GOOGLE_ALLOW_CALENDAR_WRITE=truecalendar_update_event(calendar_id?, event_id, patch) — gatedcalendar_delete_event(calendar_id?, event_id) — gatedtasks_list_lists(max_results?)tasks_list_tasks(list_id, show_completed?, show_hidden?, max_results?)tasks_add(list_id, title, notes?, due?) — requires GOOGLE_ALLOW_TASKS_WRITE=truetasks_complete(list_id, task_id) — gatedtasks_delete(list_id, task_id) — gateddrive_list(q?, page_size?, fields?, page_token?, spaces?)drive_get(id, fields?)drive_download(id, output_path) — writes to disk; output_path must be under GOOGLE_DRIVE_SANDBOX_ROOTdrive_upload(source_path, name?, parent_id?, mime_type?) — requires GOOGLE_ALLOW_DRIVE_WRITE=true; source path must be under sandboxdrive_create_folder(name, parent_id?) — gateddrive_delete(id) — gatedgmail_search query:"is:unread newer_than:1d" max_results:10 → idsgmail_read id:<id> for each relevant message → body_text + headersgmail_modify_labels to mark as read (gated)calendar_list_events time_min:<today 00:00Z> time_max:<tomorrow 00:00Z> → agendatasks_list_tasks list_id:@default show_completed:false → pending tasksgmail_search query:"is:unread" → urgent inboxdrive_list q:"mimeType='application/pdf' and name contains 'factura'" → iddrive_download id:<id> output_path:/sandbox/factura.pdf → localpdf-extract.extract_text path:/sandbox/factura.pdf → textsummarize.summarize_text text:<...> → summarytasks_add without confirmation; each call persists a row.GOOGLE_REFRESH_TOKEN must be generated with the required scopes.
Recommended setup (full usage):
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/tasks
https://www.googleapis.com/auth/drive
If your token has read-only scopes, write tools may pass local gating
but Google returns 403 insufficient permissions, surfaced as
-32012 Forbidden.
| Code | Meaning |
|---|---|
| -32011 | unauthorized / refresh failed / missing scope for read calls |
| -32012 | forbidden (missing scope for write calls) |
| -32001 | not found (invalid id) |
| -32013 | rate limited (with retry_after_secs) |
| -32043 | write denied — set the required write flag |
| -32602 | bad input (path outside sandbox, malformed URL, invalid enum) |
| -32003 / -32005 / -32004 | transport / timeout / circuit open |