apps/desktop/bundled-skills/google-sheets/SKILL.md
Automate Google Sheets interactions through browser automation - create spreadsheets, enter data, apply formulas, and format cells.
npx skillsauth add thilak0105/neoverse-26 google-sheetsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides patterns and best practices for automating Google Sheets interactions through browser automation. Google Sheets is a canvas-based web app — standard DOM element references are often unreliable; prefer keyboard shortcuts and coordinate clicks.
Cmd+Z immediately before doing anything else.Starting from scratch:
https://sheets.google.comOpening an existing file:
https://drive.google.com, search for the file, and open itBefore acting on any sheet:
Cmd+Home to go to A1 and orient yourselfBefore writing anything, read what's already there:
browser_get_text — Extracts cell text content; useful for reading values without clickingCmd+End — Jumps to the last cell with data; tells you the extent of the datasetCmd+Home — Returns to A1To read a specific cell's value: Click the cell and read the formula bar (visible in screenshot), or use browser_get_text and parse the result.
DO NOT type cell references into the Name Box — it often enters text into cells instead of navigating.
Preferred navigation methods:
| Goal | Method |
|------|--------|
| Go to A1 | Cmd+Home |
| Go to start of row | Home |
| Go to last data cell | Cmd+End |
| Move right | Tab |
| Move down | Enter |
| Move by one cell | Arrow keys |
| Select entire row | Click the row number on the left (e.g., "2") |
| Select entire column | Click the column letter at top (e.g., "A") |
| Select a range | Click start cell, then Shift+click end cell |
| Select column range (for resize) | Click first column letter, Shift+click last |
Confirming current cell location:
1. Click on the starting cell (e.g., A1)
2. Type value → Tab (moves right)
3. Type value → Tab → Tab → ...
4. At end of row: press Enter (moves to next row, returns to column where you started)
5. Press Home to ensure you're at column A
6. Repeat
1. Click the target cell
2. Type the value
3. Press Enter or Tab to confirm (don't leave it unconfirmed)
Cmd+VAvoid:
1. Click target cell
2. Type = followed by the formula (e.g., =SUM(A1:A10))
3. Press Enter to confirm
| Formula | Purpose |
| --------------------------- | --------------------- |
| =SUM(A1:A10) | Sum a range |
| =AVERAGE(B2:B20) | Average |
| =COUNT(C2:C100) | Count non-empty cells |
| =IF(A1>10,"Yes","No") | Conditional |
| =VLOOKUP(key,range,col,0) | Lookup |
| =A1&" "&B1 | Concatenate cells |
| =TODAY() | Today's date |
1. Click the cell with the formula
2. Press Cmd+C to copy
3. Select the range below (click first cell, Shift+click last)
4. Press Cmd+V to paste
Or: click the cell, then double-click the small blue square in the cell's bottom-right corner (auto-fill handle) — this fills down to match adjacent data.
1. Select cell(s) or row (click row number)
2. Cmd+B (bold), Cmd+I (italic), Cmd+U (underline)
1. Click the row number to select the entire row
2. Cmd+B for bold
3. Click the Fill Color button (paint bucket in toolbar) → choose a color
4. View > Freeze > 1 row (so header stays visible when scrolling)
Format > Number > choose format (Currency, Percent, Date, etc.)
Format > Wrapping > Wrap (or Overflow / Clip)
1. Click first column letter, Shift+click last column letter to select range
2. Right-click on any selected column header
3. "Resize columns A - X"
4. Choose "Fit to data" → OK
Sheet tabs appear at the bottom of the screen.
| Action | Method | | ----------------- | ------------------------------------------ | | Switch to a sheet | Click its tab at the bottom | | Add a new sheet | Click the + button at the bottom left | | Rename a sheet | Double-click the tab, type new name, Enter | | Duplicate a sheet | Right-click the tab → "Duplicate" | | Delete a sheet | Right-click the tab → "Delete" |
Always confirm which sheet tab is active before reading or writing data.
| Menu | Useful For | | ---------------------------- | ---------------------- | | View > Freeze | Freeze rows/columns | | Format > Number | Number/date formatting | | Format > Wrapping | Text wrap in cells | | Data > Sort range | Sort by column | | Data > Filter | Add filter dropdowns | | Data > Split text to columns | Split delimited text | | Insert > Row / Column | Insert rows or columns |
| Action | Shortcut |
| -------------------- | ---------------------------------------- |
| Bold | Cmd+B |
| Italic | Cmd+I |
| Undo | Cmd+Z |
| Redo | Cmd+Shift+Z |
| Select All | Cmd+A |
| Copy | Cmd+C |
| Paste | Cmd+V |
| Go to A1 | Cmd+Home |
| Go to last data cell | Cmd+End |
| Go to start of row | Home |
| Move right | Tab |
| Move down | Enter |
| Delete cell contents | Delete |
| Find & Replace | Cmd+H |
| Insert row above | Cmd+Option+Shift+= (with row selected) |
Something went wrong — act immediately:
Cmd+Z — Undo the last action (do this before anything else)Cmd+Home to go to A1Common problems and fixes:
| Problem | Fix |
|---------|-----|
| Text entered into wrong cell | Cmd+Z, then navigate correctly and re-enter |
| Formula shows as text (starts with = but not computing) | Click cell, press F2 to edit, confirm cell is not formatted as plain text |
| Dialog appeared unexpectedly | Screenshot to read it, then press Escape or respond appropriately |
| Sheet opened in new browser tab | Use browser_tabs / tabs tool to switch to the new tab |
| Cell stuck in edit mode | Press Escape to cancel edit, or Enter to confirm |
Google Sheets auto-saves continuously. You do not need to manually save.
ref_id) often don't work for cells. Use coordinate clicks instead.testing
Enforces explicit user permission before any file deletion. Activates when you're about to use rm, unlink, fs.rm, or any operation that removes files from disk. MUST be followed for all delete operations.
tools
Browser automation via MCP tools. ALWAYS use these tools for ANY web task - navigating sites, clicking, typing, filling forms, taking screenshots, or extracting data. This is the ONLY way to control the browser.
tools
# Complete Task This tool signals task completion. The agent MUST call this tool to finish any task. ## Usage Call `complete_task` with: - `status`: "success", "blocked", or "partial" - `original_request_summary`: Restate what was asked (forces review) - `summary`: What you accomplished - `remaining_work`: (if blocked/partial) What's left to do ## Statuses - **success** — All parts of the request completed - **blocked** — Hit an unresolvable blocker, cannot continue - **partial** — Complet
tools
Ask users questions via the UI. Use when you need clarification, user preferences, or confirmation before proceeding. The user CANNOT see CLI output - this tool is the ONLY way to communicate with them.