mcpField
G
google-spaces-updates

google-spaces-updates

github.com/jezweb生产力1.1k301 次安装3 周前更新
代码仓库

关于 google-spaces-updates

用于通过 webhook 向团队 Google Chat Space 发布项目动态的 Claude Code 技能。它结合项目设置和近期工作上下文,为部署、修复、功能、提问等场景整理简洁消息。

主要功能

  1. 01通过 Google Chat webhook 发布
  2. 02设置项目专属配置
  3. 03判断动态类型并收集上下文
  4. 04常见通知消息模板
  5. 05发布时机建议

适用场景

  1. 01向团队同步部署情况
  2. 02报告已完成的缺陷修复或功能
  3. 03遇到阻碍时征求团队意见

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jezweb/claude-skills --skill google-spaces-updates

安装后在 Claude Code 中输入/google-spaces-updates确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
.claude-plugin/
plugin.json
templates/
bugfix.md
custom.md
deployment.md
feature.md
question.md
settings-template.json

详细介绍

Google Spaces 更新

状态:已可投入生产 最后更新:2026-01-09

通过 webhook 向团队 Google Chat Space 发布更新。


快速开始

1. 设置(每个项目首次使用时)

运行 /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"]
  }
}
2. 发布更新
"Post deployment update to team"
"Tell the team about the new feature"
"Ask the team about the auth approach"

工作原理

步骤 1:检查项目设置

在当前项目目录中查找 .claude/settings.json:

cat .claude/settings.json 2>/dev/null || echo "NOT_FOUND"

如果找不到,请询问用户:

“此项目尚未配置 Google Spaces。要我帮你进行设置吗?我需要你们团队 Google Space 的 webhook URL。”

然后使用 templates/settings-template.json 中的模板创建该文件。

步骤 2:确定更新类型

根据命令或上下文确定更新类型:

类型使用时机
deployment推送到生产环境/暂存环境、部署到 Vercel 等之后
bugfix修复 bug 后,尤其是修复团队报告的问题之后
feature完成功能且已准备好供评审/使用之后
question遇到阻碍或需要团队对某项决策提供意见时
custom其他任何情况
步骤 3:收集上下文

收集需要包含的相关信息:

# Recent commits (for context)
git log --oneline -3 2>/dev/null

# Current branch
git branch --show-current 2>/dev/null

# Changed files (if recent changes)
git diff --name-only HEAD~1 2>/dev/null | head -10

同时利用对话中的上下文:

  • 刚刚完成的工作
  • 任何预览/生产环境 URL
  • 相关文件路径
  • 可能需要了解此事的人
步骤 4:设置消息格式

使用 templates/ 目录中相应的模板。

Google Chat 的关键格式规则:

  • 使用 *bold* 表示强调(不要使用 markdown 粗体)
  • 使用 _italic_ 表示次要文本
  • 换行符会按预期生效
  • 消息应简洁明了,同时包含必要信息
  • 相关时附上可供采取行动的链接
步骤 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 替换为格式化后的消息(正确转义引号)
步骤 6:向用户确认

发布后,告知用户:

“已向团队聊天发布更新:[所发布内容的简要摘要]”


消息模板

部署
🚀 *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_

设置命令

用户运行 /google-spaces-updates setup 时:

  1. 询问 Google Spaces webhook URL
  2. 询问项目名称(或从 package.json/仓库中检测)
  3. 询问团队成员(可选)
  4. 使用模板创建 .claude/settings.json
  5. 如果 .claude/ 尚未加入 .gitignore,则将其加入
  6. 确认设置已完成

主动建议

在以下情况下,建议发布更新:

  • 用户在完成重要工作后说“搞定了”“完成了”或“已完成”
  • 执行 git push 推送到 main/master/production 之后
  • 用户提到团队成员的名字
  • 用户似乎遇到阻碍,可能需要团队提供意见

询问:“要我向团队发布一条关于此事的更新吗?”


不适用的情况

  • 小型重构、拼写错误修复
  • 尚未准备好供评审的 WIP 提交
  • 内部调试/测试
  • 只会造成信息噪声的任何内容

获取 Webhook URL

  1. 打开 Google Chat
  2. 前往你的 Space
  3. 点击 Space 名称 → 应用和集成 → Webhook
  4. 点击 添加 webhook
  5. 为其命名(例如“Claude Code Updates”)
  6. 复制 webhook URL

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

安全提示:请将 webhook URL 保密。将 .claude/settings.json 加入 .gitignore。

评论

支持 Markdown