google-drive

Find, create, and manage files and folders in Google Drive. Use when asked to search Drive, create files, upload documents, organize folders, or access Drive content.

9 stars

Best use case

google-drive is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Find, create, and manage files and folders in Google Drive. Use when asked to search Drive, create files, upload documents, organize folders, or access Drive content.

Teams using google-drive should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/google-drive/SKILL.md --create-dirs "https://raw.githubusercontent.com/orthogonal-sh/skills/main/skills/google-drive/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/google-drive/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How google-drive Compares

Feature / Agentgoogle-driveStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Find, create, and manage files and folders in Google Drive. Use when asked to search Drive, create files, upload documents, organize folders, or access Drive content.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Google Drive

Find, create, and manage files and folders in Google Drive. Connect your Google account to search for files, create documents, organize folders, and manage your Drive storage.

## Requirements

- Install the `orth` CLI
- Connect your Google Drive at https://orthogonal.com/dashboard/integrations
- OAuth connection must be active (HTTP 428 response means not connected)

## Actions

### Find File

Search for files and folders in your Google Drive.

```bash
orth run google-drive /find-file --body '{
  "q": "name contains \"project\" and mimeType = \"application/pdf\"",
  "orderBy": "modifiedTime desc"
}'
```

**Parameters:**
- `q` - Google Drive query using search syntax
- `fields` - Specific fields to return (id, name, mimeType, etc.)
- `spaces` - Search in specific spaces (drive, appDataFolder, photos)
- `corpora` - Search scope (user, domain, drive, allDrives)
- `driveId` - Shared drive ID to search in
- `orderBy` - Sort results (name, folder, createdTime, modifiedTime, quotaBytesUsed, recency, starred)
- `pageSize` - Number of files to return (max 1000)
- `pageToken` - Token for pagination
- `supportsAllDrives` - Include shared drives (true/false)
- `includeItemsFromAllDrives` - Include items from all drives (true/false)

### Create File

Create a new text file in Google Drive.

```bash
orth run google-drive /create-file --body '{
  "file_name": "project-notes.txt",
  "text_content": "This is my project documentation.\n\nSection 1: Overview\nSection 2: Details"
}'
```

**Parameters:**
- `file_name` (required) - Name for the new file
- `text_content` (required) - Text content to write to the file
- `mime_type` - MIME type for the file (defaults to text/plain)
- `parent_id` - Parent folder ID to create file in

### Get File

Download or retrieve information about a specific file.

```bash
orth run google-drive /get-file --body '{
  "fileId": "1abc2def3ghi4jkl5mno6pqr7stu8vwx9yz"
}'
```

**Parameters:**
- `fileId` (required) - Google Drive file ID
- `includeLabels` - Include file labels in response (true/false)
- `acknowledgeAbuse` - Acknowledge risk when downloading flagged files (true/false)
- `supportsAllDrives` - Support shared drives (true/false)
- `includePermissionsForView` - Include permissions info (true/false)

### Create Folder

Create a new folder in Google Drive.

```bash
orth run google-drive /create-folder --body '{
  "folder_name": "Project Documents",
  "parent_id": "parent-folder-id"
}'
```

**Parameters:**
- `folder_name` (required) - Name for the new folder
- `parent_id` - Parent folder ID to create folder in (defaults to root)

## Usage Examples

**Search for PDF files:**
```bash
orth run google-drive /find-file -b '{"q":"mimeType=\"application/pdf\"","orderBy":"modifiedTime desc","pageSize":20}'
```

**Find files by name:**
```bash
orth run google-drive /find-file -b '{"q":"name contains \"meeting notes\"","fields":"files(id,name,modifiedTime)"}'
```

**Search in specific folder:**
```bash
orth run google-drive /find-file -b '{"q":"\"folder123\" in parents and name contains \"report\""}'
```

**Create project document:**
```bash
orth run google-drive /create-file -b '{"file_name":"Project Plan.md","text_content":"# Project Plan\n\n## Overview\nThis document outlines our project plan.\n\n## Timeline\n- Phase 1: Research\n- Phase 2: Development"}'
```

