关于 checking-deploy-timing
checking-deploy-timing 是用于核实 PostHog 变更部署时间的技能,适合需要确认特定区域何时上线的团队成员。它以隐藏的部署注释为依据,并通过提交祖先关系确认实际部署包含目标合并提交。
主要功能
- 01搜索部署注释
- 02按环境和区域筛选部署
- 03核对部署时间与合并时间
- 04验证部署提交是否包含合并提交
- 05区分生产环境与内部 dev 环境
适用场景
- 01确认某个 PR 何时部署到 prod-us
- 02核实变更何时上线 prod-eu
- 03区分部署时间与指标变化时间
- 04确认较晚部署是否包含目标提交
MCP 相关
该技能使用 PostHog 的 `posthog:annotations-list` 工具查找部署注释;还会使用 GitHub CLI 查询 PR 和提交关系。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ posthog/ ai-plugin --skill checking-deploy-timing安装后在 Claude Code 中输入/checking-deploy-timing确认已加载。
详细介绍
检查某项更改的部署时间
每当一个提交部署到某个环境时,PostHog 的 CI 都会在项目中写入一条注释作为部署标记。这些注释的 hidden_in_user_interface: true,因此不会显示在 UI 中,也很容易被忽略——但它们是查询“何时上线”的权威依据。员工询问部署时间时,务必检查这些注释,而不要根据指标或事件量发生变化的时间进行推断(这会混淆采集更改与查询/代码更改)。
部署注释
使用 posthog:annotations-list 并传入 {"search": "deploy"} 来列出这些注释。每条部署标记如下所示:
content:Deployed PostHog/posthog@<sha> to <env>——环境为prod-us、prod-eu或devcreation_type:GITscope:organizationhidden_in_user_interface:truedate_marker:部署时间(UTC)
结果按时间从新到旧返回;如需查看更多更早的记录,请使用 offset 分页。
工作流
-
查找更改对应的合并提交。 确定 PR(例如,使用
gh search prs --repo PostHog/posthog --author <user> "<keywords>"),然后运行gh pr view <n> --repo PostHog/posthog --json number,title,mergedAt,mergeCommit,state。记下合并提交 SHA 和mergedAt。 -
按时间从旧到新列出合并时间前后目标环境的部署。 匹配用户询问的区域(询问“美国”时为
prod-us,询问“欧盟”时为prod-eu)。注释按时间从新到旧返回,因此不要直接选取第 1 页上第一个... to <env>匹配项——那是_最近一次_部署。使用offset分页,直到找到mergedAt前后的标记,然后按时间顺序查看该环境的部署,从第一个date_marker晚于mergedAt的部署开始。在步骤 3 中按时间从早到晚检查。 -
确认已部署的提交确实包含该合并提交。
date_marker较晚是必要条件,但并不足够——部署可能在合并后刚刚触发,却构建了稍早的提交。请验证提交的祖先关系:gh api repos/PostHog/posthog/compare/<merge_sha>...<deployed_sha> --jq '{status,ahead_by,behind_by}'behind_by: 0且status为ahead或identical,表示已部署的提交包含该合并提交——这就是答案。如果behind_by > 0,则该部署早于此更改;请转到该环境按时间顺序排列的下一个更新的部署,并重新检查。第一个通过验证的部署,就是包含此更改的部署。 -
报告用户所询问区域的部署时间(以及 PR/提交)。如有相关情况,也请提及其他区域——
prod-us和prod-eu通常相差几分钟部署,但不会同时部署。
注意事项
- “在美国上线”指
prod-us;“欧盟”指prod-eu。dev是内部预发布环境,不面向客户。 - 对于查询运行器/读取路径更改,新行为会在部署后追溯应用于所有数据,因此无法根据事件量确定上线时间,只能查看部署注释。对于采集更改,新属性的事件量可作为辅助交叉验证,但注释仍是部署时间的权威依据。