用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill create-mr命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
基于 SOC 职业分类
正在显示 SKILL.md
| name | create-mr |
| description | Create a GitLab merge request using conversation context Use when this capability is needed. |
| metadata | {"author":"bgschiller"} |
Create a GitLab merge request using the context already present in this Claude session.
The glab CLI is GitLab's official command-line tool. Key commands:
# Create MR with title and description
glab mr create --title "Title" --description "Body" --target-branch main --remove-source-branch --squash-before-merge --yes
# View project info (includes project ID)
glab repo view
# List open MRs (useful for finding parent MRs)
glab mr list --state opened
For complex API operations (finding parent MRs, creating blocking relationships), use the helper script at ~/.claude/skills/create-mr/scripts/glab-mr-helper.sh.
git branch --show-current | sed 's|^|origin/|g' | xargs git rev-parse --verify
If this fails, push the branch:
git push -u origin $(git branch --show-current)
git merge-target || echo 'main'
Review the commits and diffs:
# Get target branch
TARGET=$(git merge-target || echo 'main')
# See all commits
git log --oneline $TARGET..HEAD
# See full commit messages
git log $TARGET..HEAD
# See the complete diff
git diff $TARGET...HEAD
Brian's preferred MR description format:
Check for MR templates:
.gitlab/merge_request_templates/Default.md.gitlab/merge_request_templates/default.mdIf a template exists, follow its structure.
Write the draft to a file in the current directory:
# Filename: mr-<sanitized-branch-name>.md
# Format:
# Title here
#
# Description starts here
# and continues...
Open the file for Brian to review and edit:
~/.claude/skills/human-review/scripts/open-editor.sh mr-branch-name.md
After Brian saves and closes:
# if present)glab mr create \
--title "Title from editor" \
--description "Description from editor" \
--target-branch "$TARGET" \
--remove-source-branch \
--squash-before-merge \
--yes
Extract the MR URL and number from output.
When the target branch is not main, this is a stacked MR. Set up blocking:
Use the helper script:
~/.claude/skills/create-mr/scripts/glab-mr-helper.sh set-blocking <this-mr-number> <target-branch>
This script:
Why this matters: GitLab's "merge trains" work better when MRs have explicit dependencies. The blocking relationship prevents merging this MR before its parent.
If the parent MR can't be found or the blocking setup fails, warn but don't fail the whole operation.
Output for Brian to copy:
Please review my MR to [$TITLE]($MR_URL)
Claude: "I see you're on branch feature/add-validation. Let me check if it's pushed..."
Claude: "Branch is pushed. Target branch is 'develop'."
Claude: "Based on our work, here's the proposed MR:
Title: Add input validation to user registration
Description:
## Summary
Implement comprehensive input validation...
Does this look good? Should I proceed?"
Brian: "yes"
Claude: [creates MR, sets up blocking if needed, shows Slack message]
Converted and distributed by TomeVault — claim your Tome and manage your conversions.