关于 commet-webhooks
commet-webhooks 是用于实现和验证 Commet Webhook 处理程序的技能。它以已安装 SDK 的事件契约为依据,指导签名验证、幂等处理及远程操作防护。
主要功能
- 01查明已安装的 Webhook 契约
- 02解析载荷前验证签名
- 03以幂等方式处理事件
- 04指导按框架实现端点
- 05测试处理边界与确认行为
- 06远程操作前检查上下文
适用场景
- 01添加 Commet Webhook 端点
- 02按已安装 SDK 更新事件处理
- 03测试重复投递与签名
- 04准备经授权的 Webhook 配置变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ commet-labs/ skills --skill commet-webhooks安装后在 Claude Code 中输入/commet-webhooks确认已加载。
详细介绍
Commet Webhook
将已安装的 SDK 作为 Webhook 契约。本技能定义处理工作流,而非当前事件清单。
确定契约
- 检测语言、框架、已安装的 Commet SDK、集成包,以及是否明确固定了 Webhook API 版本。
- 使用其包管理器查找已安装 SDK 的
docs/manifest.json。阅读清单中的入口文件、生成的 Webhook 参考文档,以及任务所需的确切事件条目。 - 在选择处理程序辅助函数或负载格式之前,阅读生成的 Webhook 类型和已安装框架包的 README。
- 对于 Node 项目,运行
commet doctor --output agent,并解决文档、兼容性、API 版本或项目上下文检查未通过的问题。
不要从本技能复制事件联合类型、负载封装、标头、重试计划或回调名称。如果已安装的文档和类型中没有这些信息,应报告缺失的契约,而不是猜测。
实现端点
- 如果存在已安装框架提供的辅助函数,则使用该函数;否则,遵循已安装 SDK 的原始请求体验证流程。
- 在解析或处理负载之前,使用未经修改的请求体验证签名。
- 根据确切的生成事件类型缩小类型范围,并按照已安装文档的说明处理未知事件。
- 使用已安装契约提供的持久事件标识,确保业务处理具有幂等性。
- 如果故障恢复需要重新投递,则应在确认收到前完成持久化工作。将有意异步执行的工作保留在持久化队列中。
- 对于访问控制和当前订阅决策,直接查询 Commet。使用 Webhook 处理电子邮件、资源配置、分析或外部同步等后台后续操作。
- 除非用户授权迁移版本,否则保留端点明确指定的 Webhook 版本。
防护副作用
编辑和测试本地处理程序属于本地工作。注册端点、发送服务提供商测试事件、重放投递或更改 Webhook 配置属于远程副作用。
执行远程副作用前,明确说明确切的组织以及 sandbox 或 live 模式。在 Node 项目中,使用通过的 PROJECT_CONTEXT_VALID doctor 检查;否则,必须要求明确的项目或用户上下文。未经明确授权,不得发送或重放线上事件。
切勿记录 Webhook 密钥、签名、授权标头,或包含客户数据的完整负载。
验证
使用已安装的签名辅助函数或真实的沙盒投递,测试公开的处理程序边界。覆盖有效签名、无效签名、所需事件、重复投递,以及处理程序的确认行为。运行代码库的格式化工具、编译器或类型检查,以及相关测试。
评论
支持 Markdown