gitlab について
公式の `glab` CLI で GitLab を操作し、読み取り結果を Markdown に整える Python ラッパーを備えたスキルです。リポジトリ、イシュー、マージリクエスト、CI/CD、リリースを扱うエージェント向けです。
主な機能
- 01読み取り結果の Markdown 整形
- 02イシューとマージリクエストの操作
- 03CI/CD パイプラインの監視
- 04リポジトリとリリースの管理
活用シーン
- 01マージリクエストのレビューと承認
- 02パイプラインの状態とログの確認
- 03マージリクエストに紐づくイシューの作成
MCP 対応
このスキルでは MCP 連携について説明されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ odyssey4me/ agent-skills --skill gitlabインストール後、Claude Code で/gitlabを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/common-workflows.mdpermissions.mdscripts/gitlab.py詳細
GitLab スキル
このスキルは、公式の glab CLI ツールを使用して GitLab と連携します。Python ラッパースクリプトは、読み取り/表示操作の出力を Markdown 形式に整えます。アクションコマンド(作成、マージ、クローズ、コメント)には、glab を直接使用してください。
ネットワークアクセス
GitLab コマンド(glab および Python ラッパー)を実行するには、GitLab API と認証エンドポイント、または設定済みのセルフマネージド GitLab ホストへの HTTPS 接続が必要です。Git のフェッチ/プッシュには、リポジトリホストへの HTTPS または SSH 接続が必要です。リモート操作には、アウトバウンドのネットワークアクセスが必要です。エージェント環境で制限されている場合は、最初のリモートコマンドを実行する前に、その環境の承認またはネットワーク制御を通じてアクセスを取得し、すでに承認されている権限を再利用してください。ローカルのヘルプ表示やファイル処理にネットワークアクセスは不要です。スキルの指示によってネットワークの使用が許可されるわけではありません。DNS、接続、タイムアウトの失敗はネットワークエラーとして報告し、解決のために認証情報をリセットしないでください。承認済みのアクセスでも失敗する場合は、操作を停止してその旨を報告してください。認証エラーおよび権限エラーには、ユーザーによる対応が必要です。
スクリプトパスの解決
例で使用する SKILL_DIR は、読み込まれた SKILL.md が格納されているディレクトリです。
コマンドの実行前に、絶対パスを設定してください。エージェントが
このシェル変数を設定すると想定しないでください。スクリプトのパスにスペースが含まれる場合は、引用符で囲んでください。
前提条件
glab CLI をインストールする:インストールガイド
認証
# Authenticate with GitLab
glab auth login
# Verify authentication
glab auth status
GitLab.com、GitLab Dedicated、GitLab Self-Managed の各インスタンスに対応しています。 詳細はGitLab CLI の認証を参照してください。
スクリプトの使い方
ラッパースクリプト(scripts/gitlab.py)は、出力を Markdown 形式に整えます。エージェントが利用しやすい出力を得るため、読み取り/表示操作にはこのスクリプトを使用してください。アクションコマンド(作成、マージ、クローズ、コメント)には glab を直接使用してください。各コマンドの読み取り/書き込みの分類については、permissions.mdを参照してください。
# Check glab CLI is installed and authenticated
$SKILL_DIR/scripts/gitlab.py check
# Issues
$SKILL_DIR/scripts/gitlab.py issues list --repo GROUP/REPO
$SKILL_DIR/scripts/gitlab.py issues view 123 --repo GROUP/REPO
# Merge Requests
$SKILL_DIR/scripts/gitlab.py mrs list --repo GROUP/REPO
$SKILL_DIR/scripts/gitlab.py mrs view 456 --repo GROUP/REPO
# Pipelines
$SKILL_DIR/scripts/gitlab.py pipelines list --repo GROUP/REPO
$SKILL_DIR/scripts/gitlab.py pipelines view 123456 --repo GROUP/REPO
# Repositories
$SKILL_DIR/scripts/gitlab.py repos list
$SKILL_DIR/scripts/gitlab.py repos view GROUP/REPO
すべてのコマンドで、一覧表示コマンドに --limit N を指定できます(デフォルトは 30 です)。
コマンド(glab を直接使用)
アクションコマンドには、glab を直接使用してください。
Issue
glab issue list # List issues
glab issue view 123 # View issue details
glab issue create # Create new issue
glab issue note 123 # Add comment
glab issue close 123 # Close issue
glab issue update 123 --label bug # Edit issue
詳細なリファレンス:glab issue
マージリクエスト
glab mr list # List merge requests
glab mr view 456 # View MR details
glab mr create # Create new MR
glab mr approve 456 # Approve MR
glab mr merge 456 # Merge MR
glab mr checkout 456 # Checkout MR branch
glab mr diff 456 # View MR diff
glab mr note 456 # Add comment to MR
詳細なリファレンス:glab mr
パイプラインと CI/CD
glab ci list # List pipelines
glab ci view 123456 # View pipeline details
glab ci run # Trigger pipeline
glab ci trace # Watch pipeline logs
glab ci retry 123456 # Retry failed pipeline
glab ci status # Show pipeline status
詳細なリファレンス:
リポジトリ
glab repo list # List repositories
glab repo view GROUP/REPO # View repository
glab repo create # Create repository
glab repo clone GROUP/REPO # Clone repository
glab repo fork GROUP/REPO # Fork repository
詳細なリファレンス:glab repo
リリース
glab release list # List releases
glab release view v1.0.0 # View release details
glab release create v1.0.0 # Create release
glab release delete v1.0.0 # Delete release
詳細なリファレンス:glab release
例
日々の MR レビュー
# List MRs assigned to you
glab mr list --assignee=@me
# Review a specific MR
$SKILL_DIR/scripts/gitlab.py mrs view 456
glab mr diff 456
glab mr approve 456
# Verify approval was recorded
$SKILL_DIR/scripts/gitlab.py mrs view 456 # check approval status
Issue を作成して MR にリンクする
# Create issue
glab issue create --title "Bug: Login fails" --description "Description" --label bug
# Verify: note the issue number from output
# Create MR that closes it (use issue number from above)
glab mr create --title "Fix login bug" --description "Closes #123"
# Verify MR was created and linked
$SKILL_DIR/scripts/gitlab.py mrs view <number>
CI パイプラインを監視する
# Check current pipeline status
glab ci status
# Watch pipeline logs in real-time
glab ci trace
# Retry failed jobs
glab ci retry
# Verify pipeline restarted
$SKILL_DIR/scripts/gitlab.py pipelines list
その他の例は、common-workflows.mdを参照してください。
高度な使い方
スクリプト向けの JSON 出力
# Get JSON output
glab issue list --output json
# Process with jq
glab mr list --output json | jq '.[] | "\(.iid): \(.title)"'
GitLab API へのアクセス
glab コマンドで対応していない操作には、次のコマンドを使用してください。
# Make authenticated API request
glab api projects/:id/issues
# POST request
glab api projects/:id/issues -X POST -f title="Issue" -f description="Text"
# Process response
glab api projects/:id | jq '.star_count'
詳細なリファレンス:glab api
よく使う操作のエイリアス
# Create shortcuts
glab alias set mrs 'mr list --assignee=@me'
glab alias set issues 'issue list --assignee=@me'
glab alias set pipelines 'ci list'
# Use them
glab mrs
glab issues
glab pipelines
設定
# View configuration
glab config get
# Set default editor
glab config set editor vim
# Set default Git protocol
glab config set git_protocol ssh
設定は ~/.config/glab-cli/config.yml に保存されます。
モデルに関するガイダンス
このスキルは公式 CLI をラップしています。高速で軽量なモデルで十分です。
トラブルシューティング
# Check authentication
glab auth status
# Re-authenticate
glab auth login
# Enable debug logging
DEBUG=1 glab issue list
# Check glab version
glab version
公式ドキュメント
- GitLab CLI マニュアル:https://docs.gitlab.com/cli/
- GitLab CLI リポジトリ:https://gitlab.com/gitlab-org/cli
- GitLab API ドキュメント:https://docs.gitlab.com/ee/api/
- GitLab CI/CD:https://docs.gitlab.com/ee/ci/