Google sheets
Marketing skills for AI agents — paid ads, social media, SEO, competitor research, creative generation, email, analytics, and more. Powered by Hyper MCP.
npx -y skills add hyperfx-ai/marketing-skills --skill google-sheetsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Safe workflow for reading, mapping, and writing Google Sheets without shifting columns or overwriting the wrong ranges. Use when the user wants to read, update, or append spreadsheet data, fix sheet structure, or sync data into Google Sheets.
SKILL.md
4.4 KB, as published. Nobody here has run it
Google Sheets Writing
Use this skill whenever you need to write structured data into an existing spreadsheet.
Requirements
- Hyper MCP installed and connected. https://app.hyperfx.ai/mcp
- Google Sheets integration enabled at https://app.hyperfx.ai/apps.
Core Rule
Never write to Google Sheets from guessed column letters alone.
Always:
- inspect the workbook and target worksheet
- find the real header row
- map fields by header name
- verify the destination range
- write
- read back sample rows to confirm alignment
Critical Failure Modes To Avoid
- Do not assume row 1 is the real header row.
- Do not assume column
Ais the first business/data column. - Do not treat helper cells like
Total, notes, formulas, merged labels, or spacer columns as real headers. - Do not overwrite a broad range before checking existing data and layout.
- Do not claim success until you read back the written cells.
Required Workflow
Step 1: Inspect workbook structure
Start with:
google_sheets_getgoogle_sheets_worksheets_listif needed
Confirm:
- worksheet title
- row/column counts
- whether there are multiple candidate tabs
Step 2: Read enough context to find the real headers
Read more than one row when structure is unknown.
Typical pattern:
google_sheets_values_get(..., range="Sheet1!A1:Z5")
Look for:
- true column labels
- helper columns before the real table
- title rows, totals, formulas, blank separators
If the first row contains labels like Total, Notes, or other non-record metadata, do not anchor your write range to that row alone.
Step 3: Build a header map
Map your source fields to actual sheet headers by name, not memory.
Example:
- source field
business_name-> sheet headerBusiness Name - source field
contact_email-> sheet headerOwner (s) Email
If a required header is missing or ambiguous, stop and ask the user instead of guessing.
Step 4: Choose the safest write strategy
Use:
google_sheets_values_updatefor one verified contiguous rangegoogle_sheets_values_batch_updatefor multiple verified ranges
Prefer narrow writes over large blanket writes.
If appending records into a table that already has fixed columns, compute the exact destination columns from the header map first.
Write Rules
- Only write columns you have positively mapped.
- Leave unrelated columns untouched.
- When a sheet contains helper columns before the table, start writing at the true mapped column, not column
A. - If a field is intentionally blank, write a blank value only to that verified column.
- Use
RAWunless the user explicitly wants formulas or Sheets parsing behavior.
Verification Is Mandatory
Immediately after writing:
- read back the exact written range
- inspect at least 2-3 sample rows
- confirm each field landed under the intended header
If the read-back is misaligned, acknowledge it and correct it before reporting success.
Recommended Tool Pattern
google_sheets_getgoogle_sheets_values_geton a header-discovery range such asA1:Z5- optional
google_sheets_values_batch_getfor existing data + destination area google_sheets_values_updateorgoogle_sheets_values_batch_updategoogle_sheets_values_geton the written range for verification
Example Mindset
Bad:
- “I saw
Business Namenear the start, so I will writeA2:F51.”
Good:
- “The first visible row includes
Total: 7in columnA, whileBusiness Nameis actually in columnB, so I will map the write range fromBonward and verify it after writing.”