Agent skill

Google Sheet

by CraftOS-dev in CraftOS-dev/CraftBot

Read, write, append, and manage Google Sheets via the Google Sheets API (Node.js SDK).

MITAuto-check passedDocuments & Office

Install Google Sheet

skills CLI
$ npx skills add CraftOS-dev/CraftBot --skill google-sheet -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CraftOS-dev/CraftBot google-sheet --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CraftOS-dev/CraftBot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-sheet .claude/skills/google-sheet && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
google-sheet
GitHub stars
392
Token cost
~1k tokens
SKILL.md length
238 words
Files
6 (incl. scripts)
Skills in repo
89
Repo updated
First seen
Licence
MIT

At a glance

Read, write, append, and manage Google Sheets via the Google Sheets API (Node.js SDK).

  • Works in 4 steps: Google Cloud Console → Configure credentials (one of these) → Share sheets with the service account… → …
  • You need to interact with spreadsheets — reading data
  • SKILL.md covers Setup (One-time), Usage, Commands and Examples, plus 4 more sections
  • Runs JavaScript scripts from its folder; calls node and npm; reaches docs.google.com; needs GOOGLE_SERVICE_ACCOUNT_KEY

What it does

Google Sheet is an agent skill from CraftOS-dev/CraftBot. Read, write, append, and manage Google Sheets via the Google Sheets API (Node.js SDK). Use when you need to interact with spreadsheets — reading data, writing/updating cells, appending rows, clearing ranges, formatting cells, managing sheets. Requires a Google Cloud service account with Sheets API enabled.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `_meta.json`, `env_example.md` and `package-lock.json`).

It sits in Documents & Office, covering Excel spreadsheets. It works with Google Sheets, Google Cloud and Node.js. The repository describes itself as: One agent. Every kind of work. The licence is MIT.

When your agent uses it

  • You need to interact with spreadsheets — reading data
  • Writing/updating cells
  • Clearing ranges
  • Formatting cells

Example prompts

  • “/google-sheet”

Requirements

  • Node.js
  • A credential in GOOGLE_SERVICE_ACCOUNT_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Google Cloud Console
  2. Configure credentials (one of these)
  3. Share sheets with the service account email (found in JSON key as client_email)
  4. Install dependencies

What it can do on your machine

Read from SKILL.md and the folder at commit b50970c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • docs.google.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GOOGLE_SERVICE_ACCOUNT_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Google Sheet loads about 1k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 238 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from CraftOS-dev/CraftBot at commit b50970c, republished under its MIT licence (© CraftOS-dev). 238 words, ~1,034 tokens.

Download SKILL.mdSave it as .claude/skills/google-sheet/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
google-sheet
description
Read, write, append, and manage Google Sheets via the Google Sheets API (Node.js SDK). Use when you need to interact with spreadsheets — reading data, writing/updating cells, appending rows, clearing ranges, formatting cells, managing sheets. Requires a Google Cloud service account with Sheets API enabled.

Google Sheets Skill

Interact with Google Sheets using a service account.

Setup (One-time)

  1. Google Cloud Console:

    • Create/select a project
    • Enable "Google Sheets API"
    • Create a Service Account (IAM → Service Accounts → Create)
    • Download JSON key
  2. Configure credentials (one of these):

    • Set env: GOOGLE_SERVICE_ACCOUNT_KEY=/path/to/key.json
    • Place service-account.json or credentials.json in the skill directory
    • Place in ~/.config/google-sheets/credentials.json
  3. Share sheets with the service account email (found in JSON key as client_email)

  4. Install dependencies:

    bash
    cd skills/google-sheets && npm install

Usage

bash
node scripts/sheets.js <command> [args]

Commands

Data Operations
CommandArgsDescription
read<id> <range>Read cells
write<id> <range> <json>Write data
append<id> <range> <json>Append rows
clear<id> <range>Clear range
Formatting
CommandArgsDescription
format<id> <range> <formatJson>Format cells
getFormat<id> <range>Get cell formats
borders<id> <range> [styleJson]Add borders
copyFormat<id> <source> <dest>Copy format between ranges
merge<id> <range>Merge cells
unmerge<id> <range>Unmerge cells
Layout
CommandArgsDescription
resize<id> <sheet> <cols|rows> <start> <end> <px>Resize columns/rows
autoResize<id> <sheet> <startCol> <endCol>Auto-fit columns
freeze<id> <sheet> [rows] [cols]Freeze rows/columns
Sheet Management
CommandArgsDescription
create<title>Create spreadsheet
info<id>Get metadata
addSheet<id> <title>Add sheet tab
deleteSheet<id> <sheetName>Delete sheet tab
renameSheet<id> <oldName> <newName>Rename sheet tab

