git-platform について
git-platformは、GitHub、GitLab、Bitbucketを判別し、各プラットフォームの操作コマンドを対応付けるスキルです。SessionStartフックが検出結果をセッションコンテキストに追加します。
主な機能
- 01ホスティング先の自動判別
- 02GitHubとGitLabのCLIコマンド対応表
- 03Bitbucket API操作の参照
- 04プラットフォーム別の用語と設定
活用シーン
- 01IssueやPR/MR作成前のプラットフォーム確認
- 02異なるホスティング先向けのCI/CD設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill git-platformインストール後、Claude Code で/git-platformを入力して読み込まれたか確認します。
同梱ファイルmodules/command-mapping.md
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
Git プラットフォームの検出とコマンドのマッピング
概要
Git フォージ操作のためのクロスプラットフォーム抽象化です。現在のプロジェクトで GitHub、GitLab、Bitbucket のどれが使われているかを検出し、各プラットフォームに対応する CLI コマンドを提供します。
SessionStart フック(detect-git-platform.sh)が、検出したプラットフォームをセッションコンテキストに自動で挿入します。このスキルでは、各プラットフォーム間で操作を変換するためのコマンドリファレンスを提供します。
使用するタイミング
gh、glab、またはフォージ API コマンドを実行する前- スキルやコマンドでイシュー、PR/MR の作成、コメントの投稿が必要な場合
- CI/CD 設定を記述する場合
- ワークフローにフォージ固有の CLI コマンドが含まれる場合
使用しないタイミング
- ローカルのみの Git 操作(
git commit、git branchなど) - ホストされている Git リモートがないプロジェクト
プラットフォームの検出
SessionStart フックによって自動で検出されます。セッションコンテキストには次の内容が含まれます。
git_platform: github|gitlab|bitbucket, cli: gh|glab, mr_term: pull request|merge request
手動で再検出する必要がある場合は、次のコマンドを実行します。
# Check remote URL
git remote get-url origin 2>/dev/null
# Check file markers
ls -d .github/ .gitlab-ci.yml bitbucket-pipelines.yml 2>/dev/null
# Check CLI availability
command -v gh && echo "GitHub CLI available"
command -v glab && echo "GitLab CLI available"
コマンド早見表
| 操作 | GitHub(gh) | GitLab(glab) |
|---|---|---|
| イシューを表示 | gh issue view N --json title,body,labels | glab issue view N |
| イシューを一覧表示 | gh issue list --json number,title | glab issue list |
| イシューを作成 | gh issue create --title "T" --body "B" | glab issue create --title "T" --description "B" |
| イシューをクローズ | gh issue close N | glab issue close N |
| イシューにコメント | gh issue comment N --body "msg" | glab issue note N --message "msg" |
| PR/MR を表示 | gh pr view N | glab mr view N |
| PR/MR を作成 | gh pr create --title "T" --body "B" | glab mr create --title "T" --description "B" |
| PR/MR のコメントを一覧表示 | gh api repos/O/R/pulls/N/comments | glab mr note list N |
| 現在の PR/MR | gh pr view --json number | glab mr view --json iid |
| スレッドを解決 | gh api graphql | glab api graphql |
| リポジトリ情報 | gh repo view --json owner,name | glab repo view |
Bitbucket の場合:標準 CLI はありません。REST API(curl)またはウェブインターフェースを使用してください。API による代替手段については、command-mapping module を参照してください。
用語
| 概念 | GitHub | GitLab | Bitbucket |
|---|---|---|---|
| コードレビューの単位 | プルリクエスト(PR) | マージリクエスト(MR) | プルリクエスト(PR) |
| CI 設定 | .github/workflows/*.yml | .gitlab-ci.yml | bitbucket-pipelines.yml |
| デフォルトブランチ | main | main | main |
| レビューコメント | PR レビューコメント | MR ディスカッションノート | PR コメント |
重要:プラットフォームが GitLab の場合、ユーザー向けの出力、コミットメッセージ、コメントでは、常に「プルリクエスト」ではなく「マージリクエスト」と呼んでください。
統合パターン
フォージ操作を行うスキルでは、次の手順を実行します。
dependencies: [leyline:git-platform]を宣言する- セッションコンテキストで
git_platform:を確認する - 上記のコマンドマッピング表を使用する
- CLI を利用できない場合は、適切にフォールバックする
# Example skill instruction pattern:
## Step N: Create PR/MR
Use the detected platform CLI (check session context for `git_platform`):
- **GitHub**: `gh pr create --title "..." --body "..."`
- **GitLab**: `glab mr create --title "..." --description "..."`
- **Bitbucket**: Create via web interface
詳細リソース
- コマンドマッピングの全容:完全な API 対応表、GraphQL クエリ、Bitbucket REST API のパターンについては、modules/command-mapping.md を参照してください
- 認証:
ensure_auth github|gitlabについては、Skill(leyline:authentication-patterns)を参照してください
完了条件
- プラットフォームが検出されている(または明示的に不明とされている)
- すべてのフォージ操作で適切な CLI ツールが使われている
- ユーザー向けの出力で、プラットフォームに適した用語が使われている