Automate Google Drive File Operations
Lightweight Google Drive automation skill with standalone OAuth, enabling full read/write file operations-search, upload, download, move, organize-for Google
Why it matters
Streamline your Google Workspace by automating file management tasks directly from your local scripts. This skill provides read/write access to Google Drive without requiring an MCP server.
Outcomes
What it gets done
Search for files using various criteria (full-text, title, URL, shared with me).
List files and folders within your Google Drive.
Upload, download, move, copy, rename, and trash files and folders.
Create new folders with optional parent folder specification.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-google-drive-automation | bash Capabilities
What this skill does
Searches the web and retrieves relevant sources.
Pulls structured data fields from unstructured text.
Runs system commands and automates desktop tasks.
Overview
Google Drive
What it does
This skill provides lightweight Google Drive integration with standalone OAuth authentication for Google Workspace accounts. It enables full read/write operations: search files by content or title, list folder contents, upload and download files, create and organize folders, move and rename items, and trash files. All operations run through local Python scripts without requiring an MCP server. Tokens are stored securely in your system keyring and refresh automatically.
How it connects
Use this skill when you need direct Drive automation through local scripts in a Google Workspace account-searching for documents, uploading reports to specific folders, organizing project files, or performing batch file operations. It fits tasks requiring file-level Drive operations without introducing server dependencies. Stop if you need Google Docs/Sheets/Slides downloads (not supported) or if you're using a personal Gmail account (Workspace required).
Source README
Google Drive
Lightweight Google Drive integration with standalone OAuth authentication. No MCP server required. Full read/write access.
Requires Google Workspace account. Personal Gmail accounts are not supported.
When to Use
- You need to search, list, upload, download, move, or organize Google Drive files and folders.
- The task requires direct Drive read/write automation through local scripts in a Workspace account.
- You want file-level Drive operations without introducing an MCP server dependency.
First-Time Setup
Authenticate with Google (opens browser):
python scripts/auth.py login
Check authentication status:
python scripts/auth.py status
Logout when needed:
python scripts/auth.py logout
Read Commands
All operations via scripts/drive.py. Auto-authenticates on first use if not logged in.
### Search for files (full-text search)
python scripts/drive.py search "quarterly report"
### Search by title only
python scripts/drive.py search "title:budget"
### Search using Google Drive URL (extracts ID automatically)
python scripts/drive.py search "https://drive.google.com/drive/folders/1ABC123..."
### Search files shared with you
python scripts/drive.py search --shared-with-me
### Search with pagination
python scripts/drive.py search "report" --limit 5 --page-token "..."
### Find a folder by exact name
python scripts/drive.py find-folder "Project Documents"
### List files in root Drive
python scripts/drive.py list
### List files in a specific folder
python scripts/drive.py list 1ABC123xyz --limit 20
### Download a file
python scripts/drive.py download 1ABC123xyz ./downloads/report.pdf
Write Commands
### Upload a file to Drive root
python scripts/drive.py upload ~/Documents/report.pdf
### Upload to a specific folder
python scripts/drive.py upload ~/Documents/report.pdf --folder 1ABC123xyz
### Upload with a custom name
python scripts/drive.py upload ~/Documents/report.pdf --name "Q4 Report.pdf"
### Create a new folder
python scripts/drive.py create-folder "Project Documents"
### Create a folder inside another folder
python scripts/drive.py create-folder "Attachments" --parent 1ABC123xyz
### Move a file to a different folder
python scripts/drive.py move FILE_ID DESTINATION_FOLDER_ID
### Copy a file
python scripts/drive.py copy FILE_ID
python scripts/drive.py copy FILE_ID --name "Report Copy" --folder 1ABC123xyz
### Rename a file or folder
python scripts/drive.py rename FILE_ID "New Name.pdf"
### Move a file to trash
python scripts/drive.py trash FILE_ID
Search Query Formats
The search command supports multiple query formats:
| Format | Example | Description |
|---|---|---|
| Full-text | "quarterly report" |
Searches file contents and names |
| Title | "title:budget" |
Searches file names only |
| URL | https://drive.google.com/... |
Extracts and uses file/folder ID |
| Folder ID | 1ABC123... |
Lists folder contents (25+ char IDs) |
| Native query | mimeType='application/pdf' |
Pass-through Drive query syntax |
File ID Format
Google Drive uses long IDs like 1ABC123xyz_-abc123. Get IDs from:
searchresultsfind-folderresultslistresults- Google Drive URLs
Download Limitations
- Regular files (PDFs, images, etc.) download directly
- Google Docs/Sheets/Slides cannot be downloaded via this tool
- For Google Workspace files, use export or dedicated tools
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-drive-skill-oauth
Automatically refreshes expired tokens using Google's cloud function.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.