Examples

bash
# Read data
node scripts/sheets.js read "SPREADSHEET_ID" "Sheet1!A1:C10"

# Write data
node scripts/sheets.js write "SPREADSHEET_ID" "Sheet1!A1:B2" '[["Name","Score"],["Alice",95]]'

# Format cells (yellow bg, bold)
node scripts/sheets.js format "SPREADSHEET_ID" "Sheet1!A1:B2" '{"backgroundColor":{"red":255,"green":255,"blue":0},"textFormat":{"bold":true}}'

# Copy format from one range to another
node scripts/sheets.js copyFormat "SPREADSHEET_ID" "Sheet1!A1:C3" "Sheet1!D1:F3"

# Add borders
node scripts/sheets.js borders "SPREADSHEET_ID" "Sheet1!A1:C3"

# Resize columns to 150px
node scripts/sheets.js resize "SPREADSHEET_ID" "Sheet1" cols A C 150

# Auto-fit column widths
node scripts/sheets.js autoResize "SPREADSHEET_ID" "Sheet1" A Z

# Freeze first row and column
node scripts/sheets.js freeze "SPREADSHEET_ID" "Sheet1" 1 1

# Add new sheet tab
node scripts/sheets.js addSheet "SPREADSHEET_ID" "NewSheet"

Format Options

json
{
  "backgroundColor": {"red": 255, "green": 255, "blue": 0},
  "textFormat": {
    "bold": true,
    "italic": false,
    "fontSize": 12,
    "foregroundColor": {"red": 0, "green": 0, "blue": 0}
  },
  "horizontalAlignment": "CENTER",
  "verticalAlignment": "MIDDLE",
  "wrapStrategy": "WRAP"
}

Border Style

json
{
  "style": "SOLID",
  "color": {"red": 0, "green": 0, "blue": 0}
}

Border styles: DOTTED, DASHED, SOLID, SOLID_MEDIUM, SOLID_THICK, DOUBLE

Finding Spreadsheet ID

From URL: https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit

Troubleshooting

  • 403 Forbidden: Sheet not shared with service account email
  • 404 Not Found: Wrong spreadsheet ID or sheet name

© CraftOS-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts) in skills/google-sheet of CraftOS-dev/CraftBot.

  • SKILL.md
  • _meta.json
  • env_example.md
  • package-lock.json
  • package.json
  • scripts/sheets.js

Open the folder on GitHubat commit b50970c

Compare with similar skills

Google Sheet next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Google Sheet compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Sheet this skillCraftOS-dev/CraftBot392—~1kAutomated safety check: PassMIT
Spreadsheet Managementfreema/mcp-gsheets100—~486Automated safety check: PassMIT
Google Workspacetaracodlabs/aiden849—~1.1kAutomated safety check: PassApache-2.0
XLSXrvdbreemen/OTGW-firmware20735 repos~2.9kAutomated safety check: PassProprietary
Verify Sheets Argentoferminrp/google-sheets-argento151—~2.4kAutomated safety check: PassNone
XLSXK-Dense-AI/claude-scientific-writer2.4k—~2.1kAutomated safety check: NotesProprietary

