google-drive · sanjay3290 — Claude Code skill: what it does, how to install
The google-drive skill gives full Google Drive access: search, download, upload, move and trash files via Python scripts with OAuth authentication.
npx skills add sanjay3290/ai-skills --skill google-drive -a claude-codeWhat google-drive does
The skill operates through scripts/drive.py and scripts/auth.py. First run opens a browser for OAuth login; tokens are stored in the system keyring (Keychain on macOS, Windows Credential Locker, Secret Service on Linux) and refresh automatically. It searches file contents, titles, extracts IDs from Google Drive URLs, lists folders, creates folders and copies files between them.
Google Docs, Sheets and Slides cannot be downloaded — the skill handles regular files only (PDFs, images, archives). Search accepts full-text queries, the title: prefix for name-only search, a URL, or a folder ID longer than 25 characters.
Requires a Google Workspace account. Personal Gmail accounts are not supported — OAuth will fail without a Workspace account.
What it helps with
- find a file in Drive by content or title
- download a PDF or image from a shared folder
- upload a report to a specific project folder
- move files between Drive folders
- create a folder structure for a new project
Example prompts for the agent
- Find all files in Drive containing "quarterly report"
- Download file
1ABC123xyzto./downloads/report.pdf - Upload
~/Documents/budget.xlsxto folder1DEF456abcas "Q4 Budget"
How to install google-drive
1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill google-drive -a claude-code2Manually: put the files in place
~/.claude/skills/google-drive/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/google-drive/
1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill google-drive -a codex2Manually: put the files in place
.agents/skills/google-drive/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill google-drive -a cursor2Manually: put the files in place
.cursor/skills/google-drive/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install sanjay3290/ai-skills google-drive2Manually: put the files in place
.github/skills/google-drive/SKILL.md1Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill google-drive -a gemini-cli2Platform CLI
gemini skills install https://github.com/sanjay3290/ai-skills --path skills/google-driveManually: put the files in place
.devin/skills/google-drive/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add sanjay3290/ai-skills --skill google-drive -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about google-drive
How to install google-drive in Claude Code?
Run npx skills add sanjay3290/ai-skills --skill google-drive -a claude-code, then check ~/.claude/skills/google-drive/SKILL.md.
What does the google-drive skill do?
It gives the agent full Google Drive access: search by content and title, download and upload files, create and move folders, copy and trash items. OAuth authentication, tokens stored in the system keyring.
Why can't I download Google Docs?
The skill works with regular files only (PDFs, images, archives). Google Docs, Sheets and Slides require export via separate tools — direct download through the Drive API is not available for them.
Source text
SKILL.md · Apache-2.0
--- name: google-drive description: | Interact with Google Drive - search files, find folders, list contents, download files, upload files, create folders, move, copy, rename, and trash files. Use when user asks to: search Google Drive, find a file/folder, list Drive contents, download or upload files, create folders, move files, or organize Drive content. Lightweight integration with standalone OAuth authentication supporting full read/write access. license: Apache-2.0 metadata: author: sanjay3290 version: "1.0" --- # 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. ## First-Time Setup Authenticate with Google (opens browser): ```bash python scripts/auth.py login ``` Check authentication status: ```bash python scripts/auth.py status ``` Logout when needed: ```bash python scripts/auth.py logout ``` ## Read Commands All operations via `scripts/drive.py`. Auto-authenticates on first use if not logged in. ```bash # 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 ```bash # 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: - `search` results - `find-folder` results - `list` results - 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.
© sanjay3290 · Apache-2.0 · sanjay3290/ai-skills
Similar skills
All skills for Agent setup: memory, context, orchestration →google-drive by other authors comes first.