Agent skill

gha-sha-reference

ユーザーがGitHub Actionsのタグ参照をSHA参照に変換するよう要求したときに発動してください。uses:フィールドのタグ参照を自動的にSHA参照(コミットハッシュ + コメント付きバージョン)に変換します。

Stars 11
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/syou6162/claude-code-commands/tree/main/skills/gha-sha-reference

SKILL.md

GitHub Actions SHA Reference Skill

目的

このスキルはGitHub Actionsワークフローファイル内のuses:フィールドで使用されているタグ参照(例: @v4)を、セキュリティのベストプラクティスに従ってSHA参照(例: @11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2)に自動変換します。

使用タイミング

以下の場合にこのスキルを発動してください:

  • ユーザーが「GitHub ActionsをSHA参照に変換して」と要求したとき
  • ユーザーが「actionsのusesをSHAに書き換えて」と言及したとき

実行手順

1. 変更対象を確認

まず --check --diff オプションで、どのファイルが変更されるかを確認します:

bash
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

2. 変換を実行

確認後、pinact run を実行してすべての対象ファイルを一括変換します:

bash
pinact run

pinactは以下を自動的に行います:

  • タグ参照からコミットSHAを取得
  • 最も詳細なバージョンタグ(v4.3.0など)をコメントとして追加
  • .github/workflows/*.{yml,yaml}action.{yml,yaml} を自動検出して変換

実装例

例1: 基本的な使用方法

ステップ1: 変更対象を確認:

bash
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: 変換を実行:

bash
pinact run

変換後のワークフローファイル (.github/workflows/ci.yaml):

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

重要な注意事項

すべきこと

  • pinactを使用: GitHub Actions SHA参照変換には専用ツールpinactを使用する
  • まず --check --diff で確認: pinact run --check --diff で変更対象を確認する
  • 一括実行: diffで確認した後、pinact run で全ファイルを一括変換する
  • 変換結果を報告: 何が変換されたかユーザーに伝える

してはいけないこと

  • カスタムスクリプトを作成: pinactという専用ツールがあるので、独自スクリプトは不要
  • いきなり実行: --check --diff で確認せずに pinact run を実行しない
  • エラーを無視: pinactの実行でエラーが出た場合は、そのまま進めずユーザーに報告する

実行前チェックリスト

  • pinactがインストールされている(pinact --versionで確認)
  • pinact run --check --diff で変更対象を確認した
  • diffの出力から変換対象のファイル一覧を把握した

参考リンク

Expand your agent's capabilities with these related and highly-rated skills.

syou6162/claude-code-commands

assembling-dev-team

「開発チーム集合」「チームで実装」「チーム編成して」の言及時に使用。プランファイルに基づいて実装・リリース・レビュー・プラン更新の4担当をスポーンし、ステップごとに実装→レビュー→リリースのサイクルを回す。

11 0
Explore
syou6162/claude-code-commands

requesting-gcloud-bq-auth

gcloudやbqコマンド実行時に認証エラー(Reauthentication required等)を検出した場合に使用。エージェントが自動で認証コマンドを実行することを防ぎ、ユーザーに認証を依頼します。

11 0
Explore
syou6162/claude-code-commands

planning-guardrails

Plan modeや計画作成・プラン作成の依頼時に必ず発動し、必須セクションを漏れなく含む計画を作るためのガードレールを提供します。参考情報(URL/過去PR/ファイルパス)とユーザー発言(要約+生ログ)を必須化し、テストがある場合はTDD前提と正常系/異常系テストケース記載を強制します。

11 0
Explore
syou6162/claude-code-commands

updating-pr-title-and-description

Pull Request作成・更新時に使用。タイトルと説明文を自動生成・更新する。

11 0
Explore
syou6162/claude-code-commands

ask-user-choice

ユーザーに質問や確認をする際に毎回発動してください。自由回答形式ではなく、明確な選択肢(1質問あたり2-4個)を持つAskUserQuestionツールを使用し、ユーザーの入力負担を軽減して意思決定を迅速化します。柔軟性のためmultiSelect trueをデフォルトにしてください。

11 0
Explore
syou6162/claude-code-commands

semantic-committing

コミット時、「commit」「git add」「変更を分割」の言及時に使用。git diffを分析し、変更を論理的な意味単位に分割してコミットする。git-sequential-stageでhunk単位のステージングを行う。

11 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results