SuperAPI AI 工具集

google-spaces-updates

办公与效率

查看项目

更新于 10-15 12:47

技能介绍

用途

Google Spaces Updates 用于将团队更新发布到 Google Chat Space,通过 webhook 完成发送。它覆盖部署通知、Bug 修复、功能发布和提问等常见团队沟通场景。

主要能力

  • 支持多种更新类型:deployment(部署后)、bugfix(修复 Bug 后)、feature(功能完成后)、question(需要团队输入时)、custom(其他情况)。
  • 从项目目录下的 .claude/settings.json 读取配置,包括项目名称、仓库、团队 chat_webhook 和成员列表。
  • 自动收集上下文:最近提交(git log --oneline -3)、当前分支(git branch --show-current)、变更文件(git diff --name-only HEAD~1)。
  • 提供消息模板:部署、Bug 修复、功能完成、提问、自定义。
  • 遵循 Google Chat 格式规则:使用 bold 表示强调(非 markdown 粗体),使用 italic 表示次要文本,换行正常生效,消息保持简洁并包含可操作链接。

使用方式

首次设置

运行 /google-spaces-updates setup,或手动创建 .claude/settings.json:

{ "project": { "name": "my-project", "repo": "github.com/org/my-project" }, "team": { "chat_webhook": "https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?key=KEY&token=TOKEN", "members": ["Deepinder", "Joshua", "Raquel"] } }

设置命令会询问 Google Spaces webhook URL、项目名称(或从 package.json/repo 检测)、团队成员(可选),然后创建配置文件,并在需要时将 .claude/ 加入 .gitignore。

发布更新

可用自然语言触发,例如:

  • "Post deployment update to team"
  • "Tell the team about the new feature"
  • "Ask the team about the auth approach"

工作流程

  1. 检查项目设置:查找当前项目目录下的 .claude/settings.json。若未找到,询问用户是否设置,并需要团队 Google Space 的 webhook URL,然后按 templates/settings-template.json 创建文件。
  2. 确定更新类型:根据命令或上下文选择 deployment、bugfix、feature、question 或 custom。
  3. 收集上下文:获取最近提交、当前分支、变更文件,并结合对话中的信息(刚完成的内容、预览/生产 URL、相关文件路径、需要知晓的人)。
  4. 格式化消息:使用 templates/ 目录中的对应模板。
  5. 发布到 webhook:

curl -X POST "WEBHOOK_URL"
-H "Content-Type: application/json"
-d '{"text": "MESSAGE_HERE"}'

其中 WEBHOOK_URL 取自 .claude/settings.json 的 team.chat_webhook,MESSAGE_HERE 为格式化后的消息(注意转义引号)。

  1. 向用户确认:"Posted update to team chat: [简要摘要]"。

消息模板

部署:

🚀 Deployed: [PROJECT_NAME]

[WHAT_CHANGED - 1-2 sentences]

• Branch: [BRANCH] • Commit: [COMMIT_HASH] [• Preview: URL (if applicable)] [• Production: URL (if applicable)]

Posted by [USER] via Claude Code

Bug 修复:

🐛 Bug Fixed: [PROJECT_NAME]

Problem: [What was broken] Solution: [How it was fixed] Files: [Key files changed]

[• Commit: [COMMIT_HASH]]

Please verify if you reported this issue.

功能完成:

✨ Feature Complete: [PROJECT_NAME]

[FEATURE_NAME]

[DESCRIPTION - what it does, 1-2 sentences]

[• Demo: URL] [• Files: key files]

Ready for review/testing.

提问:

❓ Question: [PROJECT_NAME]

[QUESTION - clear and specific]

Context: [Relevant background - what you're working on, what you've tried]

Options considered:

  1. [Option A]
  2. [Option B]

@[PERSON] - would appreciate your input

自定义:

📢 Update: [PROJECT_NAME]

[MESSAGE]

Posted by [USER] via Claude Code

适用场景

  • 推送到生产/预发环境、部署到 Vercel 等之后。
  • 修复 Bug 后,尤其是团队报告的 Bug。
  • 完成可供审查/使用的功能后。
  • 被阻塞或需要团队对决策提供输入时。
  • 用户说 "done"、"finished"、"completed" 且完成重要工作后。
  • 推送到 main/master/production 后。
  • 用户提到团队成员姓名,或似乎被阻塞、可能受益于团队输入时。

限制

  • 不适用于次要重构、拼写修复、未就绪的 WIP 提交、内部调试/测试,以及任何只会造成噪音的内容。
  • 需要有效的 Google Chat webhook URL。
  • 安全提示:webhook URL 应保密,并将 .claude/settings.json 加入 .gitignore。

获取 Webhook URL

  1. 打开 Google Chat。
  2. 进入你的 Space。
  3. 点击 Space 名称 → Apps & integrations → Webhooks。
  4. 点击 Add webhook。
  5. 命名(例如 "Claude Code Updates")。
  6. 复制 webhook URL。

URL 格式:https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?key=KEY&token=TOKEN