Similar skills

  • Spreadsheet Management

    freema/mcp-gsheets

    This skill should be used when the user asks about Google Sheets, spreadsheets, cells, rows, columns, charts, or data tables.

    100 GitHub stars~486 tokensUpdated 3 days ago
    Documents & OfficeAuto-check passed
  • Google Workspace

    taracodlabs/aiden

    Gmail, Calendar, Drive, Sheets, Docs via Google API (SA / OAuth)

    849 GitHub stars~1.1k tokensUpdated 24 days ago
    Documents & OfficeAuto-check passed
  • XLSX

    rvdbreemen/OTGW-firmware

    Use this skill any time a spreadsheet file is the primary input or output.

    207 GitHub starsUsed in 35 repos~2.9k tokens
    Documents & OfficeAuto-check passed
  • Verify Sheets Argento

    ferminrp/google-sheets-argento

    Verify Google Sheets Argento locally: launch the Node build/Jest stack and the static docs site, then prove formula behavior (DOLAR, CEDEAR, caución) and the public CEDEAR JSON.

    151 GitHub stars~2.4k tokensUpdated 20 days ago
    Documents & OfficeAuto-check passed
  • XLSX

    K-Dense-AI/claude-scientific-writer

    Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm, .xltx) where the workbook file is the primary deliverable.

    2.4k GitHub stars~2.1k tokensUpdated 7 days ago
    Documents & OfficeAuto-check: notes
  • Streaming Export Safety

    doccker/cc-use-exp

    当代码涉及 Excel/CSV/JSON/PDF 大文件导出、批量序列化、内存里构建大对象时触发。防止 OOM、临时文件残留、同步导出阻塞 HTTP 线程等内存安全陷阱。

    1.1k GitHub stars~1.9k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed

More from CraftOS-dev/CraftBot

All 89 skills in this repo
  • Self Improvement

    CraftOS-dev/CraftBot

    Captures learnings, errors, and corrections to enable continuous improvement.

    392 GitHub starsUsed in 5 repos~4.9k tokens
    Auto-check passed
  • Bbc News

    CraftOS-dev/CraftBot

    Fetch and display BBC News stories from various sections and regions via RSS feeds.

    392 GitHub starsUsed in 2 repos~555 tokens
    Auto-check passed
  • Outlook

    CraftOS-dev/CraftBot

    Read, search, and manage Outlook emails and calendar via Microsoft Graph API.

    392 GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • Nano Banana Pro

    CraftOS-dev/CraftBot

    Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image).

    392 GitHub starsUsed in 6 repos~1.4k tokens
    Auto-check passed
  • Airweave

    CraftOS-dev/CraftBot

    Context retrieval layer for AI agents across users' applications.

    392 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Telegram Bot Manager

    CraftOS-dev/CraftBot

    Manage and configure Telegram bots for OpenClaw. An agent skill from CraftOS-dev/CraftBot.

    392 GitHub stars~836 tokensUpdated today
    Auto-check passed

Questions about Google Sheet

What does Google Sheet do?

Read, write, append, and manage Google Sheets via the Google Sheets API (Node.js SDK). Google Sheet is an agent skill from CraftOS-dev/CraftBot.js SDK).

When should I use Google Sheet?

Google Sheet fits situations like: you need to interact with spreadsheets — reading data; writing/updating cells; clearing ranges; formatting cells.

How do I install Google Sheet in Claude Code?

Run `npx skills add CraftOS-dev/CraftBot --skill google-sheet -a claude-code`. Or copy the skill folder (skills/google-sheet in CraftOS-dev/CraftBot) into .claude/skills/google-sheet in your project. Claude Code loads it when a task matches its description.

How do I install Google Sheet in Codex?

Run `npx skills add CraftOS-dev/CraftBot --skill google-sheet -a codex`. Or copy the skill folder (skills/google-sheet in CraftOS-dev/CraftBot) into .agents/skills/google-sheet in your project. Codex loads it when a task matches its description.

Can I use Google Sheet in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CraftOS-dev/CraftBot --skill google-sheet -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-sheet, .gemini/skills/google-sheet, .github/skills/google-sheet and .opencode/skills/google-sheet in your project.

What does Google Sheet need to run?

Going by SKILL.md and its folder, Google Sheet needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node and npm) and credentials named GOOGLE_SERVICE_ACCOUNT_KEY. Our summary lists: Node.js; A credential in GOOGLE_SERVICE_ACCOUNT_KEY.

Does Google Sheet access the network?

SKILL.md names 1 domain. In commands or code: docs.google.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Google Sheet safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Google Sheet use?

Google Sheet is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Sheet use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Google Sheet?

Skills that share tags, products or a category with Google Sheet: Spreadsheet Management (freema/mcp-gsheets, 100 stars), Google Workspace (taracodlabs/aiden, 849 stars), XLSX (rvdbreemen/OTGW-firmware, 207 stars) and Verify Sheets Argento (ferminrp/google-sheets-argento, 151 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Google Sheet?

CraftOS-dev (a GitHub user) maintains it in CraftOS-dev/CraftBot, which has 392 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on October 7, 2026.

Source: CraftOS-dev/CraftBot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.