Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Gworkspace Cli

ASecurity

Interact with Google Workspace (Drive, Docs, Sheets) via the `gw` CLI. Use when an agent needs to browse, read, create, search, or manage files in Google Drive, read or write Google Docs, or read/write Google Sheets — all from the terminal. Works with both My Drive and Shared Drives.

14 stars
0 votes
0 copies
2 views
Added 9/7/2026
businessgobashgitapi

Works with

terminalcliapi

Security Analysis

A92/100
mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned 9/7/2026

$npx -y skills add modbender/skill-library-mcp --skill gworkspace-cli --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gworkspace Cli?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Gworkspace Cli
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-gworkspace-cli/badge)](https://www.skillsdirectory.com/skills/modbender-gworkspace-cli)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: gworkspace-cli
description: >
  Interact with Google Workspace (Drive, Docs, Sheets) via the `gw` CLI.
  Use when an agent needs to browse, read, create, search, or manage files
  in Google Drive, read or write Google Docs, or read/write Google Sheets —
  all from the terminal. Works with both My Drive and Shared Drives.
required_binaries:
  - gw
required_env:
  - name: GOOGLE_CLIENT_ID
    description: Google OAuth client ID (optional — embedded credentials used by default)
    required: false
  - name: GOOGLE_CLIENT_SECRET
    description: Google OAuth client secret (optional — embedded credentials used by default)
    required: false
  - name: GW_CLIENT_ID
    description: Alias for GOOGLE_CLIENT_ID
    required: false
  - name: GW_CLIENT_SECRET
    description: Alias for GOOGLE_CLIENT_SECRET
    required: false
config_paths:
  - ~/.11x/gworkspace/token.json
  - ~/.11x/gworkspace/config.json
install: npm i -g @11x.agency/gworkspace
source: https://github.com/robinfaraj/gworkspace-cli
---

# gworkspace-cli

Manage Google Drive, Docs, and Sheets from the terminal with `gw`.

## Do This First

- Ensure `gw` is installed: `npm i -g @11x.agency/gworkspace`
- Ensure authenticated: run `gw auth --status`. If not authenticated, run `gw auth`.
- If targeting a Shared Drive, get the drive ID first: `gw drive shared`

## Authentication

```bash
gw auth                 # Opens browser for Google sign-in
gw auth --status        # Check current auth (email, scopes, expiry)
gw logout               # Remove stored credentials
```

Token stored at `~/.11x/gworkspace/token.json`. OAuth credentials via env vars or `.env` file:
- `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET`
- `GW_CLIENT_ID` / `GW_CLIENT_SECRET` (aliases)

## Commands

### Drive

```bash
# List files
gw drive ls                              # Root of My Drive
gw drive ls /Projects                    # By path
gw drive ls --folder <id>               # By folder ID
gw drive ls --type doc                  # Filter: doc, sheet, folder, all
gw drive ls --limit 50                  # Pagination

# Create folder
gw drive mkdir "Folder Name"
gw drive mkdir "Subfolder" --folder <parent-id>

# Search
gw drive search "quarterly report"
gw drive search "budget" --type sheet

# Upload
gw drive upload ./file.pdf
gw drive upload ./data.csv --folder <id> --name "Q4 Data"

# List Shared Drives
gw drive shared
```

### Shared Drives

Use the global `--drive <id>` flag before any subcommand:

```bash
gw --drive <shared-drive-id> drive ls
gw --drive <shared-drive-id> drive ls /Projects
gw --drive <shared-drive-id> drive mkdir "New Folder"
gw --drive <shared-drive-id> drive search "report"
gw --drive <shared-drive-id> drive upload ./file.pdf
```

To create docs/sheets in a Shared Drive, use `--folder` with a Shared Drive folder ID:

```bash
gw doc create "Title" --folder <shared-drive-folder-id>
gw sheet create "Title" --folder <shared-drive-folder-id>
```

### Docs

```bash
gw doc read <id|url>                    # Plain text output
gw doc read <id|url> --markdown         # Markdown output
gw doc create "Title"                   # Create empty doc, returns ID + URL
gw doc create "Title" --folder <id>     # Create in specific folder
gw doc append <id|url> "text"           # Append text to end of doc
gw doc append <id|url> --file ./notes.txt  # Append from file
```

### Sheets

```bash
gw sheet read <id|url>                  # Read entire first sheet (JSON rows)
gw sheet read <id|url> "Sheet1!A1:C10"  # Read specific range
gw sheet write <id|url> "A1:B2" '[["Name","Score"],["Alice","95"]]'
gw sheet write <id|url> "A1" --file ./data.csv
gw sheet append <id|url> '[["Bob","88"]]'
gw sheet append <id|url> --file ./more.csv
gw sheet create "Title"                 # Create spreadsheet
gw sheet create "Title" --folder <id>
gw sheet list <id|url>                  # List tabs/sheets
```

## Output Modes

All commands support three output modes:

| Flag       | Output                     | Use case           |
|------------|----------------------------|--------------------|
| *(default)* | JSON                       | Piping, scripting  |
| `--pretty` | Human-readable table       | Terminal viewing    |
| `--quiet`  | IDs only, one per line     | Chaining commands  |

## I/O Contract

- **stdout**: Data output (JSON, table, or IDs)
- **stderr**: Errors, status messages, progress
- **Exit 0**: Success
- **Exit 1**: Any error (auth, not found, permission, network)

## URLs and IDs

All commands accept either format — paste a full Google URL or just the ID:

```bash
gw doc read https://docs.google.com/document/d/1abc.../edit
gw doc read 1abc...
```

## Error Messages

| Condition              | Message                                                    |
|------------------------|------------------------------------------------------------|
| No token               | `Error: Not authenticated. Run 'gw auth' to get started.` |
| Token expired          | `Error: Session expired. Run 'gw auth' to re-authenticate.` |
| File not found         | `Error: File not found.`                                   |
| Permission denied      | `Error: No access to this file. Make sure it's shared with your account.` |
| Network error          | `Error: Could not reach Google APIs. Check your connection.` |

## Common Agent Workflows

### Browse a Shared Drive and read a doc

```bash
gw drive shared --quiet                          # Get drive IDs
gw --drive <id> drive ls --pretty                # Browse root
gw --drive <id> drive ls --folder <folder-id>    # Drill into folder
gw doc read <doc-id>                             # Read the doc
```

### Create a doc with content in a specific folder

```bash
gw drive mkdir "Project X"                       # Create folder, get ID
gw doc create "Requirements" --folder <id>       # Create doc, get ID
gw doc append <doc-id> "# Requirements\n\n..."   # Write content
```

### Export sheet data for processing

```bash
gw sheet read <id> --quiet > data.tsv            # Tab-separated to file
gw sheet read <id> "Sheet1!A1:D100" | jq '.'     # JSON for processing
```

### Upload and organize files

```bash
gw drive mkdir "Reports" --folder <parent-id>
gw drive upload ./q4-report.pdf --folder <new-folder-id> --name "Q4 Report 2026"
```

Attribution

modbendermodbender
View sourceSee grades on GitHubMore from modbender →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Solution Architect

Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.

192 votes

Akorchak:Venture Assessment

Generate a comprehensive VC investment assessment report for a company

72 votes

Telegram Compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...

6511 votes

Stock Analysis

Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market cap), and periodic performance reports (daily/weekly/monthly/quarterly/yearly). 8 analysis dimensions for stocks, 3 for crypto. Use for stock analysis, portfolio tracking, earnings reactions, or crypto monitoring.

6511 votes

Just Fucking Cancel

Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...

6511 votes
View all in business →