mcpField
S
shunk031-github-cgd-identity

shunk031-github-cgd-identity

github.com/shunk031開発058 回インストール1 週間前に更新
リポジトリ

shunk031-github-cgd-identity について

shunk031-github-cgd-identity は、creative-graphic-design 組織のリポジトリで指定ボットアカウントを使って Git と GitHub の書き込みを行うスキルです。変更前に本人確認、認証情報、権限、適用範囲を確認します。

主な機能

  1. 01組織への書き込みにボット身份を使用
  2. 02リポジトリと書き込み権限の確認
  3. 03コマンドごとのトークン使用
  4. 04ボット名義でのコミット
  5. 05適用範囲と承認境界の明示

活用シーン

  1. 01組織リポジトリでプルリクエストを作成
  2. 02ボット認証情報で変更をプッシュ
  3. 03Issue やプルリクエストを更新
  4. 04本人確認に失敗した場合に書き込みを中止

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/shunk031/skills --skill shunk031-github-cgd-identity

インストール後、Claude Code で/shunk031-github-cgd-identityを入力して読み込まれたか確認します。

詳細

メモ

この SKILL.md を読んだ後、🎨 I read shunk031-github-cgd-identity. と言ってください。

CGD Dev の ID

概要

creative-graphic-design 組織のリポジトリに対する git および gh の書き込み操作は、個人アカウントではなく、マシンユーザー creative-graphic-design-dev(ユーザー ID 176740601)として実行します。ボットが作成した PR であれば、人間のアカウントが正式にレビューして承認できます。GitHub ではユーザーが自分の PR を承認できないため、個人アカウントで PR を作成すると、レビューフローが機能しなくなります。

セットアップ

書き込み操作を開始する前に、作業中のシェルとワークツリーで以下の確認を行ってください。失敗した後に調査するのではなく、開始時の手順として実行してください。

  1. リポジトリへの書き込みでは、git remote get-url origin が github.com/creative-graphic-design を指していることを確認します。

    該当しない場合、このスキルは適用されません。通常の git ID と認証を使用してください。新しいマシンでの setup-gh-cgd ブートストラップは対象外です。

  2. GitHub CLI のシステム認証情報ストアにボットアカウントが登録されていることを確認します。新しいマシンでは、対話形式のセットアップコマンドを一度実行し、ブラウザーで creative-graphic-design-dev として認証してください。

    setup-gh-cgd
    

    エージェントの作業中に gh auth switch を使用しないでください。ホスト全体のアクティブアカウントが変更され、並行セッションと競合する可能性があります。

  3. アカウント名を指定して保存済みのボットトークンを取得し、gh または git の認証情報を使う各書き込みコマンドにのみ渡します。

    GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" gh pr create ...
    GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" git push
    

    トークンを永続的なシェル環境にエクスポートしたり、表示したりしないでください。コマンドごとにプレフィックスを付けることで、アカウント選択を明示し、GitHub CLI のグローバルなアクティブアカウントを変更せずに済みます。

  4. GitHub の ID と、組織リポジトリへのプッシュ権限を確認します。gh api user で確認できるのはログイン中のアカウントのみで、組織リソースへのアクセス権は確認できません。

    GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" gh api user --jq .login
    GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" gh api repos/creative-graphic-design/<repo> --jq .permissions.push
    

    1つ目のコマンドが creative-graphic-design-dev を返し、2つ目のコマンドが true を返すまでは、書き込み操作を開始しないでください。

  5. 各コミットコマンドで、コミット作成者をボットに設定します。

    git -c user.name=creative-graphic-design-dev \
        -c user.email=176740601+creative-graphic-design-dev@users.noreply.github.com \
        commit ...
    

    リンクされたワークツリーでは git config user.name/email を使用しないでください。共有の .git/config に書き込まれ、メインのチェックアウトや並行するワークツリーの作成者も変更されます。

  6. この環境では SSH がプロキシを使用しないため、HTTPS 経由でプッシュします。明示的なプッシュ URL を設定してください。

    git remote set-url --push origin https://github.com/creative-graphic-design/<repo>
    

GH_TOKEN は、同じコマンド環境内の gh と git の認証情報ヘルパーの両方に適用されます。認証情報ヘルパーは、ユーザー名 x-access-token とともにトークンを返します。

適用範囲

  • このスキルは github.com 上の creative-graphic-design 組織のリポジトリにのみ適用されます。他のホスト、組織、個人リポジトリでは、保存済みのボット認証情報やボットのコミット ID を使用しないでください。それらでは通常の認証と通常の git ID を使用してください。
  • creative-graphic-design 組織のリポジトリに対するコーディングエージェントのすべての書き込み操作は、ボットに帰属させてください。これにはコミット、プッシュ、PR の作成と更新、PR への返信、イシューへのコメント、ラベル、マイルストーン、ユーザーから依頼されたマージが含まれます。
  • セットアップの確認に失敗した場合は、ボット ID の使用を完全に中止してください。認証情報の確認に失敗したのにボットのコミット作成者を設定したり、別のアカウントでプッシュしたりするなど、一部だけ適用してはいけません。停止して報告してください。
  • 人間(shunk031)が行うのは、GitHub UI での PR 承認とマージの判断のみです。ボットとして PR を承認しないでください。

トラブルシューティング

  • gh auth token --user creative-graphic-design-dev が失敗するか、保存済みの認証情報が拒否された場合は、gh auth logout --hostname github.com --user creative-graphic-design-dev でそのアカウントを削除してから、setup-gh-cgd を再実行してください。これはローカルの認証状態を変更するため、ユーザーが対話形式で行う必要があります。
  • ID の確認に成功してもリポジトリの権限が false の場合は、再試行する前に対象のリポジトリへのアクセス権を creative-graphic-design-dev に付与してください。リポジトリのメンバーシップのみが変更された場合、再認証は不要です。

コメント