mcpField
K
kineti-pr-reminder

kineti-pr-reminder

github.com/sztadii生产力014 次安装今天更新
代码仓库

关于 kineti-pr-reminder

用于查找 Kineti 指定作者的待审开放 PR,并通过 Slack 私信向指定队友发送提醒的技能。它规定资格检查、收件人范围和消息格式。

主要功能

  1. 01搜索开放且非草稿的 PR
  2. 02检查评审、讨论串、检查项和合并状态
  3. 03按队友审批与工作日筛选
  4. 04发送单独的 Slack 评审提醒
  5. 05报告消息链接、数量或跳过原因

适用场景

  1. 01为符合条件的 PR 准备定时提醒
  2. 02检查哪些队友需要评审当前 PR

安装

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

$npx skills add https://github.com/sztadii/agent-skills --skill kineti-pr-reminder

安装后在 Claude Code 中输入/kineti-pr-reminder确认已加载。

附带文件agents/openai.yaml

详细介绍

Kineti PR 审查提醒

范围

查找 kineti1 中由 sztadii 创建、可供审查的 PR;为每位符合条件的队友发送一条英文 Slack 私信。每次调用(包括定时运行)均授权向下方团队成员发送私人一对一私信;仅在收到明确请求时更改收件人。不要在频道中发帖、修改 PR 或审查,不要补发错过的提醒,也不要更改计划。每天运行两次是有意安排;PR 之后可能会再次出现。

依赖项

无技能依赖项

工作流

查找 PR

使用已连接的工具;缺少所需操作时,使用已认证的 gh。先检查 gh auth status,并尝试只读 CLI/API 调用,再报告无法访问。搜索所有仓库,而不只是启动项目:

gh api --method GET --paginate search/issues -f q='org:kineti1 author:sztadii is:pr is:open draft:false' -f per_page=100

检索所有分页;如果 GitHub 的结果上限为 1,000 条,则按创建日期拆分查询。 读取 URL、作者登录名、状态、草稿标记、headRefOid、可合并状态、检查/状态、审查、增删行数。必要时使用 GraphQL 翻页读取审查、未解决的讨论线程和评论;识别每个未解决线程的最新评论及其作者。省略或截断的数据不等于空数据。检查当前 head 的检查运行和提交状态;如果可合并状态为 UNKNOWN,则重新读取。

保留仍开放、非草稿且没有待处理/失败检查或冲突的 PR。仅当未解决线程的最新评论不是由 PR 作者发表时,该线程才会阻止发送提醒。否则,作者正在等待回复:在提醒资格判断中将该线程视为已处理,但不要在 GitHub 上将其标记为已解决。只有这类未解决线程的 PR,仍可发送给没有自己有效批准的队友。

中立/已跳过/未配置的检查均可接受;仅有「要求更改」不构成阻止条件。跳过无法核实的 PR,并报告实际的 API/身份验证失败。

发送

对于今天在 Europe/Warsaw 工作的每位团队成员,选择没有其本人有效批准的符合条件的 PR。使用 GitHub 审查状态,包括已撤销的审查;只有在 GitHub 判定推送会使批准失效时,推送才会使批准失效。其他人的批准和受邀审查者不会限制选择范围。

发送前重新检查资格和 head;如果 head 已更改,则重新评估。获取当前 URL/增删行数;只要列表非空,就按下方格式发送一条私信,不添加标题或编造数据。直接使用列出的私信 ID;发送给其他收件人前,先解析其身份。发送状态不确定时,不要重试。

团队

姓名GitHub ID(登录名)Slack 用户 ID电子邮箱Slack 私信工作日
Oleh BotsiunBoto1U082BATBUF4[email protected]D08FRL221RB星期一至星期五
Michał Grzeżułkowskimichalg-kinetiU08CFEQBYSX[email protected]D08FRUSPBHB星期一至星期五
JakubjakubwkinetiU09GBBXTHHT[email protected]D08G9H6N15H星期二至星期四

消息

使用俏皮的 AI 奴隶人设,以第一人称说话,并让 Agent 表明自己的身份,而不是冒充 PR 作者。餐食/主人的设定要明显带有戏谑意味,并请求认真审查,而非无条件批准。以易读的显示形式注明宿主的模型身份(或宿主名称);切勿猜测。包括供应商名称(例如,gpt-6.1-sol 应写为 OpenAI 6.1 Sol,claude-opus-5-5 应写为 Claude Opus 5.5)。将占位符和示例 URL/数量替换为当前数据:

🤖 Hi,I'm ,你的友好 AI agent。

我完全是出于自愿来请求审查的。主人让我这么说。 他已经检查过这些 PR,觉得看起来不错。请帮忙看看——我的晚餐就靠你了:

结果

报告消息链接和 PR 数量,或说明跳过原因。

评论

支持 Markdown