google-workspace
SKILL.md
Google Workspace
Use this skill for Google Workspace tasks (Gmail, Drive, Calendar, Docs, Sheets, etc.).
Files
scripts/auth.js— OAuth login/status/clearscripts/workspace.js— JavaScript execution based API runner
Usage
Always use exec.
node scripts/workspace.js exec <<'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(googleapisroot)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
- Prefer one
execscript per user request. - Keep payloads small (
fields,maxResults, minimal props). - Use
Promise.allfor independent requests. - Never print token contents.
- Use
scripts/auth.jsif you get auth errors.
Short Gmail counting example
node scripts/workspace.js exec <<'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
node scripts/auth.js login
Notes:
- Dependencies auto-install on first run.
- Default auth mode is cloud (no local
credentials.jsonneeded). - Optional local mode:
GOOGLE_WORKSPACE_AUTH_MODE=localand credentials at~/.pi/google-workspace/credentials.json. - Useful diagnostics:
node scripts/auth.js status
node scripts/auth.js clear
Weekly Installs
17
Repository
mitsuhiko/agent-stuffGitHub Stars
1.5K
First Seen
Feb 18, 2026
Security Audits
Installed on
opencode17
github-copilot17
codex17
kimi-cli17
gemini-cli17
cursor17