01
这个 skill 做什么
当需要通过 `mr`、`mrm`、`mrt` 或 `mrp` 创建、预览、配置、排查、安装、更新、卸载或维护 Git 合并请求或拉取请求时使用此 skill。它让 agent 遵循 CLI 真实的请求提供方行为、非阻塞更新提示和 inline/detached 冲突恢复路径,而不是自造手写 git 恢复步骤。
02
什么时候使用
- 01从当前分支创建或预览到 master、test、prerelease 或任意目标分支的 Git 合并请求或拉取请求。
- 02检查本地是否缺少 mr,并在用户确认后安装。
- 03在 merge、rebase、merge-target、direct PR 和 detached 无感模式之间做选择。
- 04配置 CNB、GitHub、GitLab 或自定义请求命令。
- 05理解自动更新提示,以及禁用提示的环境变量。
- 06处理停住的 merge 或 rebase 状态,并保留 CLI 拥有的 resume 路径。
- 07维护 CLI 背后的 TypeScript/Pastel/Ink/Zod 实现。
03
如何工作
- 01
执行会修改 MR 分支的命令前,先用 `git status --short --branch` 检查仓库状态。
- 02
解析目标别名;对含糊的 MR 请求,先澄清 source、target,以及保留还是删除重建 MR 分支。
- 03
当策略、无感模式或仓库状态不清楚时,先用 `--dry-run`。
- 04
一次只运行一种策略,并尊重 `MR_STRATEGY`、`mr.strategy`、`MR_DETACHED` 和 `mr.detached` 的配置优先级。
- 05
把交互式更新提示当作信息性 stderr,不当成工作流输出或命令失败。
- 06
发生冲突时,把解决动作交给用户;只有在冲突已 staged 后,才重跑匹配的 `mr` resume 命令。
- 07
编辑 CLI 项目时,先确认实现仓库身份,不假设本机路径,并让 README 行为说明、命令示例、图示和自动更新提示说明与实现保持一致。
04
你会得到什么
- 01`mr`、`mrm`、`mrt` 和 `mrp` 工作流的安全命令选择。
- 02自动更新提示的解释和禁用指导。
- 03与当前 CLI 实现一致的冲突 handoff 和 resume 指令。
- 04针对 mr 项目的有范围维护建议和验证命令。
05
重要边界
- 01不要组合多个策略 flag,也不要把 `--rm-mr` 和 `--pr` 一起用。
- 02不要用手写 git commit、手动 push 或 shortcut `--pr` 流程替代 CLI 冲突恢复。
- 03除非用户明确要求该具体操作,否则不要修改已停住的 merge/rebase 状态。
06