# Google Drive Sheets

Find, read, export, edit, and manage the user's Google Drive, Docs, Sheets, and Slides...

- Repository: https://github.com/yc-software/qm (15597 stars)
- Category: Documents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add yc-software/qm --skill google-drive-sheets -g -a claude-code -y`
Codex: `npx skills add yc-software/qm --skill google-drive-sheets -g -a codex -y`
Cursor: `npx skills add yc-software/qm --skill google-drive-sheets -g -a cursor -y`
Gemini CLI: `npx skills add yc-software/qm --skill google-drive-sheets -g -a gemini-cli -y`

## Description

Find, read, export, edit, and manage the user's Google Drive, Docs, Sheets, and Slides through per-user OAuth.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Google Drive / Docs / Sheets / Slides

Use this skill when the user asks about Drive files, Google Docs, Google Sheets, Google
Slides, sharing/access problems, or reading/editing any of that content.

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_WWW_GOOGLEAPIS_COM`, for `www.googleapis.com` (Drive)
- `$VAULT_TOKEN_SHEETS_GOOGLEAPIS_COM`, for `sheets.googleapis.com` (Sheets)
- `$VAULT_TOKEN_DOCS_GOOGLEAPIS_COM`, for `docs.googleapis.com` (Docs)
- `$VAULT_TOKEN_SLIDES_GOOGLEAPIS_COM`, for `slides.googleapis.com` (Slides)

These all carry the **same** Google token (one OAuth grant spans every Google API), so
if a host-specific var is empty (e.g. an older connection made before that host was
added), `$VAULT_TOKEN_WWW_GOOGLEAPIS_COM` works as the bearer for any Google API host.

Call the Google APIs directly over `https://` with `curl` and pass the matching token
as a bearer header (`-H "Authorization: Bearer $VAULT_TOKEN_..."`). Do not ask the user
for a token, log it, or use another principal's credential or a service fallback.

If the variable is empty or the API returns 401/403 or a file is inaccessible, tell the
user which Google account/principal needs access and whether they should connect Google
or share the file with that account.

## Find files

Search Drive by name, owner, MIME type, or recency:

The rest: https://github.com/yc-software/qm/blob/HEAD/skills-seed/google-drive-sheets/SKILL.md
