Google Sheets
Use this skill to keep spreadsheet work grounded in the exact spreadsheet, sheet, range, headers, and formulas that matter.
Spreadsheets clarification questions
- Ask for new spreadsheets or major rewrites. Skip this for edits/conversions.
- Inspect prompt, conversation history, existing file and relevant references to figure out what questions to ask.
- Questions should cover topic, audience, and purpose and come before planning
- When asking questions, focus on consequential dimensions not stated or clearly implied.
- When the artifact is a new analysis, focus on which definition, metric, or lens should drive conclusions.
- Unresolved reference labels or question marks are user-owned: ask, don't infer.
- Once topic, audience, and purpose are clear, proceed without asking. Choose emphasis, format, length, style, details. Use placeholders for missing facts.
Use request_user_input once if available, else ask via a message. Have the best suggestion first. Append (Recommended) to its label. Have another good alternative second. Have Use your judgment as the third and final option. If the request times out or returns no answer, proceed using your best judgment; do not ask again.
Purpose Of This File
This file is intentionally minimal and only covers:
- routing to the right spreadsheet workflow
- stateful operation and mandatory routing to reference files
- live-read/search safety for direct connector calls
Detailed editing, formula, chart, upload, live-read/search, and batch-update rules live in references/.
Latency is not a constraint for this skill, so always read the relevant reference files before performing the task.
If the user has not provided explicit style direction, read references/style-profiles.md and apply the appropriate Google Sheets destination default before authoring workbook formatting.
Default Routing
- New Google Sheet from a native Google Sheets reference or template URL: copy the entire source workbook with the Drive file-copy action, then trim or repair the copy. Treat a deep-linked
gidas the initial view, not copy scope. Duplicate one source sheet only when the user explicitly requests a single-sheet extraction. Do not rebuild through.xlsxwhen chips, validation, formulas, rich links, or formatting matter. - Other new Google Sheets creation: Inspect the available skills and plugins for the registered
Spreadsheetscapability. It may be exposed as the$Spreadsheetsskill, the@Spreadsheetsplugin, or the plugin URIplugin://spreadsheets@openai-primary-runtime. If found, load and follow its instructions.- If a system spreadsheet plugin or skill is installed, YOU MUST use it to create a local
.xlsx. Then import the.xlsxinto Drive as a native Google Sheets spreadsheet. For table-like option/list/dropdown columns, seed a valid row and add native tableDROPDOWNcolumns post-import. - If neither skill is installed, create the spreadsheet directly with Google Sheets MCP.
- If a system spreadsheet plugin or skill is installed, YOU MUST use it to create a local
- Existing Google Sheets edits: use Google Sheets MCP directly.
Do not reference the local .xlsx in the final answer. Your final answer includes the Google Spreadsheet link only.
File Safety
Treat a provided Google Sheet as read-only unless the user explicitly asks to edit that file. When a task uses the Sheet as a reference, template, similar structure, or data source, copy it or create a separate Sheet, then verify the output spreadsheet ID differs before writing.
Canonical Workflow Bias
Prefer one simple proven workflow over a large tree of recovery branches. When a task matches a known successful pattern, follow that pattern directly instead of re-evaluating every possible fallback path. Do not let accumulated edge-case guardrails turn a straightforward Sheets task into a long blocker-analysis exercise.
For sheet creation and editing tasks, prefer this sequence when viable:
- Gather the required source material.
- Pick the correct default routing.
- Establish the sheet checklist or sheet plan.
- Build or edit the sheet.
- Verify the sheet is clean, complete, native, and scannable per
references/reference-visual-quality.md. - Stop once the verified workflow has succeeded.
If a simple verified workflow is viable, use it. Do not drift into speculative alternate paths.
Required Read Order (No Skips)
For every route that creates, imports, or edits a Google Sheet, read references/reference-visual-quality.md before final verification.
If Default Routing uses native Google Sheets reference-follow creation:
- Read
references/reference-edit-workflow.md - Read
references/reference-live-read-search-safety.md - Read
references/reference-native-cell-structure.md - Read
references/reference-batch-update-recipes.md
If Default Routing uses the system spreadsheet plugin or skill like [@spreadsheets](plugin://spreadsheets@openai-primary-runtime) or $Spreadsheets:
- Read the plugin/skill, e.g.
[@spreadsheets](plugin://spreadsheets@openai-primary-runtime) - Read
references/reference-import-spreadsheet-to-native-sheets.md - If the new Sheet has explicit or reference-derived option/list/dropdown columns, read
references/reference-batch-update-recipes.mdbefore the post-import table batch update.
If Default Routing uses connector edit workflow:
- Read
references/reference-edit-workflow.md. - Before any direct live range read, cell read, or
search_spreadsheet_rows, readreferences/reference-live-read-search-safety.md. - Read every task-specific file from the matrix below.
- If the task spans multiple categories, read all matching files.
- If uncertain, read every file in
references/.
Do not execute content edits until the required references are read in the current turn.
Final Answer Requirement
Unless Default Routing selected native Google Sheets reference-follow creation, if the registered Spreadsheets capability like the [@spreadsheets](plugin://spreadsheets@openai-primary-runtime) plugin is available, you MUST use one of them to create a local .xlsx and import it to Google Drive with upload_mode: "native_google_sheets".
Even though you created a local .xlsx, do not cite the local path in the final answer. The final answer cites only the Google Spreadsheet link.
Spreadsheets location
Use/create ChatGPT at My Drive root. Place new spreadsheets created from scratch or from a template there.
Edit existing spreadsheets in place.
Respect user-specified locations.
Connector Load Checklist
- Confirm the exact target Google Sheet URL or spreadsheet id before editing an existing spreadsheet.
- If the user only gives a title or title keywords, use the connector/app search path to identify candidate spreadsheets before asking for a URL.
- Resolve and record the spreadsheet id, target sheet names, and
sheetIdvalues. - Read spreadsheet metadata before deeper reads or writes.
- For direct live range reads, cell reads, or
search_spreadsheet_rows, use exact visible tab names from metadata, bounded ranges, and the recovery rules inreferences/reference-live-read-search-safety.md. Do not guessSheet1, scan whole grids, or retry oversized row searches. - Before each edit pass, identify the exact sheet, range, headers, formulas, and validation constraints being edited through connector reads.
- Re-read target cells before writing when live values, formulas, formatting, or validation could affect the write.
Task To Reference Map
| Task area | Required reference file |
|---|---|
| Existing spreadsheet edit workflow, grounding, validation-backed cells, output conventions, and write planning | references/reference-edit-workflow.md |
| Direct live range reads, cell reads, row searches, tab/range recovery, and oversized search avoidance | references/reference-live-read-search-safety.md |
| Adding or inserting rows or columns beside populated data while preserving validation, chips, formulas, and formatting | references/reference-native-cell-structure.md |
| Reference/template following from a provided Google Sheet | references/reference-native-cell-structure.md |
Raw Sheets write shapes and example batch_update bodies |
references/reference-batch-update-recipes.md |
| Importing a local spreadsheet and upgrading intended tables to native Sheets tables | references/reference-import-spreadsheet-to-native-sheets.md |
| Formula design, repair, rollout, or syntax refresh | references/reference-formula-patterns.md |
| Chart creation, repair, chart-spec recall, or repositioning | references/reference-chart-recipes.md |
| Unspecified styling for native Google Sheets destinations | references/style-profiles.md |