gitlab-merge-request

gitlab-merge-request is a skill for Claude Code from grasscaograss/AwesomeWeldoneSkills. It costs 124 tokens per session (2,585 once invoked), scanned A, original, Apache-2.0.

A workflow for creating a GitLab merge request, which is a request to review and merge code from one branch into another. It checks the repository state, target branch, authentication, and existing requests before creating one.

In plain words
What is it for?
Use it to prepare and submit a merge request to a chosen branch, after checking local changes, remotes, credentials, and possible duplicates.
Why use it?
It reduces mistakes such as submitting uncommitted changes, using the wrong destination, or creating a duplicate request. It also verifies that the GitLab access token actually works.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions Codex.

Good fit Use it to prepare and submit a merge request to a chosen branch, after checking local changes, remotes, credentials, and possible duplicates.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/grasscaograss/awesomeweldoneskills/gitlab-merge-request
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add grasscaograss/AwesomeWeldoneSkills --skill gitlab-merge-request
Clone the repo
git clone --depth 1 https://github.com/grasscaograss/AwesomeWeldoneSkills

Made for: Claude Code.

Its marketplace also offers this one on its own, as the plugin gitlab-merge-request/plugin install gitlab-merge-request after adding the marketplace above.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for gitlab-merge-request

README.md
[![agentmods](https://agentmods.dev/badge/skills/grasscaograss/awesomeweldoneskills/gitlab-merge-request/github.svg)](https://agentmods.dev/skills/grasscaograss/awesomeweldoneskills/gitlab-merge-request)
Your own site
<a href="https://agentmods.dev/skills/grasscaograss/awesomeweldoneskills/gitlab-merge-request"><img src="https://agentmods.dev/badge/skills/grasscaograss/awesomeweldoneskills/gitlab-merge-request/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for gitlab-merge-request

Your own site · 80×15
<a href="https://agentmods.dev/skills/grasscaograss/awesomeweldoneskills/gitlab-merge-request"><img src="https://agentmods.dev/badge/skills/grasscaograss/awesomeweldoneskills/gitlab-merge-request.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 124 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,585 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00124 $0.02585
Opus 5 $0.00062 $0.01293
Sonnet 5 $0.00025 $0.00517
Haiku 4.5 $0.00012 $0.00259

Measured 9d ago against content hash 25f8d6e93fee, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

gitlab-merge-request scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/new_gitlab_merge_request.ps1), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

gitlab-merge-request/SKILL.md · 204 lines

How it starts

The opening of the file, as written. The whole thing — 204 lines — stays where its author put it; the contents beside it link to each section on GitHub.

GitLab Merge Request 创建

在 Weldone GitLab 项目中创建 Merge Request。借鉴 gitlab-issue 的协作方式:先确认 token 和目标分支,再检查提交范围和重复 MR,最后通过 API 创建。

GitLab 配置

配置项
URL http://gitlab.roboticplus.com:2022
Project ID 305
API Base http://gitlab.roboticplus.com:2022/api/v4/projects/305
Token 环境变量 $env:GITLAB_TOKEN 或用户提供

Token 检查

每次开始前,使用 pwsh 7 检查 token(默认 UTF-8),不要直接用 Bash 语法:

if ($env:GITLAB_TOKEN) { 'Token exists' } else { 'Token not set' }

若 token 存在,必须再做一次真实 API 验证:

$Headers = @{ "PRIVATE-TOKEN" = $env:GITLAB_TOKEN }
Invoke-RestMethod -Uri "http://gitlab.roboticplus.com:2022/api/v4/user" -Headers $Headers

如果返回 401 Unauthorized403 Forbidden 或网络错误,停止创建 MR,告诉用户需要提供具有 api 权限的 GitLab Personal Access Token。不要把环境变量存在当作可用认证。

工作流程

步骤 1:确认当前 Git 状态

在仓库根目录执行:

git status --short
git branch --show-current
git remote -v
  • 若有未提交改动,先停止并说明需要提交或明确暂存范围。
  • 若当前目录不是 Git 仓库,停止并要求切换到仓库根目录。
  • 默认使用 origin 作为远程;若没有 origin,读取 git remote -v 后让用户确认。

步骤 2:确定目标分支

按用户表达选择目标:

用户表达 目标分支
未指定目标分支,只说"提 MR"、"创建 MR"、"发起合并" 当前分支对应的远程同名分支
"合到 develop"、"提到 develop" develop
"合到 master" master
"合并到远程同分支"、"合到远程分支上" 且未指定其他分支 当前分支对应的远程同名分支
明确说出分支名 用户指定的分支

不要把未指定目标分支理解为 develop。只有用户明确说"合到 develop"或指定 develop 时,目标分支才是 develop

必须先确认目标分支在远程存在:

git ls-remote --heads origin <target-branch>

如果用户没有指定目标分支,或者用户说"远程同分支",并且当前本地分支为 feature/foo,目标就是 origin/feature/foo。若远程同名分支不存在,停止并说明需要用户指定目标分支或先创建远程同名分支。

步骤 3:确定 MR 源分支

GitLab 同项目 MR 的 source 和 target 不能完全相同。按以下规则处理:

  1. 如果当前分支名和目标分支不同,默认用当前分支作为 source。
  2. 如果当前分支名和目标分支相同,创建一个新的源分支,命名为 codex/<短描述>,让它指向当前 HEAD。
  3. 如果用户要求"只合当前修复"或"只合某个 commit",从 origin/<target> 新建源分支后 cherry-pick 指定提交。
  4. 如果用户明确说"两个都要合并"、"所有 ahead 都要",不要拆提交;让源分支指向当前 HEAD。

创建同分支目标的源分支示例:

git switch -c codex/<short-slug>
git push -u origin codex/<short-slug>

从目标分支 cherry-pick 单个提交示例:

Read the full file on GitHub · 204 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 204 lines · 124 tokens per session scan A 25f8d6e93fee

Subscribe to this mod's changes

gitlab-merge-request is a skill published in the GitHub repository grasscaograss/AwesomeWeldoneSkills (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 124 tokens to every session and 2,585 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

review-implement-phase

Implements triaged review actions, commits focused fixes, and posts Done plus resolves threads. Use when the user wants only the implementation phase of the review-framework workflow.

prisma/orm · 38 tokens

engram-branch-pr

PR creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a pull request, opening a PR, or preparing changes for review.

Gentleman-Programming/engram · 37 tokens

verify-behavior

Verify or reproduce visible product behavior by driving the real UI with pi-computer-use's checked tools, requiring verified expect postconditions and durable state evidence for meaningful UI flows. Use when triage needs visual reproduction, implementation needs behavioral proof, review needs interactive confirmation…

nicknisi/dotfiles · 68 tokens

github-contributor

End-to-end playbook for shipping high-quality pull requests to open-source projects you don't maintain — discovery, CONTRIBUTING compliance, PR-size check, minimal-diff implementation, PR description with AI-assisted disclosure, conflict resolution, and post-submission maintainer interaction. Use whenever creating…

daymade/claude-code-skills · 133 tokens

revdiff

Review diffs, files, and documents with inline annotations in a TUI overlay, or answer questions about revdiff usage, configuration, themes, and keybindings. Opens revdiff in agterm/tmux/zellij/herdr/kitty/wezterm/cmux/ghostty/iterm2/emacs-vterm, captures annotations, and addresses them. Works in git, hg, and jj repos…

umputun/revdiff · 248 tokens

write-pr

Reference standards for writing pull request titles and descriptions in the tldraw repository, plus the pre-flight comment sweep over the diff. Use as supporting guidance when another skill or workflow needs PR content standards, not as the user-facing create/update PR workflow.

tldraw/tldraw · 53 tokens