**Create file in specific folder:**
```bash
orth run google-drive /create-file -b '{"file_name":"notes.txt","text_content":"Important notes here","parent_id":"folder456"}'
```

**Download file content:**
```bash
orth run google-drive /get-file -b '{"fileId":"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"}'
```

**Create project folder:**
```bash
orth run google-drive /create-folder -b '{"folder_name":"Q1 2024 Projects"}'
```

**Create subfolder:**
```bash
orth run google-drive /create-folder -b '{"folder_name":"Documents","parent_id":"parent_folder_id"}'
```

## Google Drive Query Syntax

Use these operators in the `q` parameter for find-file:

**File properties:**
- `name = "filename"` - Exact name match
- `name contains "text"` - Name contains text
- `mimeType = "application/pdf"` - Specific file type
- `parents in "folder_id"` - Files in specific folder

**File types:**
- `mimeType = "application/pdf"` - PDF files
- `mimeType = "image/jpeg"` - JPEG images
- `mimeType = "application/vnd.google-apps.document"` - Google Docs
- `mimeType = "application/vnd.google-apps.spreadsheet"` - Google Sheets
- `mimeType = "application/vnd.google-apps.folder"` - Folders

**Time filters:**
- `modifiedTime > "2024-01-01T00:00:00"` - Modified after date
- `createdTime < "2024-12-31T23:59:59"` - Created before date

**Other filters:**
- `starred = true` - Starred files only
- `trashed = false` - Exclude trashed files
- `"user@example.com" in owners` - Files owned by specific user

## Error Handling

- **HTTP 428** - Google Drive integration not connected. Visit https://orthogonal.com/dashboard/integrations to connect your account
- **400 Bad Request** - Invalid query syntax or parameters
- **403 Forbidden** - Insufficient permissions to access file/folder
- **404 Not Found** - File or folder does not exist
- **413 Payload Too Large** - File content too large for upload
- **429 Rate Limited** - Google Drive API quota exceeded

## Tips

- File IDs can be found in Google Drive URLs or from find-file results
- Use specific MIME types to filter by file type
- Combine multiple conditions with "and" in queries
- Use quotes around folder IDs and exact names in queries
- Parent folder ID defaults to root if not specified
- Created files are owned by the authenticated user
- Text files support Unicode content and line breaks
- Use pageToken for large result sets with many files

Related Skills

google-sheets

9
from orthogonal-sh/skills

Create spreadsheets, read data, and manage Google Sheets. Use when asked to create sheets, add data to spreadsheets, lookup rows, update cells, or manage sheet data.

google-calendar

9
from orthogonal-sh/skills

Create, list, and manage Google Calendar events. Use when asked to schedule meetings, check calendar, create events, or manage appointments.

yt-dlp-downloader

9
from orthogonal-sh/skills

Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio".

slack

9
from orthogonal-sh/skills

Send messages and manage Slack channels. Use when asked to send Slack messages, post to channels, list channels, or fetch message history.

yc-batch-evaluator

9
from orthogonal-sh/skills

Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.

website-screenshot

9
from orthogonal-sh/skills

Take screenshots of websites and web pages

weather

9
from orthogonal-sh/skills

Get current weather and forecasts using free APIs (no API key required). Use when asked about weather, temperature, forecasts, or climate conditions for any location.

weather-forecast

9
from orthogonal-sh/skills

Get weather forecasts - temperature, precipitation, wind, and conditions

vhs-terminal-recordings

9
from orthogonal-sh/skills

Create polished terminal GIF recordings using VHS (Video Hardware Software) by Charmbracelet. Use when asked to create terminal demos, CLI gifs, command-line recordings, or animated terminal screenshots for documentation, READMEs, or marketing.

verify-email

9
from orthogonal-sh/skills

Verify if an email address is valid and deliverable

valyu

9
from orthogonal-sh/skills

Web search, AI answers, content extraction, and async deep research

uptime-monitor

9
from orthogonal-sh/skills

Monitor website uptime - check availability, response times, and status