From glab
Create a new GitLab merge request from the current branch. Generates Chinese title and description from git commit messages. Use when user says 创建 MR / 提个 PR / 提 MR / open a merge request / new MR.
How this skill is triggered — by the user, by Claude, or both
Slash command
/glab:mr-createThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
依赖 `glab` CLI 已安装并完成 git.snowsse.cn 认证。
依赖 glab CLI 已安装并完成 git.snowsse.cn 认证。
执行前先跑:
glab auth status
如果失败:调用 glab:setup skill 输出教程给用户,提示完成后重跑,终止本 skill。
develop
maindevelopgit rev-parse --abbrev-ref HEAD # 当前分支
git status --porcelain # 看是否有未提交的修改
main / develop / master,告诉用户"不应该从主干分支创建 MR",结束git commit 再创建 MR(避免 MR 跟实际分支不一致)",让用户选择是否继续glab mr list --source-branch <当前分支> --output json
如果非空,提示"当前分支已有 MR !,无需重复创建。可用 /glab:mr 查看",结束。
git log <target>..HEAD --oneline --no-merges
git diff <target>..HEAD --stat
如果 git log 返回空,说明本分支跟 target 没差异,告诉用户"没有变更可提交",结束。
根据上一步的 commits + diff stat,按以下规则生成:
标题(≤ 70 字符):
描述(Markdown):
## 变更概要
<2-3 句话总结此次 MR 做了什么、为什么>
## 主要改动
- <模块 1>: 具体做了什么
- <模块 2>: 具体做了什么
## 影响范围
<列出受影响的文件类别:源代码 / 配置 / 测试 / 文档>
## 测试方式
- [ ] 本地 typecheck 通过
- [ ] 单元测试通过
- [ ] 手工验证(说明操作步骤)
## Commit 列表
<git log --oneline 的内容>
把生成的标题和描述完整展示给用户,问:"以上标题和描述是否 OK?OK 我就执行 glab mr create,否则你可以让我调整。"
得到肯定后再执行。
glab mr create \
--target-branch <target> \
--title "<标题>" \
--description "<描述>" \
--draft
--draft执行成功后展示:
glab mr update <iid> --ready 取消 draft;或者 /glab:mr 查看详情"npx claudepluginhub itmrboy/glab_skills --plugin glabCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.