[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EYREPDQ6GH7NMBAKT32CSQ":3,"skill-same:01M6EYREPDQ6GH7NMBAKT32CSQ":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":57,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6EYREPDQ6GH7NMBAKT32CSQ","google-drive-automation",null,"Automate Google Drive file operations (upload, download, search, share, organize) via Rube MCP (Composio). Upload\u002Fdownload files, manage folders, share with permissions, and search across drives programmatically.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fgoogle-drive-automation\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"google","google drive automation","drive","google drive","automation","share","search","permissions","file","automate","file operations","files","manage","MCP","composio","organize","upload","across","via","with","2026-11-10 10:12:30",false,"---\nname: google-drive-automation\ndescription: \"Automate Google Drive file operations (upload, download, search, share, organize) via Rube MCP (Composio). Upload\u002Fdownload files, manage folders, share with permissions, and search across drives programmatically.\"\nrequires:\n  mcp: [rube]\n---\n\n# Google Drive Automation via Rube MCP\n\nAutomate Google Drive workflows including file upload\u002Fdownload, search, folder management, sharing\u002Fpermissions, and organization through Composio's Google Drive toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Google Drive connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `googledrive`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `googledrive`\n3. If connection is not ACTIVE, follow the returned auth link to complete Google OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Upload and Download Files\n\n**When to use**: User wants to upload files to or download files from Google Drive\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Locate target folder for upload [Prerequisite]\n2. `GOOGLEDRIVE_UPLOAD_FILE` - Upload a file (max 5MB) [Required]\n3. `GOOGLEDRIVE_RESUMABLE_UPLOAD` - Upload large files [Fallback]\n4. `GOOGLEDRIVE_DOWNLOAD_FILE` - Download a file by ID [Required]\n5. `GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION` - Track long-running downloads [Fallback]\n6. `GOOGLEDRIVE_GET_FILE_METADATA` - Verify file after upload\u002Fdownload [Optional]\n\n**Key parameters**:\n- `file_to_upload`: Object with `name`, `mimetype`, and `s3key` (file must be in internal storage)\n- `folder_to_upload_to`: Target folder ID (optional; uploads to root if omitted)\n- `file_id`: ID of file to download\n- `mime_type`: Export format for Google Workspace files only (omit for native files)\n\n**Pitfalls**:\n- `GOOGLEDRIVE_UPLOAD_FILE` requires `file_to_upload.s3key`; files must already be in internal storage\n- For non-Google formats (Excel, PDF), do NOT set `mime_type`; it causes errors for native files\n- Download responses provide a temporary URL at `data.downloaded_file_content.s3url`, not inline bytes\n- Use `GOOGLEDRIVE_RESUMABLE_UPLOAD` for files >5MB or when basic uploads fail\n\n### 2. Search and List Files\n\n**When to use**: User wants to find specific files or browse Drive contents\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Search by name, content, type, date, or folder [Required]\n2. `GOOGLEDRIVE_LIST_FILES` - Browse files with folder scoping [Alternative]\n3. `GOOGLEDRIVE_LIST_SHARED_DRIVES` - Enumerate shared drives [Optional]\n4. `GOOGLEDRIVE_GET_FILE_METADATA` - Get detailed file info [Optional]\n5. `GOOGLEDRIVE_GET_ABOUT` - Check storage quota and supported formats [Optional]\n\n**Key parameters**:\n- `q`: Drive query string (e.g., \"name contains 'report'\", \"mimeType = 'application\u002Fpdf'\")\n- `corpora`: Search scope ('user', 'domain', 'drive', 'allDrives')\n- `fields`: Response fields to include (e.g., 'files(id,name,mimeType)')\n- `orderBy`: Sort key ('modifiedTime desc', 'name', 'quotaBytesUsed desc')\n- `pageSize`: Results per page (max 1000)\n- `pageToken`: Pagination cursor from `nextPageToken`\n- `folder_id`: Scope search to a specific folder\n\n**Pitfalls**:\n- 403 PERMISSION_DENIED if OAuth scopes insufficient for shared drives\n- Pagination required; files are in `response.data.files`; follow `nextPageToken` until exhausted\n- `corpora=\"domain\"` may trigger 400; try `\"allDrives\"` with `includeItemsFromAllDrives=true`\n- Query complexity limits: >5-10 OR clauses may error \"The query is too complex\"\n- Wildcards (*) NOT supported in `name`; use `contains` for partial matching\n- 'My Drive' is NOT searchable by name; use `folder_id='root'` for root folder\n- User email searches: use `'user@example.com' in owners` (NOT `owner:user@example.com`)\n\n### 3. Share Files and Manage Permissions\n\n**When to use**: User wants to share files or manage access permissions\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Locate the file to share [Prerequisite]\n2. `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE` - Set sharing permission [Required]\n3. `GOOGLEDRIVE_LIST_PERMISSIONS` - View current permissions [Optional]\n4. `GOOGLEDRIVE_GET_PERMISSION` - Inspect a specific permission [Optional]\n5. `GOOGLEDRIVE_UPDATE_PERMISSION` - Modify existing permission [Optional]\n6. `GOOGLEDRIVE_DELETE_PERMISSION` - Revoke access [Optional]\n\n**Key parameters**:\n- `file_id`: ID of file to share\n- `type`: 'user', 'group', 'domain', or 'anyone'\n- `role`: 'owner', 'organizer', 'fileOrganizer', 'writer', 'commenter', 'reader'\n- `email_address`: Required for type='user' or 'group'\n- `domain`: Required for type='domain'\n- `transfer_ownership`: Required when role='owner'\n\n**Pitfalls**:\n- Invalid type\u002Femail combinations trigger 4xx errors\n- Using `type='anyone'` or powerful roles is risky; get explicit user confirmation\n- Org policies may block certain sharing types, causing 403\n- Permission changes may take time to propagate\n- Use `GMAIL_SEARCH_PEOPLE` to resolve contact names to emails before sharing\n\n### 4. Create and Organize Folders\n\n**When to use**: User wants to create folder structures or move files between folders\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Check if folder already exists [Prerequisite]\n2. `GOOGLEDRIVE_CREATE_FOLDER` - Create a new folder [Required]\n3. `GOOGLEDRIVE_GET_FILE_METADATA` - Verify created folder [Optional]\n4. `GOOGLEDRIVE_MOVE_FILE` - Move files between folders [Optional]\n5. `GOOGLEDRIVE_UPDATE_FILE_PUT` - Update file metadata\u002Fparents [Alternative]\n\n**Key parameters**:\n- `name`: Folder name\n- `parent_id`: Parent folder ID (NOT name); omit for root\n- `file_id`: File to move\n- `add_parents`: Destination folder ID for move\n- `remove_parents`: Source folder ID to remove from\n\n**Pitfalls**:\n- `GOOGLEDRIVE_CREATE_FOLDER` requires `parent_id` as an ID, not a folder name\n- Using `parent_id=\"root\"` creates at top level; for nested paths, chain folder IDs\n- `GOOGLEDRIVE_FIND_FILE` returns ~100 items\u002Fpage; follow `nextPageToken` for large drives\n- Move operations can leave items with multiple parents; use `remove_parents` for true moves\n- Always verify parent folder exists before creating children\n\n## Common Patterns\n\n### ID Resolution\n- **File\u002Ffolder name -> ID**: `GOOGLEDRIVE_FIND_FILE` with `q` parameter\n- **Root folder**: Use `folder_id='root'` or `'root' in parents`\n- **Shared drive -> driveId**: `GOOGLEDRIVE_LIST_SHARED_DRIVES`\n- **Contact name -> email**: `GMAIL_SEARCH_PEOPLE` (for sharing)\n\n### Query Syntax\nGoogle Drive uses a specific query language:\n- Name search: `\"name contains 'report'\"` or `\"name = 'exact.pdf'\"`\n- Type filter: `\"mimeType = 'application\u002Fpdf'\"` or `\"mimeType = 'application\u002Fvnd.google-apps.folder'\"`\n- Folder scoping: `\"'FOLDER_ID' in parents\"`\n- Date filter: `\"modifiedTime > '2024-01-01T00:00:00'\"`\n- Combine with `and`\u002F`or`\u002F`not`: `\"name contains 'report' and trashed = false\"`\n- Boolean filters: `\"sharedWithMe = true\"`, `\"starred = true\"`, `\"trashed = false\"`\n\n### Pagination\n- Follow `nextPageToken` until absent for complete results\n- Set `pageSize` explicitly (default 100, max 1000)\n- De-duplicate results if running multiple searches\n\n### Export Formats\nFor Google Workspace files, set `mime_type` to export:\n- **Docs**: `application\u002Fpdf`, `text\u002Fplain`, `text\u002Fhtml`, `application\u002Fvnd.openxmlformats-officedocument.wordprocessingml.document`\n- **Sheets**: `text\u002Fcsv`, `application\u002Fvnd.openxmlformats-officedocument.spreadsheetml.sheet`\n- **Slides**: `application\u002Fpdf`, `application\u002Fvnd.openxmlformats-officedocument.presentationml.presentation`\n\n## Known Pitfalls\n\n- **Internal storage required**: Upload requires files in internal S3 storage (s3key)\n- **Export vs download**: Set `mime_type` ONLY for Google Workspace files; omit for native files\n- **Temporary URLs**: Downloaded content via `s3url` is temporary; fetch promptly\n- **Query complexity**: >5-10 OR clauses may error; split complex searches into multiple queries\n- **Shared drive scoping**: Missing drive permissions yield empty results; verify access first\n- **No wildcards**: Use `contains` operator instead of `*` for partial name matching\n- **Folder creation chains**: Always pass folder IDs (not names) as `parent_id`\n- **Multiple parents**: Move operations may leave items with multiple parents; use `remove_parents`\n- **Rate limits**: Heavy searches\u002Fexports can trigger 403\u002F429; implement backoff\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Search files | `GOOGLEDRIVE_FIND_FILE` | `q`, `corpora`, `pageSize` |\n| List files | `GOOGLEDRIVE_LIST_FILES` | `folderId`, `q`, `orderBy` |\n| Upload file | `GOOGLEDRIVE_UPLOAD_FILE` | `file_to_upload`, `folder_to_upload_to` |\n| Resumable upload | `GOOGLEDRIVE_RESUMABLE_UPLOAD` | file data |\n| Download file | `GOOGLEDRIVE_DOWNLOAD_FILE` | `file_id`, `mime_type` (Workspace only) |\n| File metadata | `GOOGLEDRIVE_GET_FILE_METADATA` | `fileId`, `fields` |\n| Create folder | `GOOGLEDRIVE_CREATE_FOLDER` | `name`, `parent_id` |\n| Move file | `GOOGLEDRIVE_MOVE_FILE` | `file_id`, `add_parents`, `remove_parents` |\n| Share file | `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE` | `file_id`, `role`, `type`, `email_address` |\n| List permissions | `GOOGLEDRIVE_LIST_PERMISSIONS` | `fileId` |\n| Update permission | `GOOGLEDRIVE_UPDATE_PERMISSION` | file_id, permission_id |\n| Delete permission | `GOOGLEDRIVE_DELETE_PERMISSION` | file_id, permission_id |\n| List shared drives | `GOOGLEDRIVE_LIST_SHARED_DRIVES` | `pageSize` |\n| Drive info | `GOOGLEDRIVE_GET_ABOUT` | (none) |\n| Create shortcut | `GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE` | target file_id |\n","# Google Drive Automation via Rube MCP\n\nAutomate Google Drive workflows including file upload\u002Fdownload, search, folder management, sharing\u002Fpermissions, and organization through Composio's Google Drive toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Google Drive connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `googledrive`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `googledrive`\n3. If connection is not ACTIVE, follow the returned auth link to complete Google OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Upload and Download Files\n\n**When to use**: User wants to upload files to or download files from Google Drive\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Locate target folder for upload [Prerequisite]\n2. `GOOGLEDRIVE_UPLOAD_FILE` - Upload a file (max 5MB) [Required]\n3. `GOOGLEDRIVE_RESUMABLE_UPLOAD` - Upload large files [Fallback]\n4. `GOOGLEDRIVE_DOWNLOAD_FILE` - Download a file by ID [Required]\n5. `GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION` - Track long-running downloads [Fallback]\n6. `GOOGLEDRIVE_GET_FILE_METADATA` - Verify file after upload\u002Fdownload [Optional]\n\n**Key parameters**:\n- `file_to_upload`: Object with `name`, `mimetype`, and `s3key` (file must be in internal storage)\n- `folder_to_upload_to`: Target folder ID (optional; uploads to root if omitted)\n- `file_id`: ID of file to download\n- `mime_type`: Export format for Google Workspace files only (omit for native files)\n\n**Pitfalls**:\n- `GOOGLEDRIVE_UPLOAD_FILE` requires `file_to_upload.s3key`; files must already be in internal storage\n- For non-Google formats (Excel, PDF), do NOT set `mime_type`; it causes errors for native files\n- Download responses provide a temporary URL at `data.downloaded_file_content.s3url`, not inline bytes\n- Use `GOOGLEDRIVE_RESUMABLE_UPLOAD` for files >5MB or when basic uploads fail\n\n### 2. Search and List Files\n\n**When to use**: User wants to find specific files or browse Drive contents\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Search by name, content, type, date, or folder [Required]\n2. `GOOGLEDRIVE_LIST_FILES` - Browse files with folder scoping [Alternative]\n3. `GOOGLEDRIVE_LIST_SHARED_DRIVES` - Enumerate shared drives [Optional]\n4. `GOOGLEDRIVE_GET_FILE_METADATA` - Get detailed file info [Optional]\n5. `GOOGLEDRIVE_GET_ABOUT` - Check storage quota and supported formats [Optional]\n\n**Key parameters**:\n- `q`: Drive query string (e.g., \"name contains 'report'\", \"mimeType = 'application\u002Fpdf'\")\n- `corpora`: Search scope ('user', 'domain', 'drive', 'allDrives')\n- `fields`: Response fields to include (e.g., 'files(id,name,mimeType)')\n- `orderBy`: Sort key ('modifiedTime desc', 'name', 'quotaBytesUsed desc')\n- `pageSize`: Results per page (max 1000)\n- `pageToken`: Pagination cursor from `nextPageToken`\n- `folder_id`: Scope search to a specific folder\n\n**Pitfalls**:\n- 403 PERMISSION_DENIED if OAuth scopes insufficient for shared drives\n- Pagination required; files are in `response.data.files`; follow `nextPageToken` until exhausted\n- `corpora=\"domain\"` may trigger 400; try `\"allDrives\"` with `includeItemsFromAllDrives=true`\n- Query complexity limits: >5-10 OR clauses may error \"The query is too complex\"\n- Wildcards (*) NOT supported in `name`; use `contains` for partial matching\n- 'My Drive' is NOT searchable by name; use `folder_id='root'` for root folder\n- User email searches: use `'user@example.com' in owners` (NOT `owner:user@example.com`)\n\n### 3. Share Files and Manage Permissions\n\n**When to use**: User wants to share files or manage access permissions\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Locate the file to share [Prerequisite]\n2. `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE` - Set sharing permission [Required]\n3. `GOOGLEDRIVE_LIST_PERMISSIONS` - View current permissions [Optional]\n4. `GOOGLEDRIVE_GET_PERMISSION` - Inspect a specific permission [Optional]\n5. `GOOGLEDRIVE_UPDATE_PERMISSION` - Modify existing permission [Optional]\n6. `GOOGLEDRIVE_DELETE_PERMISSION` - Revoke access [Optional]\n\n**Key parameters**:\n- `file_id`: ID of file to share\n- `type`: 'user', 'group', 'domain', or 'anyone'\n- `role`: 'owner', 'organizer', 'fileOrganizer', 'writer', 'commenter', 'reader'\n- `email_address`: Required for type='user' or 'group'\n- `domain`: Required for type='domain'\n- `transfer_ownership`: Required when role='owner'\n\n**Pitfalls**:\n- Invalid type\u002Femail combinations trigger 4xx errors\n- Using `type='anyone'` or powerful roles is risky; get explicit user confirmation\n- Org policies may block certain sharing types, causing 403\n- Permission changes may take time to propagate\n- Use `GMAIL_SEARCH_PEOPLE` to resolve contact names to emails before sharing\n\n### 4. Create and Organize Folders\n\n**When to use**: User wants to create folder structures or move files between folders\n\n**Tool sequence**:\n1. `GOOGLEDRIVE_FIND_FILE` - Check if folder already exists [Prerequisite]\n2. `GOOGLEDRIVE_CREATE_FOLDER` - Create a new folder [Required]\n3. `GOOGLEDRIVE_GET_FILE_METADATA` - Verify created folder [Optional]\n4. `GOOGLEDRIVE_MOVE_FILE` - Move files between folders [Optional]\n5. `GOOGLEDRIVE_UPDATE_FILE_PUT` - Update file metadata\u002Fparents [Alternative]\n\n**Key parameters**:\n- `name`: Folder name\n- `parent_id`: Parent folder ID (NOT name); omit for root\n- `file_id`: File to move\n- `add_parents`: Destination folder ID for move\n- `remove_parents`: Source folder ID to remove from\n\n**Pitfalls**:\n- `GOOGLEDRIVE_CREATE_FOLDER` requires `parent_id` as an ID, not a folder name\n- Using `parent_id=\"root\"` creates at top level; for nested paths, chain folder IDs\n- `GOOGLEDRIVE_FIND_FILE` returns ~100 items\u002Fpage; follow `nextPageToken` for large drives\n- Move operations can leave items with multiple parents; use `remove_parents` for true moves\n- Always verify parent folder exists before creating children\n\n## Common Patterns\n\n### ID Resolution\n- **File\u002Ffolder name -> ID**: `GOOGLEDRIVE_FIND_FILE` with `q` parameter\n- **Root folder**: Use `folder_id='root'` or `'root' in parents`\n- **Shared drive -> driveId**: `GOOGLEDRIVE_LIST_SHARED_DRIVES`\n- **Contact name -> email**: `GMAIL_SEARCH_PEOPLE` (for sharing)\n\n### Query Syntax\nGoogle Drive uses a specific query language:\n- Name search: `\"name contains 'report'\"` or `\"name = 'exact.pdf'\"`\n- Type filter: `\"mimeType = 'application\u002Fpdf'\"` or `\"mimeType = 'application\u002Fvnd.google-apps.folder'\"`\n- Folder scoping: `\"'FOLDER_ID' in parents\"`\n- Date filter: `\"modifiedTime > '2024-01-01T00:00:00'\"`\n- Combine with `and`\u002F`or`\u002F`not`: `\"name contains 'report' and trashed = false\"`\n- Boolean filters: `\"sharedWithMe = true\"`, `\"starred = true\"`, `\"trashed = false\"`\n\n### Pagination\n- Follow `nextPageToken` until absent for complete results\n- Set `pageSize` explicitly (default 100, max 1000)\n- De-duplicate results if running multiple searches\n\n### Export Formats\nFor Google Workspace files, set `mime_type` to export:\n- **Docs**: `application\u002Fpdf`, `text\u002Fplain`, `text\u002Fhtml`, `application\u002Fvnd.openxmlformats-officedocument.wordprocessingml.document`\n- **Sheets**: `text\u002Fcsv`, `application\u002Fvnd.openxmlformats-officedocument.spreadsheetml.sheet`\n- **Slides**: `application\u002Fpdf`, `application\u002Fvnd.openxmlformats-officedocument.presentationml.presentation`\n\n## Known Pitfalls\n\n- **Internal storage required**: Upload requires files in internal S3 storage (s3key)\n- **Export vs download**: Set `mime_type` ONLY for Google Workspace files; omit for native files\n- **Temporary URLs**: Downloaded content via `s3url` is temporary; fetch promptly\n- **Query complexity**: >5-10 OR clauses may error; split complex searches into multiple queries\n- **Shared drive scoping**: Missing drive permissions yield empty results; verify access first\n- **No wildcards**: Use `contains` operator instead of `*` for partial name matching\n- **Folder creation chains**: Always pass folder IDs (not names) as `parent_id`\n- **Multiple parents**: Move operations may leave items with multiple parents; use `remove_parents`\n- **Rate limits**: Heavy searches\u002Fexports can trigger 403\u002F429; implement backoff\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Search files | `GOOGLEDRIVE_FIND_FILE` | `q`, `corpora`, `pageSize` |\n| List files | `GOOGLEDRIVE_LIST_FILES` | `folderId`, `q`, `orderBy` |\n| Upload file | `GOOGLEDRIVE_UPLOAD_FILE` | `file_to_upload`, `folder_to_upload_to` |\n| Resumable upload | `GOOGLEDRIVE_RESUMABLE_UPLOAD` | file data |\n| Download file | `GOOGLEDRIVE_DOWNLOAD_FILE` | `file_id`, `mime_type` (Workspace only) |\n| File metadata | `GOOGLEDRIVE_GET_FILE_METADATA` | `fileId`, `fields` |\n| Create folder | `GOOGLEDRIVE_CREATE_FOLDER` | `name`, `parent_id` |\n| Move file | `GOOGLEDRIVE_MOVE_FILE` | `file_id`, `add_parents`, `remove_parents` |\n| Share file | `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE` | `file_id`, `role`, `type`, `email_address` |\n| List permissions | `GOOGLEDRIVE_LIST_PERMISSIONS` | `fileId` |\n| Update permission | `GOOGLEDRIVE_UPDATE_PERMISSION` | file_id, permission_id |\n| Delete permission | `GOOGLEDRIVE_DELETE_PERMISSION` | file_id, permission_id |\n| List shared drives | `GOOGLEDRIVE_LIST_SHARED_DRIVES` | `pageSize` |\n| Drive info | `GOOGLEDRIVE_GET_ABOUT` | (none) |\n| Create shortcut | `GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE` | target file_id |\n",{"name":5,"requires":49,"description":7},{"mcp":50},[51],"rube","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fgoogle-drive-automation",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill google-drive-automation",{"tool":67,"command":68},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill google-drive-automation",{"tool":70,"command":71},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill google-drive-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fgoogle-drive-automation\u002FSKILL.md",true,[75],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"skill-report.json","REFERENCE","参考文档",9680,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Fgoogle-drive-automation\u002Fskill-report.json",[82,92,101,110,116,123],{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":88,"publishedAt":44},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[87],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[89,90,91],"model","model hierarchy","model hierarchy skill",{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":98,"publishedAt":44},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[97],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[37,99,100],"zoom","zoom mcp",{"skillNo":102,"name":103,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":44},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[107,108,109,99],"sdk","zoom apps sdk","apps",{"skillNo":111,"name":112,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":44},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[112],{"skillNo":117,"name":118,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":122,"publishedAt":44},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[121],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[118],{"skillNo":124,"name":125,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":44},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[125]]