Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/sanjay3290-google-drive/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 25% | 0% |
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.
Authenticate with Google (opens browser):
bashpython scripts/auth.py login
Check authentication status:
bashpython scripts/auth.py status
Logout when needed:
bashpython scripts/auth.py logout
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
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
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 |
Google Drive uses long IDs like 1ABC123xyz_-abc123. Get IDs from:
search resultsfind-folder resultslist resultsTokens stored securely using the system keyring:
Service name: google-drive-skill-oauth
Automatically refreshes expired tokens using Google's cloud function.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→pass | 7,996 | 4,861 | -39% | 1 | 1 | 0% | 1,416 | 1,632 | +15% | 0 | 0 | — |
case-01 | fail→pass | 7,341 | 15,771 | +115% | 1 | 1 | 0% | 1,173 | 1,602 | +37% | 0 | 0 | — |
case-03 | fail→pass | 14,243 | 4,320 | -70% | 1 | 1 | 0% | 2,066 | 1,747 | -15% | 0 | 0 | — |
case-04 | fail→pass | 9,265 | 3,995 | -57% | 1 | 1 | 0% | 1,340 | 1,601 | +19% | 0 | 0 | — |
case-05 | fail→pass | 11,363 | 6,098 | -46% | 1 | 1 | 0% | 1,676 | 2,100 | +25% | 0 | 0 | — |
case-06 | fail→pass | 14,345 | 6,510 | -55% | 1 | 1 | 0% | 1,955 | 2,283 | +17% | 0 | 0 | — |
case-07 | fail→pass | 16,769 | 5,390 | -68% | 1 | 1 | 0% | 2,416 | 1,783 | -26% | 0 | 0 | — |
case-08 | fail→pass | 9,695 | 2,626 | -73% | 1 | 1 | 0% | 1,369 | 1,366 | -0% | 0 | 0 | — |
case-09 | fail→pass | 8,828 | 2,236 | -75% | 1 | 1 | 0% | 1,531 | 1,211 | -21% | 0 | 0 | — |
case-10 | fail→pass | 11,144 | 2,268 | -80% | 1 | 1 | 0% | 1,634 | 1,325 | -19% | 0 | 0 | — |
case-11 | fail→pass | 9,171 | 2,170 | -76% | 1 | 1 | 0% | 1,586 | 1,300 | -18% | 0 | 0 | — |
case-12 | pass→pass | 12,804 | 1,625 | -87% | 1 | 1 | 0% | 2,198 | 1,208 | -45% | 0 | 0 | — |
case-13 | fail→pass | 8,501 | 1,750 | -79% | 1 | 1 | 0% | 1,208 | 1,195 | -1% | 0 | 0 | — |
case-14 | fail→pass | 11,490 | 1,688 | -85% | 1 | 1 | 0% | 1,720 | 1,177 | -32% | 0 | 0 | — |
case-15 | fail→pass | 4,165 | 2,378 | -43% | 1 | 1 | 0% | 619 | 1,331 | +115% | 0 | 0 | — |
case-16 | fail→pass | 9,488 | 1,531 | -84% | 1 | 1 | 0% | 1,707 | 1,219 | -29% | 0 | 0 | — |
case-17 | pass→pass | 17,549 | 1,745 | -90% | 1 | 1 | 0% | 1,441 | 1,169 | -19% | 0 | 0 | — |
case-18 | fail→pass | 2,627 | 2,748 | +5% | 1 | 1 | 0% | 430 | 1,336 | +211% | 0 | 0 | — |
case-19 | fail→pass | 3,073 | 2,377 | -23% | 1 | 1 | 0% | 505 | 1,300 | +157% | 0 | 0 | — |
case-20 | pass→pass | 7,573 | 3,799 | -50% | 1 | 1 | 0% | 1,217 | 1,482 | +22% | 0 | 0 | — |
case-21 | fail→pass | 9,340 | 2,406 | -74% | 1 | 1 | 0% | 1,479 | 1,273 | -14% | 0 | 0 | — |
case-22 | pass→pass | 12,783 | 3,229 | -75% | 1 | 1 | 0% | 1,882 | 1,382 | -27% | 0 | 0 | — |
case-23 | pass→pass | 9,831 | 4,831 | -51% | 1 | 1 | 0% | 1,694 | 1,680 | -1% | 0 | 0 | — |
case-24 | fail→pass | 11,173 | 3,761 | -66% | 1 | 1 | 0% | 1,806 | 1,586 | -12% | 0 | 0 | — |
case-25 | fail→pass | 12,325 | 1,869 | -85% | 1 | 1 | 0% | 1,864 | 1,235 | -34% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +80 percentage points is the difference between those two pass rates over the 25 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.