From claude-skills
Searches, lists, downloads, uploads, creates, updates, shares, and comments on Google Drive files and folders across My Drive and Shared Drives. Use when the user asks about files in Google Drive, needs documents, spreadsheets, presentations, or any Drive-stored content.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-skills:driveThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
!"uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/auth_status.py"
README.mdreferences/export-formats.mdscripts/auth.pyscripts/auth_status.pyscripts/comments.pyscripts/contracts.pyscripts/create.pyscripts/download.pyscripts/info.pyscripts/list_drives.pyscripts/list_files.pyscripts/search.pyscripts/setup_auth.pyscripts/share.pyscripts/tree.pyscripts/update.pyscripts/upload.pytests/test_auth.pytests/test_auth_status.pytests/test_comments.py!"uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/auth_status.py"
If NOT_AUTHENTICATED, guide the user:
Then run:
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/setup_auth.py --client-id "CLIENT_ID" --client-secret "CLIENT_SECRET"
| User intent | Script |
|---|---|
| Find files by keyword | search.py --query "term" |
| Complex query (date range, MIME, starred, boolean) | search.py --q "raw Drive API query" |
| Find folder/file by name in hierarchy | tree.py --name-filter "text" |
| Browse a known folder | list_files.py --folder-id ID |
| Explore folder structure | tree.py [--folder-id ID] --depth N |
| List only PDFs (or other type) in a folder tree | tree.py --folder-id ID --mime-type application/pdf |
| Download/export a file | download.py --file-id ID [--format FMT] |
| Upload a local file | upload.py --file-path PATH [--folder-id ID] |
| Create Doc/Sheet/Slide/Folder | create.py --name "X" --type doc|sheet|slide|folder |
| Rename, move, star, describe | update.py --file-id ID [...] |
| Share or manage permissions | share.py share|list|remove --file-id ID |
| List available Shared Drives | list_drives.py |
| Get detailed file metadata | info.py --file-id ID |
| Read or add comments | comments.py list|add|reply --file-id ID |
search.py --query "keyword"tree.py --name-filter "keyword" (catches folder names, unindexed files)tree.py --name-filter "name" to find folder ID, then list_files.py --folder-id IDsearch.py --q "modifiedTime > '2025-01-01' and ..."list_files.py, info.py, or download.py directlytree.py --depth 2 on My Drive to see top-level structurelist_drives.py to discover Shared Drives, then tree.py --folder-id DRIVE_ID --depth 2 on eachWhen a folder or Shared Drive is large (e.g. a book library, media archive):
tree.py without filters — output will be huge and truncatedsearch.py --query "keyword" --folder-id ID to search within the specific foldertree.py --folder-id ID --mime-type application/pdf to narrow by file type--name-only or tree.py --name-filterDo NOT rephrase the same keyword hoping for better results. Switch strategies instead.
# Simple keyword search (searches name + content):
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/search.py --query "text" [--name-only] [--mime-type TYPE] [--folder-id ID]
# Raw Drive API query (you construct the full query):
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/search.py --q "modifiedTime > '2025-01-01' and name contains 'rent'"
--query and --q are mutually exclusive. Use --q for anything beyond simple keyword search. Query syntax: https://developers.google.com/drive/api/guides/search-files
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/tree.py [--folder-id ID] [--depth N] [--name-filter TEXT] [--mime-type TYPE]
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/list_files.py [--folder-id ID] [--page-size N] [--order-by FIELD]
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/list_drives.py [--page-size N]
Returns all Shared Drives accessible to the user (id, name, createdTime).
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/download.py --file-id ID [--format FMT] [--output-dir DIR]
For Google Docs export as Markdown (--format md), comments are appended inline. For binary formats, comments print to stdout. See export-formats.md for supported format mappings.
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/upload.py --file-path PATH [--folder-id ID]
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/create.py --name "Name" --type doc|sheet|slide|folder [--folder-id ID]
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/update.py --file-id ID [--name "New Name"] [--move-to FOLDER_ID] [--star] [--description "text"]
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/share.py share --file-id ID --email EMAIL --role reader|commenter|writer|organizer
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/share.py list --file-id ID
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/share.py remove --file-id ID --email EMAIL
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/info.py --file-id ID
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/comments.py list --file-id ID
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/comments.py add --file-id ID --content "text"
uv run --no-config ${CLAUDE_SKILL_DIR}/scripts/comments.py reply --file-id ID --comment-id CID --content "text"
npx claudepluginhub dmitrykrivaltsevich/claude-skills --plugin claude-skillsAutomates Google Drive file operations (search, upload, download, move, rename, trash) with standalone OAuth authentication. No MCP server required.
Automates Google Drive workflows: upload/download files (5MB limit or resumable), search/list files/folders/shared drives, manage organization, share with permissions via Rube MCP (Composio toolkit).
CLI for Google Drive API v3: manage files/folders/shared drives, list changes, create comments, handle approvals/access proposals.