بنقرة واحدة
gitlab-cli
使用 GitLab CLI(glab)与 GitLab 资源交互;适用于 project、issue、MR、comment、wiki 等查看、更新或创建场景,含自建实例。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
使用 GitLab CLI(glab)与 GitLab 资源交互;适用于 project、issue、MR、comment、wiki 等查看、更新或创建场景,含自建实例。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
通过内置 Python CLI 直接调用 Jira Server/Data Center REST API v2,查询、创建、编辑、流转和删除 Issue、Epic、Sub-task、评论、附件、关联、Watcher、Vote 与 Worklog,并查询项目、字段、Board 和 Sprint。适用于需要可控地操作 Jira、保留 Jira wiki markup 并精确管理请求与输出的场景。
使用 GitHub CLI 与 GitHub 资源交互;适用于 repo、issue、PR、comment、release、workflow 等查看、更新或创建场景。创建任何 GitHub Issue 时,统一使用本 skill 的 github_issue.py,保留模板 labels/assignees 并在创建后回读验证。
处理从本地 Git 变更到 GitHub/GitLab 协作发布的完整工作流;适用于创建或更新分支、语义化 commit message、commit、push、Issue/PR/MR 文案、inline review reply、Breaking Change 与提交范围核对。纯只读的平台查询不使用本 skill。
用三个相互隔离的干净 subagent 并行做代码审查、由主 agent 判断审查意见价值、修复有效问题并提交推送,直到同一批三个 reviewer 都没有有价值审查意见。适用于用户要求 review/fix loop、clean review cycle、创建新 subagent 审查当前修改、反复 review 到没有问题、或“三个独立 reviewer 都没有有效建议”这类任务。
在向 GitHub 上游提交 PR 前,先用用户 fork 中的中文预审 PR 审查 AI 辅助产出的代码、提交、PR 文案和 CI 证据,并通过独立 comment 收敛内部记录;适用于 fork 预审、低干扰验证、内部 review/CI、red/green 证据和正式上游 PR 重放。
为当前 Codex thread 设置名称;仅当用户手动调用或明确要求命名、重命名、整理当前 Codex 会话标题时使用,永远不要自动调用。
| name | gitlab-cli |
| description | 使用 GitLab CLI(glab)与 GitLab 资源交互;适用于 project、issue、MR、comment、wiki 等查看、更新或创建场景,含自建实例。 |
本 skill 只负责 GitLab 资源读取与平台操作,不定义标题、正文或 inline review reply 的文案。
说明:以下脚本调用均以当前 SKILL.md 所在文件夹为 workdir。
脚本调用方式(必须直接当作可执行命令运行,不要用 uv run python 或 python):
cd skills/gitlab-cli && ./scripts/gitlab_cli.py --help
错误示例:
uv run python skills/gitlab-cli/scripts/gitlab_cli.py --help
python skills/gitlab-cli/scripts/gitlab_cli.py --help
--cwd <repo> 指定实际执行目录。--hostname <host>。--project <id|group/project> 显式指定项目。--description-file <path> 传入。--description。--title 这类短文本参数可以直接传,长正文一律先写到文件里再引用。示例:
# 正确
./scripts/gitlab_cli.py mr update --cwd /path/to/repo 123 --description-file /tmp/mr-body.md
# 错误
./scripts/gitlab_cli.py mr update --cwd /path/to/repo 123 --description "multi-line body"
在创建 Issue 或 MR 前,先检查对应的 GitLab 模板、表单和当前资源状态。
.gitlab/issue_templates/、.gitlab/merge_request_templates/、.gitlab-ci.yml、项目说明文档等 GitLab 专用配置。以下规范建立在“创建前检查”已完成的前提上。
/tmp/*.md,标题通常较短,可直接用 --title 传入。--description-file,例如:./scripts/gitlab_cli.py issue create --cwd /path/to/repo --title "..." --description-file /tmp/issue-body.md,或 ./scripts/gitlab_cli.py issue update --cwd /path/to/repo 123 --title "..." --description-file /tmp/issue-body.md。以下规范建立在“创建前检查”已完成的前提上。
git status 必须干净,且当前分支已推送到远端。/tmp/*.md,不要在 shell 里拼多行字符串,也不要依赖交互式编辑。标题通常较短,可直接用 --title 传入。--description-file,例如:./scripts/gitlab_cli.py mr create \
--cwd /path/to/repo \
--title "..." \
--description-file /tmp/mr-body.md \
--target-branch main \
--squash true \
--remove-source-branch true
./scripts/gitlab_cli.py mr update --cwd /path/to/repo 123 --title "..." --description-file /tmp/mr-body.md。glab issue view、glab issue list、glab mr view、glab mr diffglab ci status --live 等 pipeline 结束;需要跟随单个 job 日志时用 glab ci trace <job-id|job-name>glab issue noteglab <group> --help、glab <group> <subcommand> --helpglab wiki --help;若当前版本没有子命令,再考虑 glab apiglab ci status --live --compact
glab ci status --branch main --live --compact
glab ci status --branch main --live --compact -R group/project
glab ci trace 123456
glab ci trace test --pipeline-id 123456 --branch main
glab ci status --live 适合替代 agent 自己的轮询等待;等待结束后若需要把结果写入 MR / Issue / 回复,先再用 glab ci status --output json、glab ci get --with-job-details 或 glab ci list --output json 做一次最终状态读取,避免只根据动态终端输出下结论。glab ci view --pipelineid <id> 做交互查看;如果任务需要非交互、机器可解析的最终状态,改用 glab ci get 或 glab api 读取该 pipeline / jobs。.gitlab-ci.yml,支持 --dry-run、--include-jobs、--ref、--json。
--dry-run --ref refs/merge-requests/<iid>/head 会改用 MR source branch 调用 CI Lint。调用方知道源分支时可显式传 --source-branch <branch>;否则脚本会根据 ref 里的 MR IID 查询 MR 元数据。部分 GitLab 14.x 实例会因为 MR internal ref 缺少 source_branch 在 CI Lint dry-run 返回 500,所以脚本避免直接把 MR internal ref 发给 CI Lint。--cwd、--hostname、--project 使用。除此之外,优先直接用 glab。
脚本入口:运行 gitlab_cli.py
./scripts/gitlab_cli.py ci lint --cwd /path/to/repo
./scripts/gitlab_cli.py ci lint --cwd /path/to/repo --project group/project --ref main --dry-run --include-jobs
./scripts/gitlab_cli.py ci lint --cwd /path/to/repo --project 122477 --ref refs/merge-requests/9/head --dry-run
./scripts/gitlab_cli.py ci lint --cwd /path/to/repo --project 122477 --ref refs/merge-requests/9/head --source-branch chore/sync-knots-api-master --dry-run
./scripts/gitlab_cli.py mr create \
--cwd /path/to/repo \
--title "..." \
--target-branch main \
--description-file /tmp/mr-body.md \
--squash true \
--remove-source-branch true
./scripts/gitlab_cli.py mr update \
--cwd /path/to/repo \
123 \
--description-file /tmp/mr-body.md
./scripts/gitlab_cli.py issue create \
--cwd /path/to/repo \
--title "..." \
--description-file /tmp/issue-body.md
./scripts/gitlab_cli.py issue update \
--cwd /path/to/repo \
456 \
--title "..." \
--description-file /tmp/issue-body.md
--description-file 传入;脚本不再支持 --description,避免 shell 转义和多行文本处理问题。--squash true 与 --remove-source-branch true。