用途:land 技能用于将一个拉取请求(PR)推进到合并完成。目标包括确保 PR 与 main 无冲突、保持 CI 绿色并在失败时修复、检查通过后执行 squash 合并。在 PR 合并前不会向用户交还控制权,除非被阻塞,否则持续运行监视循环。合并后无需删除远程分支,该仓库会自动删除 head 分支。
前置条件:gh CLI 已认证;位于 PR 分支且工作区干净。
主要步骤:定位当前分支的 PR;推送前先在本地确认验证通过,运行 npm run compile、npm run lint、npm run test:unit;若有未提交更改,先用 commit 技能提交、用 push 技能推送;检查与 main 的可合并性和冲突;若存在冲突,用 pull 技能抓取并合并 origin/main、解决冲突,再用 push 技能发布更新后的分支;确保评审意见已确认并处理必需修复;监视检查直至完成;检查失败则拉取日志、修复、提交、推送并重新运行检查;全部检查绿色且评审反馈已处理后,以 PR 标题/正文作为合并主题/正文执行 squash 合并。
上下文守卫:实现评审反馈前,确认其不与用户声明的意图或任务上下文冲突;如冲突,内联回复理由并先询问用户。每条评论模式:对每条评审评论选择接受、澄清或反驳,并在改代码前内联说明。回复先于变更:推送代码变更前始终先回应拟采取的动作。
监控命令:可用 python3 .codex/skills/land/land_watch.py 异步监视评审评论、CI 和 head 更新,退出码 2 表示检测到评审评论,3 表示 CI 检查失败,4 表示 PR head 更新。合并命令为 gh pr merge --squash --subject "$pr_title" --body "$pr_body"。评审评论通过 gh api repos/{owner}/{repo}/pulls/<pr_number>/comments 列出,回复用 in_reply_to。所有该代理生成的 GitHub 评论须以 [codex] 前缀。
限制与失败处理:检查失败时用 gh pr checks 和 gh run view --log 获取详情后本地修复再重新监视;可自行判断偶发失败,Ubuntu 测试超时是本项目已知问题,若其他平台通过可视为偶发;合并性为 UNKNOWN 时等待重查;评审意见未解决时不得合并;不要启用 auto-merge,使用监视循环。关于该技能更完整的参数与平台支持,资料中暂未提供。