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.
Read, write, append, and manage Google Sheets via the Google Sheets API (Node.js SDK).
$ npx skills add CraftOS-dev/CraftBot --skill google-sheet -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install CraftOS-dev/CraftBot google-sheet --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "google-sheet" agent skill from https://github.com/CraftOS-dev/CraftBot/tree/main/skills/google-sheet into .claude/skills/google-sheet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-sheet", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/CraftOS-dev/CraftBot/tree/main/skills/google-sheetType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add CraftOS-dev/CraftBot --skill google-sheet -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install CraftOS-dev/CraftBot google-sheet --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CraftOS-dev/CraftBot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/google-sheet .agents/skills/google-sheet && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-sheet" agent skill from https://github.com/CraftOS-dev/CraftBot/tree/main/skills/google-sheet into .agents/skills/google-sheet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-sheet", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CraftOS-dev/CraftBot --skill google-sheet -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install CraftOS-dev/CraftBot google-sheet --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CraftOS-dev/CraftBot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/google-sheet .cursor/skills/google-sheet && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "google-sheet" agent skill from https://github.com/CraftOS-dev/CraftBot/tree/main/skills/google-sheet into .cursor/skills/google-sheet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-sheet", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/CraftOS-dev/CraftBot.git --path skills/google-sheet--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add CraftOS-dev/CraftBot --skill google-sheet -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install CraftOS-dev/CraftBot google-sheet --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CraftOS-dev/CraftBot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/google-sheet .gemini/skills/google-sheet && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "google-sheet" agent skill from https://github.com/CraftOS-dev/CraftBot/tree/main/skills/google-sheet into .gemini/skills/google-sheet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-sheet", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install CraftOS-dev/CraftBot google-sheetInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add CraftOS-dev/CraftBot --skill google-sheet -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/CraftOS-dev/CraftBot.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/google-sheet .github/skills/google-sheet && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "google-sheet" agent skill from https://github.com/CraftOS-dev/CraftBot/tree/main/skills/google-sheet into .github/skills/google-sheet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-sheet", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CraftOS-dev/CraftBot --skill google-sheet -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install CraftOS-dev/CraftBot google-sheet --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CraftOS-dev/CraftBot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/google-sheet .opencode/skills/google-sheet && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "google-sheet" agent skill from https://github.com/CraftOS-dev/CraftBot/tree/main/skills/google-sheet into .opencode/skills/google-sheet/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-sheet", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
google-sheetRead, write, append, and manage Google Sheets via the Google Sheets API (Node.js SDK).
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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b50970c. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodenpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
docs.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GOOGLE_SERVICE_ACCOUNT_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from CraftOS-dev/CraftBot at commit b50970c, republished under its MIT licence (© CraftOS-dev). 238 words, ~1,034 tokens.
.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.Interact with Google Sheets using a service account.
Google Cloud Console:
Configure credentials (one of these):
GOOGLE_SERVICE_ACCOUNT_KEY=/path/to/key.jsonservice-account.json or credentials.json in the skill directory~/.config/google-sheets/credentials.jsonShare sheets with the service account email (found in JSON key as client_email)
Install dependencies:
cd skills/google-sheets && npm installnode scripts/sheets.js <command> [args]| Command | Args | Description |
|---|---|---|
read | <id> <range> | Read cells |
write | <id> <range> <json> | Write data |
append | <id> <range> <json> | Append rows |
clear | <id> <range> | Clear range |
| Command | Args | Description |
|---|---|---|
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 |
| Command | Args | Description |
|---|---|---|
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 |
| Command | Args | Description |
|---|---|---|
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 |
# 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"{
"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"
}{
"style": "SOLID",
"color": {"red": 0, "green": 0, "blue": 0}
}Border styles: DOTTED, DASHED, SOLID, SOLID_MEDIUM, SOLID_THICK, DOUBLE
From URL: https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
© 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
SKILL.md and 5 other files (scripts) in skills/google-sheet of CraftOS-dev/CraftBot.
Open the folder on GitHubat commit b50970c
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Google Sheet this skillCraftOS-dev/CraftBot | 392 | — | ~1k | Automated safety check: Pass | MIT | |
| Spreadsheet Managementfreema/mcp-gsheets | 100 | — | ~486 | Automated safety check: Pass | MIT | |
| Google Workspacetaracodlabs/aiden | 849 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| XLSXrvdbreemen/OTGW-firmware | 207 | 35 repos | ~2.9k | Automated safety check: Pass | Proprietary | |
| Verify Sheets Argentoferminrp/google-sheets-argento | 151 | — | ~2.4k | Automated safety check: Pass | None | |
| XLSXK-Dense-AI/claude-scientific-writer | 2.4k | — | ~2.1k | Automated safety check: Notes | Proprietary |
freema/mcp-gsheets
This skill should be used when the user asks about Google Sheets, spreadsheets, cells, rows, columns, charts, or data tables.
taracodlabs/aiden
Gmail, Calendar, Drive, Sheets, Docs via Google API (SA / OAuth)
rvdbreemen/OTGW-firmware
Use this skill any time a spreadsheet file is the primary input or output.
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.
K-Dense-AI/claude-scientific-writer
Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm, .xltx) where the workbook file is the primary deliverable.
doccker/cc-use-exp
当代码涉及 Excel/CSV/JSON/PDF 大文件导出、批量序列化、内存里构建大对象时触发。防止 OOM、临时文件残留、同步导出阻塞 HTTP 线程等内存安全陷阱。
CraftOS-dev/CraftBot
Captures learnings, errors, and corrections to enable continuous improvement.
CraftOS-dev/CraftBot
Fetch and display BBC News stories from various sections and regions via RSS feeds.
CraftOS-dev/CraftBot
Read, search, and manage Outlook emails and calendar via Microsoft Graph API.
CraftOS-dev/CraftBot
Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image).
CraftOS-dev/CraftBot
Context retrieval layer for AI agents across users' applications.
CraftOS-dev/CraftBot
Manage and configure Telegram bots for OpenClaw. An agent skill from CraftOS-dev/CraftBot.
Works with
Categories
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).
Google Sheet fits situations like: you need to interact with spreadsheets — reading data; writing/updating cells; clearing ranges; formatting cells.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.