ferosai/feros/google-sheets

Claude Code and agent skill by ferosai/feros

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Read from or append rows to Google Sheets

Install

npx vskill@latest install ferosai/feros/google-sheets

SKILL.md

The same SKILL.md was published earlier as amrshah/callferos-test/google-sheets.

Google Sheets Integration Skill

When to use

When the user wants their voice agent to log data to or read from Google Sheets during a phone call. Common triggers:

  • "log calls to a Google Sheet"
  • "save form responses to sheets"
  • "check availability in my spreadsheet"

What to do

  1. Check connection via check_connection("google_sheets").
  1. If not connected: Use secret("google_sheets") in tool scripts.

The system will automatically emit the correct action card based on the platform configuration. Do NOT emit action cards manually.

  1. Discover spreadsheets (Google supports auto-discovery):
  • api_call("google_sheets", "GET", "https://www.googleapis.com/drive/v3/files?q=mimeType='application/vnd.google-apps.spreadsheet'&fields=files(id,name)") → list spreadsheets
  • api_call("google_sheets", "GET", "https://sheets.googleapis.com/v4/spreadsheets/{id}?fields=sheets.properties") → list sheet tabs
  1. Use the real spreadsheet ID and sheet name in the tool config.
  1. If discovery fails, ask the user for the spreadsheet URL (they can

copy-paste it from their browser — the ID is between /d/ and /edit).

Example tool config

json
{
"name": "google_sheets.append_row",
"description": "Log caller information to the Leads spreadsheet",
"params": [
{"name": "Name", "description": "Caller's full name", "type": "string", "required": true},
{"name": "Phone", "description": "Caller's phone number", "type": "string", "required": true},
{"name": "Notes", "description": "Call summary", "type": "string", "required": false}
],
"script": "let key = secret('google_sheets');\nlet resp = http_post_h('https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1:append?valueInputOption=USER_ENTERED', {values: [[Name, Phone, Notes]]}, {'Authorization': 'Bearer ' + key, 'Content-Type': 'application/json'});\nif (resp.status >= 200 && resp.status < 300) { return 'Recorded.'; }\nthrow new Error(`Google Sheets ${resp.status}: ${resp.body}`);",
"side_effect": true
}

IMPORTANT: Replace SPREADSHEET_ID and Sheet1 with real values obtained from api_call discovery.

Rules

  • NEVER hardcode API keys in tool headers
  • NEVER ask for credentials in chat
  • Always use secret("google_sheets") for credentials
  • PREFER using api_call to discover the spreadsheet ID and sheet name
  • For script tools, treat non-2xx HTTP responses as failures and throw using resp.status/resp.body instead of returning a plain-text error string

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/ferosai/feros/google-sheets/badge)](https://verified-skill.com/skills/ferosai/feros/google-sheets)

Something wrong with this skill or its page? Tell us.