managing-github-actions-secrets について
managing-github-actions-secrets は、GitHub Actions のシークレットを組織レベルで管理する PostHog 専用スキルです。gh または GitHub UI を使った作成・更新と、リポジトリ単位のアクセス制限を案内します。
主な機能
- 01gh による組織レベルのシークレット作成
- 02選択したリポジトリへのアクセス制限
- 03既存シークレットのアクセス権更新
- 04GitHub UI でのシークレット管理
- 05シークレット値の露出防止
活用シーン
- 01選択した PostHog リポジトリへのシークレット追加
- 02組織シークレットのリポジトリアクセス変更
- 03GitHub Actions シークレットの設定先の判断
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ posthog/ posthog --skill managing-github-actions-secretsインストール後、Claude Code で/managing-github-actions-secretsを入力して読み込まれたか確認します。
詳細
PostHog 向け GitHub Actions シークレットの管理
PostHog はすべての GitHub Actions シークレットを組織レベルで一元管理し、 個々のリポジトリにそれらへのアクセス権を付与します。たとえそのシークレットを 現在 1 つのワークフローしか利用していなくても、単一のリポジトリにシークレットを 追加しないでください。
ルール
- シークレットは常にリポジトリではなく
posthog組織に作成します。 - 組織レベルのアクセス制御(選択したリポジトリ)を通じて、特定のリポジトリに シークレットを付与します。そのシークレットが本当に組織全体で共有されるべきもので ない限り、デフォルトですべてのリポジトリで利用可能にしないでください。
- シークレットの値をチャット、PR の説明、コミットメッセージ、ファイルに 決して貼り付けないでください。パイプで渡すか、GitHub UI のシークレット欄にのみ 貼り付けてください。
gh CLI でシークレットを作成または更新する
シークレットの値を --org posthog を付けて gh secret set にパイプで渡します。
以下の例では標準入力から値を読み取るため、シェルの履歴に残りません:
# Read from clipboard / a pipe / a file — never inline as an argument
pbpaste | gh secret set POSTHOGOS_PACKAGER_KEY --org posthog
よくあるバリエーション:
# From a file
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog < secret.txt
# Restrict to selected repositories at creation time
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog \
--visibility selected --repos PostHog/posthog,PostHog/posthog-foss
# Update which repos can access an existing org secret
gh secret set POSTHOGOS_PACKAGER_KEY --org posthog \
--visibility selected --repos PostHog/posthog
確認:
gh secret list --org posthog | grep POSTHOGOS_PACKAGER_KEY
GitHub UI でシークレットを作成または更新する
- https://github.com/organizations/PostHog/settings/secrets/actions を開きます。
- New organization secret をクリックします(更新する場合は既存のシークレット)。
- Name を設定します(SCREAMING_SNAKE_CASE、
POSTHOGOS_PACKAGER_KEYのような説明的な名前)。 - Value を貼り付けます。
- Repository access で Selected repositories を選択し、それを必要とする 正確なリポジトリを選びます。そのシークレットを組織内のすべてのリポジトリに 公開しても安全でない限り、All repositories は避けてください。
- Add secret / Update secret をクリックします。
やってはいけないこと
--org posthogを付けずにgh secret set NAMEを実行しないでください。それはghが現在向いているリポジトリにリポジトリレベルのシークレットを作成します。- シークレットを追加するために個々のリポジトリの
Settings → Secrets and variables → Actionsに移動しないでください。組織レベルに すべきものがリポジトリレベルのシークレットとしてすでに存在する場合は、移行して ください(組織で作成し、リポジトリに付与し、その後リポジトリレベルのコピーを 削除します)。 - コマンド、ログ、ファイルにシークレットの値を echo しないでください。値が 誤って露出した場合は、直ちにローテーションしてください。
ユーザーが「このシークレットはどこに追加すればいい?」と尋ねたとき
デフォルトの答え: gh secret set --org posthog を使って組織レベルで作成し、
それを必要とする特定のリポジトリに付与します。ユーザーが明示的にこれを
上書きしない限り(たとえばデプロイ環境の環境スコープのシークレット。これは
別の仕組みです)、これ以外の方法は取りません。
コメント
Markdown 対応