用途:gh-pr 用于最小化、直接的 GitHub PR 操作。当用户提到 gh pr 并要求打开 PR、检查新评论,或把评论标记为 pending/addressed 时使用;也适合在多次 push 之间做幂等的评论分诊。
主要能力:1) 打开 PR,使用原生 CLI:gh pr create --title "<title>" --body-file <body.md> --base <base-branch>。2) 幂等拉取新评论,使用辅助脚本:bun skills/gh-pr/scripts/gh_pr_ops.ts queue --repo <owner/repo> --pr <number>,会抓取 issue 评论、行内 review 评论和顶层 PR review 正文(包括 Cursor Bugbot、Hodor 等工具的摘要 review),只返回未标记且非机器人前缀的条目。3) 标记 pending/addressed,支持单个或多个:bun skills/gh-pr/scripts/gh_pr_ops.ts mark --repo <owner/repo> --pr <number> --ids 12345 --status pending;--status addressed 现在会解析 GitHub review 线程(针对 PR review 评论),issue 评论仍用 reaction。多个 ID 用逗号分隔。
默认约定:ADDRESSED_REACTION=+1(:thumbsup:)表示已处理;PENDING_REACTION=eyes(:eyes:)表示进行中;BOT_REPLY_PREFIX=🤖 标记机器人回复;新评论指没有 pending/addressed reaction 且正文不以机器人前缀开头。
端到端处理评论:当用户说“address comment”时,依次执行:标记 pending、实现修复、运行相关验证(测试/lint/build)、提交、推送,仅在推送后且确实解决时标记 addressed;若验证失败或修复不完整,保持 pending 并报告剩余问题。
限制与护栏:保持行为确定性,不修改无关 PR 元数据;不把机器人前缀回复当作新反馈;只标记实际处理过的评论;在摘要中保留源 URL 和 ID。