Back to skills
SkillHub ClubShip Full StackFull Stack

spreadsheet-manager

Imported from https://github.com/smorand/claude-config.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
0
Hot score
74
Updated
March 20, 2026
Overall rating
C2.6
Composite score
2.6
Best-practice grade
A92.0

Install command

npx @skill-hub/cli install smorand-claude-config-spreadsheet-manager

Repository

smorand/claude-config

Skill path: skills/spreadsheet-manager

Imported from https://github.com/smorand/claude-config.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: smorand.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install spreadsheet-manager into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/smorand/claude-config before adding spreadsheet-manager to shared team environments
  • Use spreadsheet-manager for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: spreadsheet-manager
description: Expert in managing Google Sheets spreadsheets. Use when user mentions "spreadsheet", "Google Sheets", "sheets", or requests spreadsheet operations (create, format, style, import CSV, export data, add formulas). Provides comprehensive operations for data manipulation, cell formatting (currency, dates, percentages), styling (colors, fonts), CSV import/export.
---

# Spreadsheet Manager

## Overview

Manage Google Sheets spreadsheets programmatically with operations for creation, data manipulation, formatting, styling, and import/export.

## Authentication Setup

First-time setup requires Google OAuth credentials:

1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Enable Google Sheets API and Google Drive API
3. Create OAuth 2.0 Client ID (Desktop application)
4. Download credentials JSON
5. Save to `~/.claude/credentials/google_credentials.json`

The skill auto-authenticates on first use and saves token at `~/.claude/credentials/google_token.json`.

## Core Operations

All commands run via: `~/.claude/skills/spreadsheet-manager/scripts/spreadsheet-manager [COMMAND] [OPTIONS]`

### Create Spreadsheet

```bash
# Blank spreadsheet
spreadsheet-manager create "Report 2025"

# From template
spreadsheet-manager create "Q1 Report" --template "1abc...xyz" --folder "1def...uvw"
```

Returns JSON with spreadsheet ID and URL.

### Add Data

```bash
# Add values (formulas parsed by default)
spreadsheet-manager add-data "1abc...xyz" "Sheet1" "A1:B2" '[["Name","Amount"],["Item1",100]]'

# Add raw text (no formula parsing)
spreadsheet-manager add-data "1abc...xyz" "Sheet1" "A1" '[["=SUM(1+1)"]]' --formula=false
```

### Import CSV

```bash
spreadsheet-manager import-csv "1abc...xyz" "Data" "/path/to/data.csv" --start "A1"
```

### Format Cells

```bash
# Currency (French format: space separator, € suffix, with decimals)
# Pattern supports up to billions: # ### ### ##0.00 €
spreadsheet-manager format-cells "1abc...xyz" "Sheet1" "B2:B100" "CURRENCY" --pattern "# ### ### ##0.00 €"

# Currency (French format: no decimals)
# Pattern supports up to billions: # ### ### ##0 €
spreadsheet-manager format-cells "1abc...xyz" "Sheet1" "B2:B100" "CURRENCY" --pattern "# ### ### ##0 €"

# Currency (US format: comma separator, $ prefix)
spreadsheet-manager format-cells "1abc...xyz" "Sheet1" "B2:B100" "CURRENCY" --pattern "$#,##0.00"

# Date
spreadsheet-manager format-cells "1abc...xyz" "Sheet1" "C2:C100" "DATE" --pattern "yyyy-mm-dd"

# Percentage
spreadsheet-manager format-cells "1abc...xyz" "Sheet1" "D2:D100" "PERCENT" --pattern "0.00%"
```

**Default currency format:** Use French format `# ### ### ##0.00 €` (space as thousand separator, € suffix, with decimals) unless otherwise specified.

**Important:** The pattern `# ### ### ##0.00 €` properly supports millions and billions with correct space separators. Each group of three `#` represents a thousands group:
- Thousands: `1 000.00 €`
- Millions: `1 000 000.00 €`
- Billions: `1 000 000 000.00 €`

For whole numbers without decimals, use `# ### ### ##0 €` instead.

Format types: NUMBER, CURRENCY, DATE, PERCENT, TIME, TEXT. See `references/format_patterns.md` for pattern examples.

### Style Cells

```bash
# Header row styling
spreadsheet-manager style-cells "1abc...xyz" "Sheet1" "A1:Z1" \
  --bg-color "#4285F4" \
  --font-color "#FFFFFF" \
  --font-size 12 \
  --bold \
  --italic
```

### List Sheets

```bash
# List all sheets in a spreadsheet
spreadsheet-manager list-sheets "1abc...xyz"
```

Returns JSON with sheet information (sheet_id, title, index).

### Create Sheet

```bash
# Create a new sheet in an existing spreadsheet
spreadsheet-manager create-sheet "1abc...xyz" "Costs"
```

### Rename Sheet

```bash
# Rename a sheet
spreadsheet-manager rename-sheet "1abc...xyz" "Sheet1" "Total cost"
```

### Add Note

```bash
# Add a note/comment to a cell
spreadsheet-manager add-note "1abc...xyz" "Costs" "A1" "This is a note with additional information"
```

Notes appear as small indicators in cells and show when hovering over the cell.

### Export

```bash
# Export to CSV
spreadsheet-manager export-csv "1abc...xyz" "Sheet1" "output.csv"
```

## Common Workflows

### Create Formatted Report

```bash
# 1. Create spreadsheet
RESULT=$(spreadsheet-manager create "Monthly Report")
ID=$(echo "$RESULT" | jq -r '.id')

# 2. Import data
spreadsheet-manager import-csv "$ID" "Sheet1" "data.csv" --start "A2"

# 3. Style header
spreadsheet-manager style-cells "$ID" "Sheet1" "A1:E1" --bg-color "#4285F4" --font-color "#FFFFFF" --bold

# 4. Format currency columns
spreadsheet-manager format-cells "$ID" "Sheet1" "C:E" "CURRENCY"

# 5. Export
spreadsheet-manager export-csv "$ID" "Sheet1" "report.csv"
```

### Copy Template and Populate

```bash
# Copy template
RESULT=$(spreadsheet-manager create "Project X" --template "TEMPLATE_ID")
ID=$(echo "$RESULT" | jq -r '.id')

# Add data
spreadsheet-manager add-data "$ID" "Data" "A2:B10" "[[...]]"
```

## Advanced Operations

For operations beyond core script (sheet management, borders, conditional formatting, charts, etc.), see `references/advanced_operations.md`.

These require direct use of Google Sheets API `batchUpdate` method with specific request types.

## Performance Tips

- Batch operations: Combine multiple API calls when possible
- CSV import: Use for large datasets (more efficient than cell-by-cell)
- Template copying: Faster than creating + formatting
- Format after data: Add data first, then apply formatting

## API Limits

- Rate limit: 100 requests per 100 seconds per user
- Max cells per spreadsheet: 10,000,000
- Max columns per sheet: 18,278

Batch multiple operations in single `batchUpdate` call to reduce API usage.

## Troubleshooting

**Authentication errors**: Verify `google_credentials.json` exists and has correct scopes

**Permission errors**: Ensure user has edit access to spreadsheet

**Invalid range**: Use A1 notation (e.g., "A1:B10"), verify sheet name is correct

**API quota exceeded**: Wait and retry, or batch operations to reduce calls

## References

- [Format Patterns](references/format_patterns.md) - Number, currency, date format patterns
- [Advanced Operations](references/advanced_operations.md) - Sheet management, borders, charts, pivots
spreadsheet-manager | SkillHub