بنقرة واحدة
mr-workflow
GitLab merge request lifecycle helpers (push, test, tidy, apply patches)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
GitLab merge request lifecycle helpers (push, test, tidy, apply patches)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Keep a GitLab issue's native Status in sync with its merge requests, and start implementing an issue by assigning it to the current user and setting the active milestone. Use when asked to start work on an issue, update an issue's status as MRs progress, or track issue state through the dev/review/complete lifecycle.
Run commands in a temporary tmux pane with full interactive zsh environment (login shell, shims, PATH, aliases, TTY).
Hammerspoon macOS automation. Config in ~/.hammerspoon/. Modules: init.lua, spaces, sleepwake, urlrouter, httpserver, meetings, webcam. Keywords: hammerspoon, hs, lua, audiodevice, hotkey, caffeinate, httpserver, Stream Deck, Rectangle Pro, blueutil, AirPods, URL routing, webcam, uhubctl. Use when: editing ~/.hammerspoon/ files, debugging Hammerspoon modules, adding Hammerspoon features, checking Hammerspoon logs.
Use before any Git branch operation in this repo. SSOT for the branch naming convention (<username>/<issue-id>/<branch-name>) — load before creating a branch instead of guessing the name. Also provides helpers for finding a branch's parent, rebasing related branches, force-pushing feature branches, and understanding commit or diff structure across stacked Git branches.
Iteratively test and refine prompts, skills, and agent configurations using opencode run
Inspect GitLab local ClickHouse tables, schemas, ingestion paths, and data patterns. Use for CH table questions, DESCRIBE TABLE, schema/source-of-truth checks under db/click_house, ClickHouse ingestion debugging, and investigating aggregates, distributions, or anomalous data in the GitLab repo.
| name | mr-workflow |
| description | GitLab merge request lifecycle helpers (push, test, tidy, apply patches) |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"developers","author":"pedropombeiro","workflow":"gitlab"} |
Shell functions for the merge request lifecycle: creating MRs, running branch specs, calculating MR throughput, tidying stale to-dos, and applying MR patches locally.
All functions are zsh functions loaded from ~/.shellrc/zshrc.d/functions/.
gpsupPushes the current branch and creates/configures a merge request with appropriate defaults
when the remote is on gitlab.com. Falls back to a plain git push --set-upstream for
non-GitLab remotes.
gpsup
gpsup --force-with-lease
Extracts the issue IID from the branch name (user/<issue>/<name>) and delegates to a
Ruby helper (scripts/gitlab-helpers.rb) for MR creation.
Automatically applies project defaults (milestone, issue labels, and team labels) using GitLab push options.
test_mrDerives the corresponding spec files for all .rb files changed in the current branch
vs master, then runs them with bundle exec rspec.
run-in-tmux-pane test_mr
Must be run via run-in-tmux-pane
since it is an autoloaded zsh function and can be long-running.
Set the Bash tool timeout to at least 600000 ms (10 min).
Mapping rules:
app/ → spec/lib/ → spec/lib/ee/lib/ → ee/spec/lib/app/controllers/ → spec/requests/_spec.rb are used as-ismr_rateCalculates the MR merge rate of a given GitLab user via the GitLab API.
Defaults to the current user ($USER).
mr_rate # current user
mr_rate someuser # specific user
todo_tidyMarks as done all GitLab to-do items for MRs that are already closed or merged
where the action was review_requested.
todo_tidy
Uses glab api to paginate through all MergeRequest to-dos and mark stale ones done.
tryoutDownloads a .diff from a GitLab MR URL and applies the patch to the current working tree.
tryout https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96461
Applies with git apply and stages all changes (excluding bin/).
test_mr to quickly validate branch changes — always run via run-in-tmux-pane test_mr; also use run-in-tmux-pane bundle exec rspec <files> when running specific spec filestodo_tidy when the user wants to clean up stale review to-dostryout to apply an MR's changes locally for testing without checking out the branchgpsup for MR creation — it is non-interactive and applies milestone/labels automatically; do not use glab mr create for the standard workflowgpsup via run-in-tmux-pane — see scm.md § "How to run gpsup" for details; do not check for its existence with type/which.gitlab/merge_request_templates/