github-actions-generator について
GitHub Actionsのワークフロー、カスタムアクション、再利用可能なワークフローを生成するスキルです。要求に応じて処理経路を選び、セキュリティと保守の基準を適用して、検証または代替手段の報告を行います。
主な機能
- 01ワークフローとカスタムアクションの生成
- 02再利用可能なワークフローの作成
- 03権限とシークレットの保護策の適用
- 04サードパーティアクションのコミットSHA固定
- 05成果物の検証または代替策の報告
活用シーン
- 01CI/CDワークフローの作成
- 02再利用可能な手順のカスタムアクション化
- 03複数リポジトリでのワークフロー共有
- 04依存関係やコードのセキュリティスキャン追加
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ akin-ozer/ cc-devops-skills --skill github-actions-generatorインストール後、Claude Code で/github-actions-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/templates/action/composite/action.ymlassets/templates/action/docker/action.ymlDockerfileentrypoint.shassets/templates/action/javascript/action.ymlindex.jspackage.jsonassets/templates/workflow/basic_workflow.ymlreusable_workflow.ymlexamples/README.mdexamples/actions/setup-node-cached/action.ymlexamples/caching/docker-buildkit.ymlexamples/security/dependency-review.ymlsbom-attestation.ymlexamples/triggers/chatops-commands.ymlrepository-dispatch.ymlworkflow-orchestration.ymlexamples/workflows/docker-build-push.ymlgo-ci.ymlmonorepo-ci.ymlmulti-environment-deploy.ymlnodejs-ci.ymlpython-ci.ymlscheduled-tasks.ymlreferences/advanced-triggers.mdbest-practices.mdcommon-actions.mdcustom-actions.mdexpressions-and-contexts.mdmodern-features.md詳細
GitHub Actions ジェネレーター
現在のベストプラクティス、セキュリティ基準、命名規則に沿った、本番環境向けの GitHub Actions ワークフローとカスタムアクションを生成します。生成されたすべてのリソースは、devops-skills:github-actions-validator スキルを使用して自動的に検証されます。
クイックリファレンス
| 機能 | 使用する場面 | リファレンス |
|---|---|---|
| ワークフロー | CI/CD、自動化、テスト | references/best-practices.md |
| コンポジットアクション | ステップを再利用可能な形で組み合わせる場合 | references/custom-actions.md |
| Docker アクション | カスタム環境/ツール | references/custom-actions.md |
| JavaScript アクション | API の操作、複雑なロジック | references/custom-actions.md |
| 再利用可能なワークフロー | リポジトリ間でパターンを共有する場合 | references/advanced-triggers.md |
| セキュリティスキャン | 依存関係レビュー、SBOM | references/best-practices.md |
| 最新機能 | サマリー、環境 | references/modern-features.md |
トリガー判定ツリー
リファレンスを読んだりファイルを生成したりする前に、すべてのリクエストをこの判定ツリーに従って振り分けます。
- ユーザーが
.github/workflows/*.ymlの CI/CD 自動化を求めている場合は、ワークフロー生成を選択します。 - ユーザーが
action.ymlまたは再利用可能なステップパッケージを求めている場合は、カスタムアクション生成を選択します。 - ユーザーが
workflow_callまたはリポジトリ間で共有するパイプラインを求めている場合は、再利用可能なワークフロー生成を選択します。 - リクエストがセキュリティのみのスキャン(依存関係レビュー、SBOM、CodeQL)を含む場合は、セキュリティパターンを使用したワークフロー生成を選択します。
- 意図が曖昧な場合は、確認の質問を1つします。「ワークフロー、カスタムアクション、再利用可能なワークフローのどれが必要ですか?」
段階的な参照ルート
選択したルートに必要なものだけを、次の順番で読み込みます。
| ルート | 最初に読み込む(必須) | 次に読み込む(必要な場合のみ) | 主なテンプレート |
|---|---|---|---|
| ワークフロー生成 | references/best-practices.md | references/common-actions.md、references/expressions-and-contexts.md、references/modern-features.md | assets/templates/workflow/basic_workflow.yml |
| カスタムアクション生成 | references/custom-actions.md | references/best-practices.md | assets/templates/action/composite/action.yml、assets/templates/action/docker/、assets/templates/action/javascript/ |
| 再利用可能なワークフロー生成 | references/advanced-triggers.md | references/best-practices.md、references/common-actions.md | assets/templates/workflow/reusable_workflow.yml |
必須のリファレンス/テンプレートが利用できない場合は、最も近い利用可能なものを使用して続行し、代替したことを出力で明示します。
主な機能
1. ワークフローの生成
トリガー:「〜のワークフローを作成して」「CI/CD パイプラインを構築して」など
手順:
- 要件を把握します(トリガー、ランナー、依存関係)
- 信頼境界を定義します(内部ブランチ、フォークからの PR、外部トリガー)
permissionsのデフォルトを読み取り専用にし、必要な場合に限ってジョブごとに権限を引き上げます- パターンについては
references/best-practices.mdを参照します - アクションのバージョンについては
references/common-actions.mdを参照します - 次の要素を含むワークフローを生成します。
- 意味が明確な名前、SHA で固定したアクション、明示的な権限
- 同時実行制御、キャッシュ、マトリックス戦略
- フォークからの PR を安全に処理する仕組み(信頼できないコンテキストではシークレットを使用しない)
- devops-skills:github-actions-validator スキルで検証します
- 必要に応じて問題を修正し、再検証します
最小限の例:
name: CI Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: '24'
cache: 'npm'
- run: npm ci
- run: npm test
信頼できない PR に対するガードレール(シークレットを使用するジョブでは必須):
jobs:
deploy:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
2. カスタムアクションの生成
トリガー:「複合アクションを作成して……」「Docker アクションを作成して……」「JavaScript アクションを作成して……」
種類:
- **複合:**複数のステップを組み合わせます → 起動が高速です
- **Docker:**カスタム環境/ツールを使用します → 分離されています
- **JavaScript:**API アクセスや複雑なロジックに対応します → 最速です
プロセス:
assets/templates/action/のテンプレートを使用しますreferences/custom-actions.mdに記載された構成に従います- ブランディング、入力/出力、ドキュメントを含めます
- devops-skills:github-actions-validator スキルで検証します
以下については、references/custom-actions.md を参照してください。
- アクションのメタデータとブランディング
- ディレクトリ構造のパターン
- バージョン管理とリリースのワークフロー
3. 再利用可能なワークフローの生成
トリガー:「再利用可能なワークフローを作成して……」「このワークフローを呼び出し可能にして……」
主な要素:
- 型指定された入力を持つ
workflow_callトリガー - 明示的なシークレット(
secrets: inheritは避けてください) - 信頼できる呼び出し元への期待事項を明示する(組織/リポジトリの境界を文書化します)
- ジョブの出力からマッピングされた出力
- 最小限の権限
on:
workflow_call:
inputs:
environment:
required: true
type: string
secrets:
deploy-token:
required: false
outputs:
result:
value: ${{ jobs.build.outputs.result }}
シークレットが必要な場合は、必要なシークレット名だけを渡し、デプロイ段階では環境保護ルールを優先してください。
完全なパターンについては、references/advanced-triggers.md を参照してください。
4. セキュリティワークフローの生成
トリガー:「セキュリティスキャンを追加して……」「依存関係レビューを追加して……」「SBOM を生成して……」
コンポーネント:
- 依存関係レビュー:
actions/dependency-review-action@v4 - SBOM アテステーション:
actions/attest-sbom@v2 - CodeQL 分析:
github/codeql-action
権限モデル: ワークフローレベルでは読み取り専用をベースラインとし、書き込みスコープが必要なセキュリティジョブだけで権限を昇格させてください。
permissions:
contents: read
jobs:
security-scan:
permissions:
contents: read
security-events: write # For CodeQL
id-token: write # For attestations
attestations: write # For attestations
セキュリティについては、references/best-practices.md の該当セクションを参照してください。
5. 最新機能
トリガー:「ジョブサマリーを追加して……」「環境を使用して……」「コンテナーで実行して……」
以下については、references/modern-features.md を参照してください。
- ジョブサマリー(
$GITHUB_STEP_SUMMARY) - 承認機能付きのデプロイ環境
- サービスを使用するコンテナージョブ
- ワークフローの注釈
6. サードパーティアクションのドキュメントと引用
サードパーティアクション(同じリポジトリにない uses: エントリー)を使用する場合:
-
ドキュメントを検索します:
"[owner/repo] [version] github action documentation" -
または Context7 MCP を使用します:
mcp__context7__resolve-library-idでアクションを検索しますmcp__context7__query-docsでドキュメントを検索します
-
バージョンコメントを付けて SHA に固定します:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 -
回答内でソースとバージョンを引用します:
- アクションのソース(リポジトリ URL)
- バージョンのソース(リリース/タグ/変更履歴の URL)
- 選択したコミット SHA と人が読みやすいバージョン表記
- 使用したソースのアクセス日
事前検証済みのアクションバージョンについては、references/common-actions.md を参照してください。
検証ワークフロー
**重要:**生成するリソースはすべて、必ず検証してください。
- ワークフロー/アクションファイルを生成します
devops-skills:github-actions-validatorスキルを呼び出します- エラーがある場合:修正して再検証します
- 成功した場合:使用方法を説明して提示します
検証を省略できる場合:
- コードスニペットの一部
- ドキュメントの例
- ユーザーが明示的に省略を要求した場合
フォールバックの動作(ツールおよび環境の制約)
必要なツールやネットワークアクセスが利用できない場合は、次の順序で決定的なフォールバックを使用してください。
devops-skills:github-actions-validatorが利用できない場合は、ローカルのフォールバックチェックを実行します。actionlint(インストールされている場合)yamllint(インストールされている場合)- 「ツールによる検証は未実施」と明記したうえで、YAML/スキーマを手動でレビューします
- Context7 またはインターネットアクセスが利用できない場合:
- 既知のアクションバージョンについては
references/common-actions.mdを使用します - 外部でのバージョン確認を完了できなかったことを明記します
- 既知のアクションバージョンについては
- テンプレートのパスが見つからない場合:
assets/templates/内で最も近いテンプレートパターンから生成します- 代用したテンプレートを記載します
フォールバックを使用した場合は、必ず最終出力で報告してください。
必須基準
生成するすべてのリソースは、以下に従う必要があります。
| 基準 | 実装 |
|---|---|
| セキュリティ | SHA に固定し、権限を最小限にし、シークレットをマスクする |
| パフォーマンス | キャッシュ、並行処理、浅いチェックアウト |
| 命名 | 内容が分かる名前、小文字とハイフンを使ったファイル名 |
| エラー処理 | タイムアウト、if: always() によるクリーンアップ |
完全なガイドラインについては、references/best-practices.md を参照してください。
リソース
リファレンスドキュメント
| ドキュメント | 内容 | 使用する場面 |
|---|---|---|
references/best-practices.md | セキュリティ、パフォーマンス、パターン | すべてのワークフロー |
references/common-actions.md | アクションのバージョン、入力、出力 | パブリックアクションの使用 |
references/expressions-and-contexts.md | ${{ }} 構文、コンテキスト、関数 | 複雑な条件分岐 |
references/advanced-triggers.md | workflow_run、dispatch、ChatOps | ワークフローのオーケストレーション |
references/custom-actions.md | メタデータ、構造、バージョン管理 | カスタムアクションの作成 |
references/modern-features.md | サマリー、環境、コンテナー | ワークフローの強化 |
テンプレート
| テンプレート | 場所 |
|---|---|
| 基本ワークフロー | assets/templates/workflow/basic_workflow.yml |
| 再利用可能なワークフロー | assets/templates/workflow/reusable_workflow.yml |
| コンポジットアクション | assets/templates/action/composite/action.yml |
| Docker アクション | assets/templates/action/docker/ |
| JavaScript アクション | assets/templates/action/javascript/ |
よくあるパターン
マトリックステスト
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
node: [18, 20, 22]
fail-fast: false
条件付きデプロイ
deploy:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
アーティファクトの共有
# Upload
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: build-${{ github.sha }}
path: dist/
# Download (in dependent job)
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
name: build-${{ github.sha }}
サードパーティアクションの引用ブロック
Third-party action citations:
- actions/checkout: https://github.com/actions/checkout (version: v6.0.2, sha: de0fac2e4500dabe0009e67214ff5f5447ce83dd, accessed: 2026-02-28)
完了条件
以下のすべてのチェックに合格した場合にのみ、タスクは完了です。
- トリガーの判断ツリーを使用して、リクエストのルートを選択した。
- 最初に読み込んだのは、必要最小限のリファレンス/テンプレートのみだった。
- すべてのサードパーティアクションがコミット SHA に固定され、ソース/バージョンの引用がある。
- 検証を実行したか、スキップの例外/代替手段を明示的に記録した。
- 出力に前提、セキュリティ上重要な判断(権限/シークレット)、生成したファイルのパスが含まれている。
ワークフローの概要
- トリガーの判断ツリーを使って、リクエストのルートを決定する
- そのルートに必要な最小限のリファレンス/テンプレートを読み込む
- 必須のセキュリティ基準と命名基準に従って生成する
- サードパーティアクションを引用し、固定する(ソース、バージョン、SHA)
devops-skills:github-actions-validatorを使って検証する(または、記録済みの代替手段を使う)- 問題がなくなるまで修正して再検証する
- 引用、前提、ファイルパスを添えて、検証済みの出力を提示する