google-workspace
Access Google Workspace APIs (Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, People) via local helper scripts without MCP.
Skill by Fatih0234
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fatih0234-google-workspace
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets, presentations, backend, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/google-workspace
What's inside
- Skill name
google-workspace- Description
- Access Google Workspace APIs (Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, People) via local helper scripts without MCP. Handles OAuth login and direct API calls.
- License
- Apache-2.0
- Instructions
- 134 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- SKILL.md
- package-lock.json
- package.json
- auth.js · scripts/
- common.js · scripts/
- workspace.js · scripts/
SKILL.md (first lines)
# Google Workspace
Use this skill for Google Workspace tasks (Gmail, Drive, Calendar, Docs, Sheets, etc.).
## Files
- `scripts/auth.js` — OAuth login/status/clear + account enumeration
- `scripts/workspace.js` — JavaScript execution based API runner
## Account model (multi-account)
This skill is **profile-based by email address**.
- There is **no default account**.
- Every API call must specify `--email <account@example.com>`.
- Tokens are stored per-email under `~/.pi/google-workspace/tokens/`.
Before running API calls, discover available signed-in accounts:
```bash
node scripts/auth.js accounts
```
## Usage
Always use `exec` and always provide `--email`.
```bash
node scripts/workspace.js exec --email user@example.com <<'JS'
const me = await workspace.whoAmI();
const files = await workspace.call('drive', 'files.list', {
pageSize: 5,
fields: 'files(id,name,mimeType)',
});
return { me, files: files.files };
JS
```
Available inside exec scripts:
- `auth` (authorized OAuth client)
- `google` (`googleapis` root)
- `workspace.accountEmail` (selected profile email)
- `workspace.call(service, methodPath, params, {version})`
- `workspace.service(service, {version})`
- `workspace.whoAmI()`
Optional flags:
- `--timeout <ms>` (default 30000, max 300000)
- `--scopes s1,s2`
- `--script 'return 42'`
## Agent guidance
1. Prefer one `exec` script per user request.
2. Keep payloads small (`fields`, `maxResults`, minimal props).
3. Use `Promise.all` for independent requests.
4. Never print token contents.
5. If the user did not specify an account, run `node scripts/auth.js accounts` and choose/confirm an explicit email.
6. If auth fails, first run `node scripts/auth.js accounts` to see known profiles.
7. If account mismatch is possible, run `workspace.whoAmI()` in the selected profile.
8. On 401/403/unauthorized errors, switch account (`--email ...`) or re-login that specific profile.
## Unauthorized/account-switch playbook
If a request fails with unauthorized/forbidden/insufficient permissions:
1. Enumerate profiles:
```bash
node scripts/auth.js accounts
```
2. Retry with the intended account:
```bash
node scripts/workspace.js exec --email correct-user@example.com <<'JS'
return await workspace.whoAmI();
JS
```
3. If token is stale or missing scopes, re-login that account:
```bash
node scripts/auth.js login --email correct-user@example.com
```
4. Retry the original request with the same `--email`.
## Short Gmail counting example
```bash
node scripts/workspace.js exec --email user@example.com <<'JS'
const gmail = google.gmail({ version: 'v1', auth });
let trash = 0;
let pageToken;
do {
const res = await gmail.users.messages.list({
userId: 'me',
q: 'in:trash',
maxResults: 500,
pageToken,
fields: 'messages/id,nextPageToken',
});
trash += (res.data.messages || []).length;
pageToken = res.data.nextPageToken;
} while (pageToken);
return { currentlyInTrash: trash };
JS
```
## Setup + auth
```bash
node scripts/auth.js login --email user@example.com
```From Fatih0234/agent-stuff, Apache-2.0.
More from Fatih0234/agent-stuff
- 0.400score
oebb-scotty
Fatih0234
Austrian rail travel planner (ÖBB Scotty).
SkillDFreshness: DClaude Code +9 - 0.397score
apple-mail
Fatih0234
Search, read, and extract attachments from Apple Mail's local storage.
SkillDFreshness: DClaude Code +9 - 0.372score
github
Fatih0234
Interact with GitHub using the `gh` CLI.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 30, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/Fatih0234/agent-stuff
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Fatih0234
- 0.520score
prototype
Fatih0234
Build a throwaway prototype to answer a design question.
SkillBFreshness: B★ 2Claude Code +9 - 0.520score
tdd
Fatih0234
Test-driven development.
SkillBFreshness: B★ 2Claude Code +9 - 0.520score
domain-modeling
Fatih0234
Build and sharpen a project's domain model.
SkillBFreshness: B★ 2Claude Code +9 - 0.520score
code-review
Fatih0234
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding…
SkillBFreshness: B★ 2Claude Code +9 - 0.520score
codebase-design
Fatih0234
Shared vocabulary for designing deep modules.
SkillBFreshness: B★ 2Claude Code +9 - 0.520score
grilling
Fatih0234
Grill the user relentlessly about a plan, decision, or idea.
SkillBFreshness: B★ 2Claude Code +9
Cite this page
google-workspace skill. Agent Mart. https://agentmart.dev/skills/fatih0234-google-workspace (last updated 2026-10-24)