gdcli
Google Drive CLI for listing, searching, uploading, downloading, and sharing files and folders.
11 stars
byenuno
Best use case
gdcli is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Google Drive CLI for listing, searching, uploading, downloading, and sharing files and folders.
Teams using gdcli 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/gdcli/SKILL.md --create-dirs "https://raw.githubusercontent.com/enuno/claude-command-and-control/main/skills/pi-skills/gdcli/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/gdcli/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How gdcli Compares
| Feature / Agent | gdcli | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Google Drive CLI for listing, searching, uploading, downloading, and sharing files and folders.
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 CLI Command-line interface for Google Drive operations. ## Installation ```bash npm install -g @mariozechner/gdcli ``` ## Setup ### Google Cloud Console (one-time) 1. [Create a new project](https://console.cloud.google.com/projectcreate) (or select existing) 2. [Enable the Google Drive API](https://console.cloud.google.com/apis/api/drive.googleapis.com) 3. [Set app name](https://console.cloud.google.com/auth/branding) in OAuth branding 4. [Add test users](https://console.cloud.google.com/auth/audience) (all Gmail addresses you want to use) 5. [Create OAuth client](https://console.cloud.google.com/auth/clients): - Click "Create Client" - Application type: "Desktop app" - Download the JSON file ### Configure gdcli First check if already configured: ```bash gdcli accounts list ``` If no accounts, guide the user through setup: 1. Ask if they have a Google Cloud project with Drive API enabled 2. If not, walk them through the Google Cloud Console steps above 3. Have them download the OAuth credentials JSON 4. Run: `gdcli accounts credentials ~/path/to/credentials.json` 5. Run: `gdcli accounts add <email>` (use `--manual` for browserless OAuth) ## Usage Run `gdcli --help` for full command reference. Common operations: - `gdcli <email> ls [folderId]` - List files/folders - `gdcli <email> ls --query "<query>"` - List with Drive query filter - `gdcli <email> search "<text>"` - Full-text content search - `gdcli <email> download <fileId> [destPath]` - Download a file - `gdcli <email> upload <localPath> [--folder <folderId>]` - Upload a file - `gdcli <email> mkdir <name>` - Create a folder - `gdcli <email> share <fileId> --anyone` - Share publicly ## Search **Two different commands:** - `search "<text>"` - Searches inside file contents (fullText) - `ls --query "<query>"` - Filters by metadata (name, type, date, etc.) **Use `ls --query` for filename searches!** ## Query Syntax (for ls --query) Format: `field operator value`. Combine with `and`/`or`, group with `()`. **Operators:** `=`, `!=`, `contains`, `<`, `>`, `<=`, `>=` **Examples:** ```bash # By filename ls --query "name = 'report.pdf'" # exact match ls --query "name contains 'IMG'" # prefix match # By type ls --query "mimeType = 'application/pdf'" ls --query "mimeType contains 'image/'" ls --query "mimeType = 'application/vnd.google-apps.folder'" # folders # By date ls --query "modifiedTime > '2024-01-01'" # By owner/sharing ls --query "'me' in owners" ls --query "sharedWithMe" # Exclude trash ls --query "trashed = false" # Combined ls --query "name contains 'report' and mimeType = 'application/pdf'" ``` Ref: https://developers.google.com/drive/api/guides/ref-search-terms ## Data Storage - `~/.gdcli/credentials.json` - OAuth client credentials - `~/.gdcli/accounts.json` - Account tokens - `~/.gdcli/downloads/` - Default download location
Related Skills
We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.