Google Workspace Auth
bobmatnyc/claude-mpm
Re-authenticate Google Workspace MCP in-flight - refresh tokens, setup OAuth, check status
Interact with Google Chat - send, read, edit, delete and react to messages, share images and files, reply in threads, and manage spaces and DMs.
$ npx skills add sanjay3290/ai-skills --skill google-chat -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sanjay3290/ai-skills google-chat --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-chat .claude/skills/google-chat && rm -rf skills-srcUse ~/.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/
Install the "google-chat" agent skill from https://github.com/sanjay3290/ai-skills/tree/main/skills/google-chat into .claude/skills/google-chat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-chat", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sanjay3290/ai-skills/tree/main/skills/google-chatType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sanjay3290/ai-skills --skill google-chat -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sanjay3290/ai-skills google-chat --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/google-chat .agents/skills/google-chat && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-chat" agent skill from https://github.com/sanjay3290/ai-skills/tree/main/skills/google-chat into .agents/skills/google-chat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-chat", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sanjay3290/ai-skills --skill google-chat -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sanjay3290/ai-skills google-chat --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/google-chat .cursor/skills/google-chat && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "google-chat" agent skill from https://github.com/sanjay3290/ai-skills/tree/main/skills/google-chat into .cursor/skills/google-chat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-chat", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sanjay3290/ai-skills.git --path skills/google-chat--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sanjay3290/ai-skills --skill google-chat -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sanjay3290/ai-skills google-chat --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/google-chat .gemini/skills/google-chat && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "google-chat" agent skill from https://github.com/sanjay3290/ai-skills/tree/main/skills/google-chat into .gemini/skills/google-chat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-chat", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sanjay3290/ai-skills google-chatInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sanjay3290/ai-skills --skill google-chat -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/google-chat .github/skills/google-chat && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "google-chat" agent skill from https://github.com/sanjay3290/ai-skills/tree/main/skills/google-chat into .github/skills/google-chat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-chat", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sanjay3290/ai-skills --skill google-chat -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sanjay3290/ai-skills google-chat --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/google-chat .opencode/skills/google-chat && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "google-chat" agent skill from https://github.com/sanjay3290/ai-skills/tree/main/skills/google-chat into .opencode/skills/google-chat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-chat", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
google-chatInteract with Google Chat - send, read, edit, delete and react to messages, share images and files, reply in threads, and manage spaces and DMs.
Google Chat is an agent skill from sanjay3290/ai-skills. Interact with Google Chat - send, read, edit, delete and react to messages, share images and files, reply in threads, and manage spaces and DMs. Use when user asks to: send a message on Google Chat, read chat messages, list chat spaces, find a chat room, send a DM, share a screenshot or file, edit or delete something already sent, or create a new space. Lightweight alternative to full Google Workspace MCP server with standalone OAuth authentication.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `README.md`, `directory.example.json` and `scripts/auth.py`).
It sits in Backend & APIs, covering Cloud office suites, Messaging and chat bots and OAuth and OpenID Connect. It works with Model Context Protocol, Google Workspace and React. The repository describes itself as: 24 cross-platform agent skills for Claude Code, Cursor, Codex & Gemini CLI — databases, messaging, research, TTS, DevOps, and Google Workspace. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 281d88d. It shows what the files ask for, not the result of running them.
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.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Google Chat loads about 1.2k tokens when it runs. Until then it costs about 116 tokens; SKILL.md has 415 words of instructions outside code blocks.
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.
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.
The full file from sanjay3290/ai-skills at commit 281d88d, republished under its Apache-2.0 licence (© sanjay3290). 415 words, ~1,248 tokens.
.claude/skills/google-chat/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Lightweight Google Chat integration with standalone OAuth authentication. No MCP server required.
⚠️ Requires Google Workspace account. Personal Gmail accounts are not supported.
Everything is sent as the authenticated user, so treat write commands as outward-facing: confirm the exact text with the user before posting to a space, and never send to a channel the user did not name.
pip install -r requirements.txt
python scripts/auth.py login # opens browser
python scripts/auth.py status # verify
python scripts/auth.py logoutAll operations via scripts/chat.py. Auto-authenticates on first use if not logged in.
python scripts/chat.py get-messages spaces/AAAA123 --limit 10
python scripts/chat.py get-messages spaces/AAAA123 --limit 10 --raw # full JSON
python scripts/chat.py get-message spaces/AAAA123/messages/XYZ
python scripts/chat.py list-threads spaces/AAAA123
python scripts/chat.py list-spaces
python scripts/chat.py find-space "Project Alpha" # ignores punctuation/spacing
python scripts/chat.py list-members spaces/AAAA123Read output is compact by default — one block per message with its timestamp, sender, text
and resource name. That is roughly 14x smaller than the raw API payload, which matters when
an agent is paying for every token it reads. Use --raw when you need the full JSON.
python scripts/chat.py send-message spaces/AAAA123 "Hello team!"
python scripts/chat.py send-dm user@example.com "Hey, quick question..."
python scripts/chat.py reply-in-thread spaces/AAAA123 spaces/AAAA123/threads/T "Following up."
python scripts/chat.py send-media spaces/AAAA123 "Latest mocks" --file a.png --file b.png
python scripts/chat.py edit-message spaces/AAAA123/messages/XYZ "Corrected text."
python scripts/chat.py delete-message spaces/AAAA123/messages/XYZ
python scripts/chat.py delete-message spaces/AAAA123/messages/XYZ --force # has thread replies
python scripts/chat.py add-reaction spaces/AAAA123/messages/XYZ 👍
python scripts/chat.py setup-space "New Project" user1@example.com user2@example.com
python scripts/chat.py find-dm user@example.comAdd --dry-run to any write command to print the request instead of sending it. Use it when
wiring up or testing a flow so nothing lands in a real channel. (For send-dm it reports the
resolved recipient rather than the DM space, since resolving that needs a live call.)
send-message, send-dm and send-media return the created message's name
(spaces/X/messages/Y) — that is what edit-message, delete-message and add-reaction
take. You can only edit or delete messages you sent. To fix an older message, find its
name with get-messages first.
send-media takes a repeatable --file. Google Chat accepts several attachments on one
message only when every attachment is media (image or video); a mixed batch is split
automatically into one message per file, with the caption on the first. --attachment is
still accepted as an alias for a single --file.
Typing full email addresses and spaces/AAAA... IDs is tedious, and having an agent call
list-spaces to find a channel it uses daily is slow. Copy directory.example.json to
directory.json and map short names:
{
"users": { "alex": "alex@example.com" },
"spaces": { "team": { "id": "spaces/AAAAxxxxxxx", "name": "My Team" } }
}Then send-message team "Deploying now" and send-dm alex "..." both resolve locally, with
no API call. Full emails and spaces/... names keep working everywhere.
directory.json is personal and gitignored. It is entirely optional — without it every
command still works, and an unresolvable alias fails immediately with the list of valid ones
rather than silently falling back to a scan.
Chat supports *bold*, _italic_, ~strike~, `code`, triple-backtick code blocks, and
<url|label> links. It does not support Markdown headings, tables, or []( ) links —
they render literally.
Tokens stored securely using the system keyring:
Service name: google-chat-skill-oauth. Expired tokens refresh automatically.
© sanjay3290, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts) in skills/google-chat of sanjay3290/ai-skills.
Open the folder on GitHubat commit 281d88d
Google Chat 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Google Chat this skillsanjay3290/ai-skills | 431 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Google Workspace Authbobmatnyc/claude-mpm | 155 | — | ~718 | Automated safety check: Notes | MIT | |
| Google WorkspaceRedWoodOG/Hermes-Desktop | 177 | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Detecting Email Account Compromisemukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~823 | Automated safety check: Pass | Apache-2.0 | |
| GCP Workspace Pivotwgpsec/AboutSecurity | 1.8k | — | ~2.9k | Automated safety check: Pass | None | |
| Pp Workspace Adminmvanhorn/printing-press-library | 2.1k | — | ~11k | Automated safety check: Notes | Apache-2.0 |
bobmatnyc/claude-mpm
Re-authenticate Google Workspace MCP in-flight - refresh tokens, setup OAuth, check status
RedWoodOG/Hermes-Desktop
Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration via Python.
mukul975/Anthropic-Cybersecurity-Skills
Detect compromised O365 and Google Workspace email accounts by analyzing Unified Audit Logs and Azure AD sign-in logs for impossible travel, inbox rule creation/deletion (Set-InboxRule…
wgpsec/AboutSecurity
GCP 到 Google Workspace 的穿越攻击方法论。当已获取 GCP Service Account 或 Project 权限并发现目标组织使用 Google Workspace、需要从云平台穿越到企业邮件/文档/管理控制台、或发现 Domain-Wide Delegation 配置时使用。覆盖 Domain-Wide Delegation 滥用、OAuth…
mvanhorn/printing-press-library
GAT-style Google Workspace auditing as an agent-native CLI: sync Directory, Drive, Gmail, Reports, and Alert Center into a local store, then run offline cross-API audits, offboarding, and OAuth-app…
Tommy-yw/RunbookHermes
Gmail, Calendar, Drive, Contacts, Sheets, and Docs integration for Hermes.
sanjay3290/ai-skills
Execute autonomous multi-step research using Google Gemini Deep Research Agent.
sanjay3290/ai-skills
Generate images using Google Gemini's image generation capabilities.
sanjay3290/ai-skills
Send and receive WhatsApp messages via the unofficial linked-device client pywhats (pip install pywhats) — pair with QR, send text/images, group chat, read receipts, presence/typing, and a…
sanjay3290/ai-skills
Query and manage Google NotebookLM notebooks with persistent profile auth, source sync, batch/multi queries, and structured exports.
sanjay3290/ai-skills
Convert documents and text to audio using ElevenLabs text-to-speech.
sanjay3290/ai-skills
Execute read-only SQL queries against multiple PostgreSQL databases.
Interact with Google Chat - send, read, edit, delete and react to messages, share images and files, reply in threads, and manage spaces and DMs. Google Chat is an agent skill from sanjay3290/ai-skills. Interact with Google Chat - send, read, edit, delete and react to messages, share images and files, reply in threads, and manage spaces and DMs.
Google Chat fits situations like: user asks to: send a message on Google Chat; read chat messages; list chat spaces; find a chat room.
Run `npx skills add sanjay3290/ai-skills --skill google-chat -a claude-code`. Or copy the skill folder (skills/google-chat in sanjay3290/ai-skills) into .claude/skills/google-chat in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sanjay3290/ai-skills --skill google-chat -a codex`. Or copy the skill folder (skills/google-chat in sanjay3290/ai-skills) into .agents/skills/google-chat in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sanjay3290/ai-skills --skill google-chat -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-chat, .gemini/skills/google-chat, .github/skills/google-chat and .opencode/skills/google-chat in your project.
Going by SKILL.md and its folder, Google Chat needs Python for the scripts in its folder and the command-line tools its instructions call (python and pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Google Chat is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Google Chat: Google Workspace Auth (bobmatnyc/claude-mpm, 155 stars), Google Workspace (RedWoodOG/Hermes-Desktop, 177 stars), Detecting Email Account Compromise (mukul975/Anthropic-Cybersecurity-Skills, 34k stars) and GCP Workspace Pivot (wgpsec/AboutSecurity, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sanjay3290 (a GitHub user) maintains it in sanjay3290/ai-skills, which has 431 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on September 10, 2026.
Source: sanjay3290/ai-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.