
google-chat
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.
- Installs
- 340
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/sanjay3290/ai-skills --skill google-chat- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads google-chat automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Google Chat
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.
First-Time Setup
pip install -r requirements.txt
python scripts/auth.py login # opens browser
python scripts/auth.py status # verify
python scripts/auth.py logout
Commands
All operations via scripts/chat.py. Auto-authenticates on first use if not logged in.
Reading
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/AAAA123
Read 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.
Writing
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.com
Add --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.)
Editing and deleting
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.
Attachments
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.
Optional aliases
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.
Message formatting
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.
Token Management
Tokens stored securely using the system keyring:
- macOS: Keychain
- Windows: Windows Credential Locker
- Linux: Secret Service API (GNOME Keyring, KDE Wallet, etc.)
Service name: google-chat-skill-oauth. Expired tokens refresh automatically.
FAQ
What does the google-chat skill do?
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.
How do I install google-chat?
Run npx skills add https://github.com/sanjay3290/ai-skills --skill google-chat in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/google-chat/ (personal) or .claude/skills/google-chat/ (project).
Which AI agents can use google-chat?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is google-chat safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains google-chat?
It is published by sanjay3290 in sanjay3290/ai-skills. It has 340 recorded installs.
More from sanjay3290/ai-skills
google-drive
sanjay3290/ai-skills
Interact with Google Drive - search files, find folders, list contents, download files, upload files, create folders, move, copy, rename, and trash files. Use when user asks to: search Google Drive, find a file/folder, list Drive contents, download or upload files, create folders, move files, or organize Drive content. Lightweight integration with standalone OAuth authentication supporting full read/write access.
deep-research
sanjay3290/ai-skills
Execute autonomous multi-step research using Google Gemini Deep Research Agent. Use for: market analysis, competitive landscaping, literature reviews, technical research, due diligence. Takes 2-10 minutes but produces detailed, cited reports. Costs $2-5 per task.
imagen
sanjay3290/ai-skills
Generate images using Google Gemini's image generation capabilities. Use this skill when the user needs to create, generate, or produce images for any purpose including UI mockups, icons, illustrations, diagrams, concept art, placeholder images, or visual representations.
postgres
sanjay3290/ai-skills
Execute read-only SQL queries against multiple PostgreSQL databases. Use when: (1) querying PostgreSQL databases, (2) exploring database schemas/tables, (3) running SELECT queries for data analysis, (4) checking database contents. Supports multiple database connections with descriptions for intelligent auto-selection. Blocks all write operations (INSERT, UPDATE, DELETE, DROP, etc.) for safety.
google-docs
sanjay3290/ai-skills
Interact with Google Docs - create documents, search by title, read content, and edit text. Use when user asks to: create a Google Doc, find a document, read doc content, add text to a doc, or replace text in a document. Lightweight alternative to full Google Workspace MCP server with standalone OAuth authentication.
mssql
sanjay3290/ai-skills
Execute read-only SQL queries against multiple Microsoft SQL Server databases. Use when: (1) querying MSSQL/SQL Server databases, (2) exploring database schemas/tables, (3) running SELECT queries for data analysis, (4) checking database contents. Supports multiple database connections with descriptions for intelligent auto-selection. Blocks all write operations (INSERT, UPDATE, DELETE, DROP, etc.) for safety.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.