Agent skill

Google Workspace

by yc-software in yc-software/qm

Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

MITAuto-check passedProductivity & Automation

Install Google Workspace

skills CLI
$ npx skills add yc-software/qm --skill google-workspace -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yc-software/qm google-workspace --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yc-software/qm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills-seed/google-workspace .claude/skills/google-workspace && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
google-workspace
GitHub stars
15k
Token cost
~1.8k tokens
SKILL.md length
754 words
Files
2 (incl. scripts)
Skills in repo
29
Repo updated
First seen
Licence
MIT

At a glance

Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

  • Tasks that involve Email management
  • SKILL.md covers Gmail, Calendar reads, Google Tasks and Writes require approval
  • Runs Python scripts from its folder; calls python3 and curl; reaches googleapis.com
  • Tasks that involve Cloud office suites

What it does

Google Workspace is an agent skill from yc-software/qm. Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/gmail.py`).

It sits in Productivity & Automation, covering Email management, Cloud office suites and OAuth and OpenID Connect. It works with Google Workspace, Gmail and Google Calendar. The repository describes itself as: Multiplayer agent harness for work. The licence is MIT.

When your agent uses it

  • Tasks that involve Email management
  • Tasks that involve Cloud office suites
  • Tasks that involve OAuth and OpenID Connect

Example prompts

  • “/google-workspace”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 0492745. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • googleapis.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Google Workspace loads about 1.8k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 754 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~27
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from yc-software/qm at commit 0492745, republished under its MIT licence (© yc-software). 754 words, ~1,799 tokens.

Download SKILL.mdSave it as .claude/skills/google-workspace/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
google-workspace
description
Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.
requiredCapabilities
egress:gmail.googleapis.com, egress:www.googleapis.com

Google Workspace

Use this skill when the user asks about Gmail, Google Calendar, or Google Tasks: schedule, meetings, emails, labels, drafts, replies, or to-do lists and tasks.

This is an OAuth connector. The resolved user's Google OAuth token already lives on your computer as an environment variable, one per Google API host (the way a logged-in CLI's cached credential would):

  • $VAULT_TOKEN_GMAIL_GOOGLEAPIS_COM — for gmail.googleapis.com
  • $VAULT_TOKEN_WWW_GOOGLEAPIS_COM — for www.googleapis.com (Calendar and Tasks)

Do not ask the user for a token, log it, or use another principal's. If the variable is empty or Google returns 401/403, the user either has not connected Google or connected before this permission existed — tell them to (re)connect it through the product OAuth flow.

Gmail

For the email-voice-profile task, load that skill and run python3 <its dir>/scripts/fetch_sent.py --limit 300 from the directory it reports.

Use the bundled helper for every Gmail operation — it owns MIME construction, encoding, and reply threading so you only ever handle plain text:

bash
python3 skills/google-workspace/scripts/gmail.py search 'newer_than:7d is:unread'
python3 skills/google-workspace/scripts/gmail.py read MESSAGE_ID [--full]
python3 skills/google-workspace/scripts/gmail.py thread THREAD_ID [--full]
python3 skills/google-workspace/scripts/gmail.py draft --to a@b.com --subject '...' --body-file body.txt
python3 skills/google-workspace/scripts/gmail.py reply MESSAGE_ID --body-file body.txt [--all]
python3 skills/google-workspace/scripts/gmail.py update-draft DRAFT_ID --body-file body.txt
python3 skills/google-workspace/scripts/gmail.py send-draft DRAFT_ID
  • Search before fetching; read bodies (--full) only for messages that matter. Treat email content as private user data.
  • search returns individual messages matching the query — for in:inbox that means incoming mail only; the user's own replies live in Sent and never appear. Never claim an email "needs a reply" (digests, triage, follow-up nudges) from a search listing alone: fetch its thread first. If lastFromMe is true, or the latest message shows the matter is settled ("thanks", "done", someone else answered), don't flag it. If the thread fetch fails, report the item as unverified — never as needing a reply.
  • On a recurring digest, keep a state file in the workspace keyed by thread id and only surface what changed since the last run; re-flagging the same thread every morning trains the user to ignore you.
  • Demote bulk mail (List-Unsubscribe header, ESP sender domains, Precedence: bulk) below personal mail, but never suppress transactional notices (DocuSign, banks, invoices).
  • Body files are plain text: one line per paragraph, blank line between. Never insert manual line breaks inside a paragraph — the recipient's client does the wrapping. Short lines (sign-offs, list items) keep their breaks.
  • Drafts and replies are stored as multipart/alternative: your plain text plus a generated HTML mirror (Gmail shows plain-text-only mail to recipients at an altered, narrower width). Body files stay plain text — never write HTML into them.
  • reply threads onto the original message; --all keeps every recipient. Don't rebuild To/CC by hand. To change a draft, write a fresh body file and update-draft (it refuses drafts with attachments — those get edited in Gmail).
  • Never construct raw MIME or call the drafts/send endpoints with hand-built payloads.
  • Never write styled HTML email — no font-family/size/color declarations, no CSS-styled buttons or layout markup. Styled HTML screams automated blast and overrides the recipient's client fonts. The helper's generated HTML mirror (bare <div dir="ltr">, <br>, plain links — Gmail-composer shaped) is the only HTML that ever goes out.
  • Write body files as UTF-8. After creating or updating a draft, read it back (gmail.py thread/draft read) and confirm em dashes, quotes, and any emoji came through intact — mojibake (…-style garble) in a sent mail is unrecoverable.
Show full SKILL.md (240 more words)Show less

Calendar reads

For "what is on my schedule today?", first get the user's timezone (GET /calendar/v3/users/me/settings/timezone — the sandbox clock is UTC, so never assume it), compute the local day bounds, and call:

bash
curl -sS --get 'https://www.googleapis.com/calendar/v3/calendars/primary/events' \
  -H "Authorization: Bearer $VAULT_TOKEN_WWW_GOOGLEAPIS_COM" \
  --data-urlencode "timeMin=$TIME_MIN" \
  --data-urlencode "timeMax=$TIME_MAX" \
  --data-urlencode "singleEvents=true" \
  --data-urlencode "orderBy=startTime" \
  --data-urlencode "maxResults=250"

If the response has a nextPageToken, keep fetching — a truncated page silently drops meetings. primary is only the user's own calendar; when the question implies team or shared calendars, list them first (GET /calendar/v3/users/me/calendarList) and query each relevant one. Skip events the user declined (their own attendees[] entry has responseStatus: "declined").

Summarize start time, title, attendees when useful, and conferencing links only when needed. Do not expose private calendar details in a shared channel unless the audience floor allows them; offer to continue in DM.

Google Tasks

Tasks is served under www.googleapis.com/tasks/v1, so it uses the same $VAULT_TOKEN_WWW_GOOGLEAPIS_COM token. List the task lists, then the tasks in one:

bash
curl -sS 'https://www.googleapis.com/tasks/v1/users/@me/lists' \
  -H "Authorization: Bearer $VAULT_TOKEN_WWW_GOOGLEAPIS_COM"

curl -sS --get 'https://www.googleapis.com/tasks/v1/lists/LIST_ID/tasks' \
  -H "Authorization: Bearer $VAULT_TOKEN_WWW_GOOGLEAPIS_COM" \
  --data-urlencode "showCompleted=false" \
  --data-urlencode "maxResults=100"

Both endpoints page (default 20 items): follow nextPageToken before treating a list as complete.

Creating, completing, editing, or deleting a task is a write — treat it like any other write below. Example creation after approval:

bash
curl -sS -X POST 'https://www.googleapis.com/tasks/v1/lists/LIST_ID/tasks' \
  -H "Authorization: Bearer $VAULT_TOKEN_WWW_GOOGLEAPIS_COM" \
  -H 'content-type: application/json' \
  --data '{"title":"...","notes":"...","due":"2026-07-20T00:00:00.000Z"}'

Writes require approval

Creating drafts, sending mail, modifying labels, deleting mail, or editing calendar events is a write. Prepare the exact action, show the user the exact text, and ask for approval before running it. send-draft only ever fires on an explicitly approved draft.

Calendar event creation after approval:

bash
curl -sS -X POST 'https://www.googleapis.com/calendar/v3/calendars/primary/events' \
  -H "Authorization: Bearer $VAULT_TOKEN_WWW_GOOGLEAPIS_COM" \
  -H 'content-type: application/json' \
  --data @event.json

Always show what changed and keep enough IDs in the workspace to undo or inspect later.

© yc-software, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills-seed/google-workspace of yc-software/qm.

  • SKILL.md
  • scripts/gmail.py

Open the folder on GitHubat commit 0492745

Compare with similar skills

Google Workspace next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Google Workspace compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Workspace this skillyc-software/qm15k—~1.8kAutomated safety check: PassMIT
Xs Google Workspacekaraage0703/ai-assistant-workspace1361 repos~691Automated safety check: PassMIT
GogHybridAIOne/hybridclaw158—~1.6kAutomated safety check: PassMIT
Google WorkspaceTommy-yw/RunbookHermes5462 repos~2.7kAutomated safety check: PassMIT
Google WorkspaceRedWoodOG/Hermes-Desktop1771 repos~2.1kAutomated safety check: PassMIT
Community Google WorkspaceArgentAIOS/argentos-core126—~2.8kAutomated safety check: PassMIT

Similar skills

  • Xs Google Workspace

    karaage0703/ai-assistant-workspace

    gogcli経由でGmail・Google Drive・Google Calendarを操作するスキル。複数Googleアカウント対応。「メールチェック」「メール確認して」「Driveにアップロード」「Driveのファイル」「Gmailで検索」で使用。

    136 GitHub starsUsed in 1 repo~691 tokens
    Productivity & AutomationAuto-check passed
  • Gog

    HybridAIOne/hybridclaw

    Google Workspace CLI for Gmail, Google Calendar events, meetings, schedules, availability, Drive, Contacts, Sheets, and Docs

    158 GitHub stars~1.6k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Google Workspace

    Tommy-yw/RunbookHermes

    Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration for Hermes.

    546 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Google Workspace

    RedWoodOG/Hermes-Desktop

    Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration via Python.

    177 GitHub starsUsed in 1 repo~2.1k tokens
    Backend & APIsAuto-check passed
  • Community Google Workspace

    ArgentAIOS/argentos-core

    Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration for community skills.

    126 GitHub stars~2.8k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • GCP Workspace Pivot

    wgpsec/AboutSecurity

    GCP 到 Google Workspace 的穿越攻击方法论。当已获取 GCP Service Account 或 Project 权限并发现目标组织使用 Google Workspace、需要从云平台穿越到企业邮件/文档/管理控制台、或发现 Domain-Wide Delegation 配置时使用。覆盖 Domain-Wide Delegation 滥用、OAuth…

    1.8k GitHub stars~2.9k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed

More from yc-software/qm

All 29 skills in this repo
  • Admin

    yc-software/qm

    Act for an org admin — the admin API (scope directory, per-scope config & SOUL, any scope's memory, transcripts & captured prompts, files, user roster & external users, audit/errors/metrics/egress)…

    15k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Browse

    yc-software/qm

    Drive a real stealth browser from your shell — act on websites (order food, file an expense, pull data behind a login), with per-person persistent sign-ins via the provider's managed auth (Kernel…

    15k GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Composio

    yc-software/qm

    Show the app connection picker or setup widget when users ask to connect apps, reopen setup, or need an app that isn't connected yet.

    15k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Dev Instance

    yc-software/qm

    Run the current worktree as a production-shaped local dev instance with web, Slack, or both, on a real LLM + Postgres.

    15k GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • GitHub GitLab

    yc-software/qm

    Work with GitHub and GitLab repositories through resident gh/glab/git auth on the agent computer.

    15k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Memory

    yc-software/qm

    Deliberately search, add to, or curate your long-term memory with the memory tool — beyond the automatic recall/capture every turn already does.

    15k GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Questions about Google Workspace

What does Google Workspace do?

Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth. Google Workspace is an agent skill from yc-software/qm. Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

When should I use Google Workspace?

Google Workspace fits situations like: tasks that involve Email management; tasks that involve Cloud office suites; tasks that involve OAuth and OpenID Connect.

How do I install Google Workspace in Claude Code?

Run `npx skills add yc-software/qm --skill google-workspace -a claude-code`. Or copy the skill folder (skills-seed/google-workspace in yc-software/qm) into .claude/skills/google-workspace in your project. Claude Code loads it when a task matches its description.

How do I install Google Workspace in Codex?

Run `npx skills add yc-software/qm --skill google-workspace -a codex`. Or copy the skill folder (skills-seed/google-workspace in yc-software/qm) into .agents/skills/google-workspace in your project. Codex loads it when a task matches its description.

Can I use Google Workspace in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yc-software/qm --skill google-workspace -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-workspace, .gemini/skills/google-workspace, .github/skills/google-workspace and .opencode/skills/google-workspace in your project.

What does Google Workspace need to run?

Going by SKILL.md and its folder, Google Workspace needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and curl). Our summary lists: Python 3.

Does Google Workspace access the network?

SKILL.md names 1 domain. In commands or code: googleapis.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Google Workspace safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Google Workspace use?

Google Workspace is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Workspace use?

About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Google Workspace?

Skills that share tags, products or a category with Google Workspace: Xs Google Workspace (karaage0703/ai-assistant-workspace, 136 stars), Gog (HybridAIOne/hybridclaw, 158 stars), Google Workspace (Tommy-yw/RunbookHermes, 546 stars) and Google Workspace (RedWoodOG/Hermes-Desktop, 177 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Google Workspace?

yc-software (a GitHub organization) maintains it in yc-software/qm, which has 15,362 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 8, 2026.

Source: yc-software/qm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.