Skill8 starsChanged 7 months agoApache-2.0View on GitHub
Gmail, Calendar, Tasks, Drive, Contacts (People), and Photos via Google APIs with OAuth refresh tokens.
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
- odyssey4me/agent-skillstheir own version, first seen Oct 6, 2026
- cyrusagents/cyrustheir own version, first seen Sep 24, 2026
- reescalder/claude-skillstheir own version, first seen Jul 27, 2026
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
- odyssey4me/agent-skills★ 13same name
- mediause/agent-skills★ 9same 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 repository38 other files it gives its agents.
- Brave SearchSkill
- BrowserSkill
- CloudflareSkill
- DNS ToolsSkill
- Docker APISkill
- Endpoint CheckSkill
- Fetch URLSkill
- GitHubSkill
- Google OAuthSkill
- GoPlacesSkill
- LoopSkill
- Microsoft Edge TTSSkill
- 1PasswordSkill
- OpenAI WhisperSkill
- OpenStreetMapSkill
- PDF ExtractSkill
- ProxmoxSkill
- RememberSkill
- RSS / AtomSkill
- RTSP SnapshotSkill
- Session LogsSkill
- SimplifySkill
- SkillifySkill
- SpotifySkill
- SSH ExecSkill
- StuckSkill
- SummarizeSkill
- TaskFlowSkill
- Tesseract OCRSkill
- tmuxSkill
- TranslateSkill
- Update ConfigSkill
- VerifySkill
- Video FramesSkill
- WeatherSkill
- WikipediaSkill
- Wolfram AlphaSkill
- yt-dlpSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Use this skill when Kate needs to read or act on the user's Google services: email, calendar, tasks, and Drive files.
- Distinctive: line 21
Read, search, or summarize emails
- Very specific: line 110
If your token has read-only scopes, write tools may pass local gating but Google returns 403 insufficient permissions, surfaced as -32012 …
“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
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.
Use when
- Read, search, or summarize emails
- List/create/update calendar events
- Query or add Tasks items
- List/download/upload Drive files
Do not use when
- You want write actions without the corresponding operator write flag
enabled — the tool returns
-32043 - You want a full Google API catalog — this extension covers only Gmail/Calendar/Tasks/Drive
Tool surface
21 tools grouped by service. Reads are unrestricted; writes are gated.
Status
status— credential presence, endpoints, write-flag state
Gmail (5 tools)
gmail_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?)—listalias with required querygmail_send(to, subject, body)— requiresGOOGLE_ALLOW_SEND=truegmail_modify_labels(id, add_labels?, remove_labels?)— gated (mark_read, archive, trash)
Calendar (5 tools)
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?)— requiresGOOGLE_ALLOW_CALENDAR_WRITE=truecalendar_update_event(calendar_id?, event_id, patch)— gatedcalendar_delete_event(calendar_id?, event_id)— gated
Tasks (5 tools)
tasks_list_lists(max_results?)tasks_list_tasks(list_id, show_completed?, show_hidden?, max_results?)tasks_add(list_id, title, notes?, due?)— requiresGOOGLE_ALLOW_TASKS_WRITE=truetasks_complete(list_id, task_id)— gatedtasks_delete(list_id, task_id)— gated
Drive (6 tools)
drive_list(q?, page_size?, fields?, page_token?, spaces?)drive_get(id, fields?)drive_download(id, output_path)— writes to disk;output_pathmust be underGOOGLE_DRIVE_SANDBOX_ROOTdrive_upload(source_path, name?, parent_id?, mime_type?)— requiresGOOGLE_ALLOW_DRIVE_WRITE=true; source path must be under sandboxdrive_create_folder(name, parent_id?)— gateddrive_delete(id)— gated
Execution guidance
Read email
gmail_search query:"is:unread newer_than:1d" max_results:10→ idsgmail_read id:<id>for each relevant message → body_text + headers- Optional:
gmail_modify_labelsto mark as read (gated)
Daily summary
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 inbox
Process a Drive PDF
drive_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:<...>→ summary
Anti-patterns
- Do not expose full email body_text to end users if it contains third-party PII; quote only relevant excerpts.
- Do not loop
tasks_addwithout confirmation; each call persists a row. - Do not download files that exceed memory limits (hard cap ~50 MB in blocking reqwest body); use storage flow for larger payloads.
Required OAuth scopes
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/driveIf your token has read-only scopes, write tools may pass local gating
but Google returns 403 insufficient permissions, surfaced as
-32012 Forbidden.
Errors
| 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 |
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.

