📌 本文重點
google/skills是 Google 產品專用的 AI Agent 工具箱- 透過現成 skills,LLM 可直接操作 Gmail / Calendar / Drive
- 幾十行 Python 就能做出實用的 Workspace 自動化 Agent
- 重視權限、安全與流程設計,才能放心在公司環境使用
用一句話說清楚:google/skills 是一個專門替 Google 產品包好的「AI Agent 工具箱」,讓 LLM 不只會聊天,還能直接幫你操作 Gmail、Calendar、Drive 等服務。
google/skills 是什麼?可以幹嘛?
用開發者的語言講:
- 這是一組 Python 套件 + 一堆已實作好的「工具(skills)」
- 每個 skill 就是一個可被 LLM 呼叫的函式,背後已幫你處理好 Google API 認證、資料結構、錯誤處理
- 你只要把這些 skills 接到你熟悉的 Agent 框架(或自己寫個 loop),LLM 就能:
- 在 Gmail 搜尋、讀取、回覆郵件
- 在 Google Calendar 建立、更新、刪除行程
- 從 Google Drive 找檔案、讀內容
- 以及其他 Google 產品(例如 Docs / Sheets / Tasks 等)
💡 關鍵: 把繁瑣的 Google API 細節封裝成 skills,讓你專注在設計 Agent 流程,而不是處理認證與資料結構。
目前常見支援的產品與典型技能
以 GitHub 專案內容與官方範例為主,目前重點集中在 Workspace 產品:
- Gmail:搜尋郵件、讀取內容、標記已讀、建立草稿、送出郵件
- Calendar:建立事件、更新時間/地點、取消會議、查詢空檔
- Drive:列出檔案、搜尋、下載內容、讀取檔案文字(搭配 API 或其他工具)
- Tasks / Docs / Sheets:視版本與模組更新擴充,作為實驗性 skills 提供
你可以把它想成:「Google 幫你寫好一堆『LLM 可安全使用的 Google API wrapper』,你只要負責接到自己的 Agent。」
核心功能:讓 LLM 真的「動手做事」
下面用三個代表性技能,拆開來看它怎麼組成一條完整工作流。
1. Gmail:搜尋 + 回覆郵件
能做的事
- 根據條件(發信人、標題關鍵字、時間)搜尋郵件
- 讀取郵件主旨、內容、附件資訊
- 由 LLM 生成人性化回覆,再用 skill 建草稿或直接寄出
你可以怎麼用
- 自動整理每日「待回覆」郵件清單
- 給 Agent 一句自然語言指令:
- 「幫我找這週所有含『報價』的客戶信,產出一封統一回覆草稿」
2. Calendar:建立 / 修改行程
能做的事
- 建立新事件(時間、地點、參與者、線上會議)
- 更新時間或加入備註
- 查詢某段時間的空檔
你可以怎麼用
- 讓 LLM 從郵件裡抓出「時間 + 地點 + 主題」,自動變成 Calendar 事件
- 用一句話:
- 「把明天 3–5 點標成『專注工作』,不要排會議」
3. Drive:從檔案抓資料
能做的事
- 依檔名、類型、擁有者搜尋檔案
- 下載或讀取檔案(再交給 LLM 摘要)
你可以怎麼用
- 找到昨天產出的報表,請 LLM 摘要要點後寄給主管
- 自動從會議紀錄整理 action items,寫回 Google Docs
把它們串起來:一條完整工作流範例
例子:自動從郵件抓會議資訊 → 建行程 → 建備忘錄
- Agent 用 Gmail skill 搜尋主題含「Meeting」「邀請」的未讀信
- LLM 解析郵件內容,抽出:會議主題、時間、地點、參與者
- 用 Calendar skill 建立事件,寫入摘要與會議連結
- 用 Drive/Docs skill 建一份「Meeting Notes」文件,寫入議程、預先問題
你只要負責描述「整體目標」,LLM 會自己決定何時呼叫哪個 skill。你的程式碼變得像是在描述流程,而不是在寫一堆 API 呼叫細節。
💡 關鍵: 一旦 workflow 串起來,同一套 skills 可以重複組裝出不同的自動化場景,大幅降低開發新 Agent 的成本。
實戰場景:把散落在 Workspace 的動作串起來
下面是幾個可以立即實作的場景,每一個都對應到你可以「今天就試做」的腳本。
1. 個人行程助理
需求:每天早上想知道今天有哪些會議、重要信件、待辦。
可以怎麼做
- Gmail:抓「星號」或加標籤的關鍵郵件
- Calendar:列出今天所有會議與空檔
- Tasks / Drive:列出今日到期的任務與文件
- LLM 整理成一封「每日簡報」,寄到 Gmail 或 Slack
👉 可行動:用本文後面的「每日早上報告 Agent」最小範例修改即可。
2. 客服工單整理
需求:客服信都在 Gmail,手工整理太慢。
技能組合
- Gmail:抓取特定
label(例如support)的所有新信 - LLM:
- 自動分類(
bug、退款、帳號問題) - 抽出關鍵欄位(客戶、產品、影響範圍)
- Drive/Sheets skill:寫入 Google 試算表,讓團隊追蹤
3. 銷售線索追蹤
需求:商務開發信散落在 Gmail、會議安排在 Calendar、紀錄在 Drive。
技能組合
- Gmail:搜尋含「報價」「demo」關鍵字的信
- Calendar:對應已有 / 尚未安排會議的線索
- Drive:讀取對應的提案文件
- LLM:產出「Sales pipeline 摘要」,再寄給業務團隊
4. 團隊報表自動彙總
需求:每週要整理多份 Google Sheets / Docs 的數據與摘要。
技能組合
- Drive:搜尋指定資料夾裡的所有報表
- Sheets/Docs skill:抓出指定欄位/段落
- LLM:彙整成一份「本週關鍵指標 + 亮點 + 風險」
- Gmail:寄給管理層
每個場景本質上都是:用 skills 拉資料 → LLM 處理 → 再用 skills 寫回 Google 生態。
💡 關鍵: 只要 Workspace 流程是「讀資料 → 分類/摘要 → 回寫」,幾乎都能用同一套模式快速自動化。
怎麼開始:從零到一的小 Agent(Python)
這段寫給已經會基本 Python 的讀者。目標是做一個:
「每日早上 9 點,整理今天的會議與重要郵件,寄一封報告給自己」
步驟一:安裝套件與專案結構
pip install google-skills openai # 或你要用的 LLM 客戶端
一個最小專案結構可以是:
project/
main.py # 主程式,Agent 邏輯
skills_config.py # Google skills 初始化
.env # 儲存 API Key 等環境變數
步驟二:設定 Google API 憑證與權限
- 前往 https://console.cloud.google.com/
- 建立專案,啟用:
- Gmail API
- Calendar API
- (若需 Drive,就再開啟 Drive API)
- 建立 OAuth 用戶端 / Service Account 憑證
- 下載憑證 JSON,放進你的專案中,路徑寫在環境變數(例如
GOOGLE_APPLICATION_CREDENTIALS)
google/skills 會讀這些設定,幫你處理 OAuth 流程。第一次執行會要你開瀏覽器認證,通過後就可以長期使用。
步驟三:初始化 skills
# skills_config.py
from google.skills import GmailSkill, CalendarSkill
gmail_skill = GmailSkill(scopes=[
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.send",
])
calendar_skill = CalendarSkill(scopes=[
"https://www.googleapis.com/auth/calendar",
])
TOOLS = {
"gmail": gmail_skill,
"calendar": calendar_skill,
}
(實際類名與參數以官方 GitHub 為準,這裡是示意寫法。)
步驟四:寫一個最小「每日報告」 Agent
下面示意一個 純 Python + LLM + skills 的簡易 loop:
# main.py
import datetime as dt
from skills_config import TOOLS
from openai import OpenAI
client = OpenAI()
def get_today_summary():
today = dt.date.today().isoformat()
# 1) 用 Gmail skill 抓今天重要信件(實際用法依官方 API)
important_emails = TOOLS["gmail"].search_messages(
query="label:STARRED newer_than:1d"
)
# 2) 用 Calendar skill 抓今天所有事件
events = TOOLS["calendar"].list_events(
time_min=today + "T00:00:00Z",
time_max=today + "T23:59:59Z",
)
prompt = f"""
你是一個助理,請用條列整理以下資訊:
1. 今日重要郵件(寄件人 + 主題)
2. 今日會議(時間 + 標題)
重要郵件:{important_emails}
今日行程:{events}
"""
resp = client.chat.completions.create(
model="gpt-4o-mini", # 或你使用的其他 LLM
messages=[{"role": "user", "content": prompt}],
)
return resp.choices[0].message.content
def send_daily_report():
summary = get_today_summary()
TOOLS["gmail"].send_message(
to="your_email@example.com",
subject="今日工作總覽",
body=summary,
)
if __name__ == "__main__":
send_daily_report()
接下來只要用 crontab 或任一排程工具,每天早上 9 點跑一次 python main.py,你就有一個真正會「用 Gmail + Calendar 幫你工作」的小 Agent 了。
延伸玩法:接到 LangGraph / MCP / 自建 loop
google/skills 本身只是一組工具,你可以自由接到任何 Agent 框架。
常見接法比較
| 名稱 | 核心功能 | 免費方案 | 適合誰 |
|---|---|---|---|
LangGraph |
圖形化定義 Agent workflow、狀態機 | 開源 | 要做複雜流程 / 多工具協作 |
MCP |
標準化「工具伺服器」協議 | 規格開源 | 想讓多個模型共用同一組工具 |
Simple loop(自建) |
while-loop + tool call + LLM |
只要有 LLM 即可 | 想快速測試、腳本導向 |
怎麼接 google/skills?
- LangGraph:把 Gmail/Calendar skill 包成「tool node」,用 graph 描繪整條流程(例如:先讀 mail → 判斷 → 建行程)。
- MCP:把 google/skills 包成 MCP 工具伺服器,就像 Reddit 上有人把產品目錄接到 Claude 一樣,任何支援 MCP 的 Agent 都能呼叫這組 Google 工具。
- 自建 loop:如前面的
send_daily_report(),自己在程式裡控制什麼時候 call 哪個 skill。
實務注意事項:安全、權限與 rate limit
在公司環境用 google/skills,這幾點非常重要:
- 最小權限原則:
- 只開啟必要的 scopes,例如只讀 Gmail 就不要給
send權限 - 針對不同 Agent 建不同憑證,避免權限過大
- 審計與日誌:
- 記錄每次工具呼叫(誰、什麼時候、對哪個帳號)
- 公司內部可用 SIEM / 日誌系統統一管理
- Rate limit 與配額:
- Google API 有配額,批次任務要加上
sleep/retry - 測試環境與正式環境要分開憑證,避免測試爆掉正式配額
- LLM 安全邏輯:
- 對「寫入」類操作(寄信、刪除事件)加上確認步驟
- 可用 rule-based filter:例如禁止刪除某些標籤信件
總結:把「會聊天的 LLM」變成「會用 Google 的助理」
如果你已經每天活在 Gmail、Calendar、Drive 裡,google/skills 的價值很單純:
- 你不用再對著 Google API 文件苦讀,只要調用現成的 skills
- LLM 能真的幫你「按按鈕、拉資料、寫回去」,而不是只給你建議
- 從個人行程助理,到團隊報表自動化,都可以在幾十行 Python 內完成第一個版本
先從一個小腳本開始:「每日早上發報告」,跑通一次之後,你就會自然開始想把更多 Workspace 工作交給你的 Agent。
🚀 你現在可以做的事
- 打開 google/skills GitHub 專案,瀏覽支援的 skills 清單與範例程式
- 依照文中的「每日報告 Agent」範例,在本機建立一個最小 Python 專案跑通一次
- 在你的 Workspace 工作流中,挑一個「讀資料 → 整理 → 寄出」流程,試著用 google/skills + LLM 自動化它










