关于 gitlab-assistant
gitlab-assistant 是围绕 glab 命令行组织 GitLab 自动化任务的技能入口,面向需要管理 GitLab 项目资源的开发者。它按资源类型将请求分派给专门技能,并提示操作风险。
主要功能
- 01按资源类型路由到专门技能
- 02涵盖合并请求、议题与 CI/CD
- 03管理仓库、发布和项目设置
- 04通过 API 管理多种 GitLab 资源
- 05操作前检查认证和仓库上下文
适用场景
- 01定位合并请求或议题管理操作
- 02查看或触发 CI/CD 流水线
- 03协调跨技能的发布流程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ grandcamel/ gitlab-assistant-skills --skill gitlab-assistant安装后在 Claude Code 中输入/gitlab-assistant确认已加载。
附带文件docs/DECISION_TREE.md
详细介绍
GitLab 助手
使用 glab CLI 实现 GitLab 自动化的中心枢纽。将请求路由到最合适的专用技能。
快速参考
| 我想要…… | 使用此技能 | 风险 |
|---|---|---|
| 处理合并请求 | gitlab-mr | ⚠️ |
| 处理议题 | gitlab-issue | ⚠️ |
| 检查/运行 CI 流水线 | gitlab-ci | ⚠️ |
| 克隆/派生/创建仓库 | gitlab-repo | ⚠️ |
| 管理发行版 | gitlab-release | ⚠️ |
| 管理标签 | gitlab-label | ⚠️ |
| 管理里程碑 | gitlab-milestone | ⚠️ |
| 管理 CI/CD 变量 | gitlab-variable | ⚠️ |
| 管理群组/团队 | gitlab-group | ⚠️ |
| 搜索 GitLab | gitlab-search | - |
| 保护分支 | gitlab-protected-branch | ⚠️ |
| 管理 Webhook | gitlab-webhook | ⚠️ |
| 仓库文件操作 | gitlab-file | ⚠️ |
| 管理 Wiki 页面 | gitlab-wiki | ⚠️ |
| 合并请求/议题讨论 | gitlab-discussion | ⚠️ |
| 项目徽章 | gitlab-badge | ⚠️ |
| 容器注册表 | gitlab-container | ⚠️⚠️ |
| 安全漏洞 | gitlab-vulnerability | ⚠️ |
风险说明:- 安全 | ⚠️ 谨慎 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危险
路由规则
规则 1:明确的资源类型
根据所处理的 GitLab 资源进行路由:
| 关键词 | 路由到 |
|---|---|
| MR、合并请求、拉取请求、审查、批准、合并 | gitlab-mr |
| 议题、缺陷、工单、任务、功能请求 | gitlab-issue |
| CI、CD、流水线、构建、作业、部署、制品 | gitlab-ci |
| repo、仓库、项目、克隆、派生 | gitlab-repo |
| 发行版、标签、版本、变更日志 | gitlab-release |
| 标签(用于议题/MR) | gitlab-label |
| 里程碑、冲刺、迭代 | gitlab-milestone |
| 变量、密钥、环境、CI 变量 | gitlab-variable |
| 群组、团队、组织、成员、命名空间 | gitlab-group |
| 搜索、查找、查询(全局/群组/项目) | gitlab-search |
| 保护分支、分支保护、访问规则 | gitlab-protected-branch |
| Webhook、钩子、通知回调、集成 | gitlab-webhook |
| 文件、blob、内容、原始内容(仓库文件) | gitlab-file |
| Wiki、文档页面 | gitlab-wiki |
| 讨论、线程、评论、备注、回复 | gitlab-discussion |
| 徽章、状态徽章、覆盖率徽章 | gitlab-badge |
| 容器、注册表、Docker、镜像、标签(容器) | gitlab-container |
| 漏洞、安全、扫描、CVE、SAST、DAST | gitlab-vulnerability |
规则 2:常见工作流
| 工作流 | 涉及的技能 |
|---|---|
| 代码审查 | gitlab-mr(检出、审查、批准、合并) |
| 缺陷跟踪 | gitlab-issue(创建、指派、关闭) |
| 部署 | gitlab-ci(运行、状态、制品) |
| 发行流程 | gitlab-release + gitlab-ci |
| 项目设置 | gitlab-repo(创建、克隆) |
规则 3:多步骤操作
对于跨多个技能的复杂工作流,请协调这些技能:
Example: "Release version 1.2.0"
1. gitlab-mr: Ensure all MRs are merged
2. gitlab-ci: Verify pipeline passes
3. gitlab-release: Create release with changelog
技能概览
gitlab-mr(合并请求)
- 用途:创建、审查、批准和合并 MR
- 主要命令:
glab mr list、glab mr create、glab mr checkout、glab mr merge - 风险:⚠️(合并具有破坏性)
- 触发词:MR、合并请求、审查、批准、合并、检出
gitlab-issue(议题)
- 用途:跟踪缺陷、功能和任务
- 主要命令:
glab issue list、glab issue create、glab issue close - 风险:⚠️(关闭/删除具有破坏性)
- 触发词:议题、缺陷、任务、工单、功能
gitlab-ci(CI/CD 流水线)
- 用途:查看、触发和管理 CI/CD 流水线
- 主要命令:
glab ci status、glab ci view、glab ci run、glab ci artifact - 风险:⚠️(运行会占用计算资源)
- 触发词:CI、流水线、构建、作业、部署、制品、lint
gitlab-repo(仓库)
- 用途:克隆、派生、创建和管理仓库
- 关键命令:
glab repo clone、glab repo fork、glab repo create - 风险:⚠️⚠️(删除操作具有极强破坏性)
- 触发词:仓库、存储库、项目、克隆、派生
gitlab-release(发布)
- 用途:创建和管理发布
- 关键命令:
glab release create、glab release list、glab release view - 风险:⚠️(会创建标签和发布)
- 触发词:发布、版本、变更日志、标签
gitlab-label(标签)
- 用途:管理项目标签
- 关键命令:
glab label create、glab label list - 风险:⚠️(会影响 issue/MR 分类)
- 触发词:标签、标记(用于分类)
gitlab-milestone(里程碑)
- 用途:管理项目里程碑
- 关键命令:
glab milestone create、glab milestone list - 风险:⚠️(会影响规划)
- 触发词:里程碑、冲刺、迭代
gitlab-variable(CI/CD 变量)
- 用途:管理 CI/CD 变量和密钥
- 关键命令:
glab variable set、glab variable list - 风险:⚠️⚠️(包含密钥)
- 触发词:变量、密钥、环境变量、CI 变量
gitlab-group(群组 - API)
- 用途:通过 API 管理群组、成员和子群组
- 关键命令:
glab api groups、glab api groups/:id/members - 风险:⚠️(群组管理)
- 触发词:群组、团队、组织、成员、命名空间
gitlab-search(搜索 - API)
- 用途:搜索 GitLab 中的项目、issue、代码等
- 关键命令:
glab api "search?scope=...&search=..." - 风险:-(只读)
- 触发词:搜索、查找、查询
gitlab-protected-branch(受保护的分支 - API)
- 用途:管理分支保护规则
- 关键命令:
glab api projects/:id/protected_branches - 风险:⚠️(会影响分支访问)
- 触发词:保护分支、分支保护、访问规则
gitlab-webhook(Webhooks - API)
- 用途:管理项目 Webhook
- 关键命令:
glab api projects/:id/hooks - 风险:⚠️(外部集成)
- 触发词:Webhook、钩子、通知、集成
gitlab-file(仓库文件 - API)
- 用途:通过 API 读取/写入仓库文件
- 关键命令:
glab api projects/:id/repository/files/:path - 风险:⚠️(会修改文件)
- 触发词:文件、blob、内容、原始内容
gitlab-wiki(Wiki - API)
- 用途:管理项目 Wiki 页面
- 关键命令:
glab api projects/:id/wikis - 风险:⚠️(文档变更)
- 触发词:Wiki、文档页面
gitlab-discussion(讨论 - API)
- 用途:管理 MR/issue 中的串式讨论
- 关键命令:
glab api projects/:id/merge_requests/:iid/discussions - 风险:⚠️(评论)
- 触发词:讨论、串、评论、备注、回复
gitlab-badge(徽章 - API)
- 用途:管理项目徽章
- 关键命令:
glab api projects/:id/badges - 风险:⚠️(项目展示)
- 触发词:徽章、状态徽章、覆盖率徽章
gitlab-container(容器注册表 - API)
- 用途:管理容器注册表中的镜像和标签
- 关键命令:
glab api projects/:id/registry/repositories - 风险:⚠️⚠️(删除镜像具有破坏性)
- 触发词:容器、注册表、Docker、镜像
gitlab-vulnerability(漏洞 - API)
- 用途:管理安全漏洞(Ultimate)
- 关键命令:
glab api projects/:id/vulnerabilities - 风险:⚠️(会改变安全状态)
- 触发词:漏洞、安全、扫描、CVE
连接验证
执行任何操作前,请验证 GitLab 已配置:
glab auth status
如果尚未通过身份验证:
glab auth login
检查当前仓库上下文:
glab repo view
常用 glab 命令速查
# Authentication
glab auth login # Interactive login
glab auth status # Check auth status
# Merge Requests
glab mr list # List MRs
glab mr create # Create MR
glab mr view <id> # View MR details
glab mr checkout <id> # Checkout MR branch
glab mr merge <id> # Merge MR
# Issues
glab issue list # List issues
glab issue create # Create issue
glab issue view <id> # View issue
glab issue close <id> # Close issue
# CI/CD
glab ci status # Current pipeline status
glab ci view # Interactive pipeline view
glab ci run # Trigger pipeline
glab ci artifact # Download artifacts
# Repository
glab repo clone <path> # Clone repository
glab repo fork <path> # Fork repository
glab repo view # View repo info
消歧
当请求含糊不清时,请求用户澄清:
| 含糊不清的请求 | 澄清问题 |
|---|---|
| “显示状态” | “您想查看 CI 流水线状态(glab ci status)还是 MR 状态(glab mr list)?” |
| “新建一个” | “您想创建什么?议题、MR 还是仓库?” |
| “列出所有内容” | “您想列出什么?MR、议题、流水线还是仓库?” |
相关文档
评论
支持 Markdown