Agent Skills: Google Drive

Upload files, create folders, list and search Google Drive via CLI

UncategorizedID: aaaaqwq/claude-code-skills/google-drive

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aAAaqwq/AGI-Super-Team/tree/HEAD/skills/google-drive

Skill Files

Browse the full folder contents for google-drive.

Download Skill

Loading file tree…

skills/google-drive/SKILL.md

Skill Metadata

Name
google-drive
Description
Upload files, create folders, list and search Google Drive via CLI

Google Drive

Upload files, create folders, list and search Google Drive via CLI.

When to use

  • Upload proposals, invoices, contracts to client folders
  • Create new client folder structure
  • List or search files in Drive
  • Any Google Drive file management task

Dependencies

  • Other skills: google-auth (if token expired)
  • External: Python 3, google-api-python-client, google-auth

Paths

| What | Path | |------|------| | Script | $GOOGLE_TOOLS_PATH/drive_manager.py | | Token | $GOOGLE_TOOLS_PATH/token.json | | Credentials | $GOOGLE_TOOLS_PATH/credentials.json | | Venv Python | $GOOGLE_TOOLS_PATH/.venv/bin/python3 |

Known Folder IDs

| Folder | ID | |--------|----| | Root (WeLabelData) | <YOUR_DRIVE_ROOT_ID> | | Clients | <YOUR_CLIENTS_FOLDER_ID> | | Templates | <YOUR_TEMPLATES_FOLDER_ID> |

How to execute

List folder contents

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py list FOLDER_ID

Create a folder

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py create-folder "Folder Name" --parent FOLDER_ID

Upload a file

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py upload /path/to/file.pdf --folder FOLDER_ID
cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py upload /path/to/file.pdf --folder FOLDER_ID --name "Custom Name.pdf"

Search by name

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py search "query"
cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py search "query" --folder FOLDER_ID

Share file/folder

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py share FILE_ID --email user@example.com --role writer
cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py share FILE_ID --email user@example.com --role reader --notify --message "Please review"

Check permissions

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py permissions FILE_ID

Create Google Doc

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py create-doc "Title" --folder FOLDER_ID
cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py create-doc "Title" --folder FOLDER_ID --html /path/to/content.html

File info (modified time, last editor)

cd $GOOGLE_TOOLS_PATH && ./.venv/bin/python3 drive_manager.py info FILE_ID

Parameters

| Parameter | Description | Default | |-----------|-------------|---------| | folder_id | Folder ID for list command | required | | --parent | Parent folder ID for create-folder | root | | --folder | Target folder ID for upload / search / create-doc | none | | --name | Custom filename for upload | original filename | | --email | Email to share with (share command) | required | | --role | Permission role: reader, writer, commenter | writer | | --notify | Send email notification when sharing | false | | --message | Custom notification message | none | | --html | Path to HTML file for doc content (create-doc) | empty doc |

Examples

List all client folders

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py list <YOUR_CLIENTS_FOLDER_ID>

Create a new client folder

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py create-folder "Acme Corp" --parent <YOUR_CLIENTS_FOLDER_ID>

Upload invoice to client folder

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py upload ~/invoices/inv-100.pdf --folder CLIENT_FOLDER_ID --name "Invoice #100.pdf"

Search for proposals

cd $GOOGLE_TOOLS_PATH && python3 drive_manager.py search "proposal" --folder <YOUR_CLIENTS_FOLDER_ID>

Output Format

All commands output JSON array. Each entry has:

  • id — Google Drive file ID
  • name — file/folder name
  • mimeType — MIME type (application/vnd.google-apps.folder for folders)
  • webViewLink — direct link to open in browser

Limitations

  • Scopes: uses drive.readonly (list/search) + drive.file (create/upload/share). Cannot modify files not created by this app.
  • Upload: single file at a time. For bulk uploads, loop in bash.
  • Search: name-based only. Use Google Drive web UI for full-text content search.
  • Sharing: can only share files created by this app (drive.file scope). Cannot share files created elsewhere.
  • Create-doc: uses Drive API upload with HTML conversion (no Docs API needed). Formatting via HTML.

Troubleshooting

| Problem | Solution | |---------|----------| | token.json expired | Run google-auth skill to refresh | | 403 insufficient permissions | Check scopes in google_scopes.py, may need to re-auth | | File not found on upload | Use absolute path or ~ expansion | | Empty list result | Verify folder ID is correct, check trashed status |

Related skills

  • google-auth — OAuth token management
  • invoice-generator-agent — generates invoices that can be uploaded here