ユーザーがGitHub Actionsのタグ参照をSHA参照に変換するよう要求したときに発動してください。uses:フィールドのタグ参照を自動的にSHA参照(コミットハッシュ + コメント付きバージョン)に変換します。
Converts GitHub Actions tag references to SHA references for security. Runs `pinact run --check --diff` first to show changes, then `pinact run` to apply pinned commit hashes with version comments.
/plugin marketplace add syou6162/claude-code-commands/plugin install syou6162-plugin@syou6162-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
このスキルはGitHub Actionsワークフローファイル内のuses:フィールドで使用されているタグ参照(例: @v4)を、セキュリティのベストプラクティスに従ってSHA参照(例: @11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2)に自動変換します。
以下の場合にこのスキルを発動してください:
まず --check --diff オプションで、どのファイルが変更されるかを確認します:
pinact run --check --diff
出力例:
ERROR action isn't pinned
.github/workflows/ci.yaml:10
- uses: actions/checkout@v4
+ uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
ERROR action isn't pinned
.github/workflows/ci.yaml:11
- - uses: actions/setup-go@v4
+ - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
ERROR action isn't pinned
.github/workflows/deploy.yaml:15
- uses: actions/checkout@v4
+ uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
確認後、pinact run を実行してすべての対象ファイルを一括変換します:
pinact run
pinactは以下を自動的に行います:
.github/workflows/*.{yml,yaml} と action.{yml,yaml} を自動検出して変換ステップ1: 変更対象を確認:
pinact run --check --diff
出力:
ERROR action isn't pinned
.github/workflows/ci.yaml:10
- uses: actions/checkout@v4
+ uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
ERROR action isn't pinned
.github/workflows/ci.yaml:11
- - uses: actions/setup-go@v4
+ - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
ステップ2: 変換を実行:
pinact run
変換後のワークフローファイル (.github/workflows/ci.yaml):
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
</example>
</examples>
pinact run --check --diff で変更対象を確認するpinact run で全ファイルを一括変換する--check --diff で確認せずに pinact run を実行しないpinact --versionで確認)pinact run --check --diff で変更対象を確認した