mcpField
G
github-actions-generator

github-actions-generator

github.com/akin-ozerクラウド・DevOps329648 回インストール16 週間前に更新
リポジトリ

github-actions-generator について

GitHub Actionsのワークフロー、カスタムアクション、再利用可能なワークフローを生成するスキルです。要求に応じて処理経路を選び、セキュリティと保守の基準を適用して、検証または代替手段の報告を行います。

主な機能

  1. 01ワークフローとカスタムアクションの生成
  2. 02再利用可能なワークフローの作成
  3. 03権限とシークレットの保護策の適用
  4. 04サードパーティアクションのコミットSHA固定
  5. 05成果物の検証または代替策の報告

活用シーン

  1. 01CI/CDワークフローの作成
  2. 02再利用可能な手順のカスタムアクション化
  3. 03複数リポジトリでのワークフロー共有
  4. 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.yml
assets/templates/action/docker/
action.yml
Dockerfile
entrypoint.sh
assets/templates/action/javascript/
action.yml
index.js
package.json
assets/templates/workflow/
basic_workflow.yml
reusable_workflow.yml
examples/
README.md
examples/actions/setup-node-cached/
action.yml
examples/caching/
docker-buildkit.yml
examples/security/
dependency-review.yml
sbom-attestation.yml
examples/triggers/
chatops-commands.yml
repository-dispatch.yml
workflow-orchestration.yml
examples/workflows/
docker-build-push.yml
go-ci.yml
monorepo-ci.yml
multi-environment-deploy.yml
nodejs-ci.yml
python-ci.yml
scheduled-tasks.yml
references/
advanced-triggers.md
best-practices.md
common-actions.md
custom-actions.md
expressions-and-contexts.md
modern-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
セキュリティスキャン依存関係レビュー、SBOMreferences/best-practices.md
最新機能サマリー、環境references/modern-features.md

トリガー判定ツリー

リファレンスを読んだりファイルを生成したりする前に、すべてのリクエストをこの判定ツリーに従って振り分けます。

  1. ユーザーが .github/workflows/*.yml の CI/CD 自動化を求めている場合は、ワークフロー生成を選択します。
  2. ユーザーが action.yml または再利用可能なステップパッケージを求めている場合は、カスタムアクション生成を選択します。
  3. ユーザーが workflow_call またはリポジトリ間で共有するパイプラインを求めている場合は、再利用可能なワークフロー生成を選択します。
  4. リクエストがセキュリティのみのスキャン(依存関係レビュー、SBOM、CodeQL)を含む場合は、セキュリティパターンを使用したワークフロー生成を選択します。
  5. 意図が曖昧な場合は、確認の質問を1つします。「ワークフロー、カスタムアクション、再利用可能なワークフローのどれが必要ですか?」

段階的な参照ルート

選択したルートに必要なものだけを、次の順番で読み込みます。

ルート最初に読み込む(必須)次に読み込む(必要な場合のみ)主なテンプレート
ワークフロー生成references/best-practices.mdreferences/common-actions.md、references/expressions-and-contexts.md、references/modern-features.mdassets/templates/workflow/basic_workflow.yml
カスタムアクション生成references/custom-actions.mdreferences/best-practices.mdassets/templates/action/composite/action.yml、assets/templates/action/docker/、assets/templates/action/javascript/
再利用可能なワークフロー生成references/advanced-triggers.mdreferences/best-practices.md、references/common-actions.mdassets/templates/workflow/reusable_workflow.yml

必須のリファレンス/テンプレートが利用できない場合は、最も近い利用可能なものを使用して続行し、代替したことを出力で明示します。


主な機能

1. ワークフローの生成

トリガー:「〜のワークフローを作成して」「CI/CD パイプラインを構築して」など

手順:

  1. 要件を把握します(トリガー、ランナー、依存関係)
  2. 信頼境界を定義します(内部ブランチ、フォークからの PR、外部トリガー)
  3. permissions のデフォルトを読み取り専用にし、必要な場合に限ってジョブごとに権限を引き上げます
  4. パターンについては references/best-practices.md を参照します
  5. アクションのバージョンについては references/common-actions.md を参照します
  6. 次の要素を含むワークフローを生成します。
    • 意味が明確な名前、SHA で固定したアクション、明示的な権限
    • 同時実行制御、キャッシュ、マトリックス戦略
    • フォークからの PR を安全に処理する仕組み(信頼できないコンテキストではシークレットを使用しない)
  7. devops-skills:github-actions-validator スキルで検証します
  8. 必要に応じて問題を修正し、再検証します

最小限の例:

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 アクセスや複雑なロジックに対応します → 最速です

プロセス:

  1. assets/templates/action/ のテンプレートを使用します
  2. references/custom-actions.md に記載された構成に従います
  3. ブランディング、入力/出力、ドキュメントを含めます
  4. 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: エントリー)を使用する場合:

  1. ドキュメントを検索します:

    "[owner/repo] [version] github action documentation"
    
  2. または Context7 MCP を使用します:

    • mcp__context7__resolve-library-id でアクションを検索します
    • mcp__context7__query-docs でドキュメントを検索します
  3. バージョンコメントを付けて SHA に固定します:

    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
    
  4. 回答内でソースとバージョンを引用します:

    • アクションのソース(リポジトリ URL)
    • バージョンのソース(リリース/タグ/変更履歴の URL)
    • 選択したコミット SHA と人が読みやすいバージョン表記
    • 使用したソースのアクセス日

事前検証済みのアクションバージョンについては、references/common-actions.md を参照してください。


検証ワークフロー

**重要:**生成するリソースはすべて、必ず検証してください。

  1. ワークフロー/アクションファイルを生成します
  2. devops-skills:github-actions-validator スキルを呼び出します
  3. エラーがある場合:修正して再検証します
  4. 成功した場合:使用方法を説明して提示します

検証を省略できる場合:

  • コードスニペットの一部
  • ドキュメントの例
  • ユーザーが明示的に省略を要求した場合

フォールバックの動作(ツールおよび環境の制約)

必要なツールやネットワークアクセスが利用できない場合は、次の順序で決定的なフォールバックを使用してください。

  1. devops-skills:github-actions-validator が利用できない場合は、ローカルのフォールバックチェックを実行します。
    • actionlint(インストールされている場合)
    • yamllint(インストールされている場合)
    • 「ツールによる検証は未実施」と明記したうえで、YAML/スキーマを手動でレビューします
  2. Context7 またはインターネットアクセスが利用できない場合:
    • 既知のアクションバージョンについては references/common-actions.md を使用します
    • 外部でのバージョン確認を完了できなかったことを明記します
  3. テンプレートのパスが見つからない場合:
    • 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.mdworkflow_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)

完了条件

以下のすべてのチェックに合格した場合にのみ、タスクは完了です。

  1. トリガーの判断ツリーを使用して、リクエストのルートを選択した。
  2. 最初に読み込んだのは、必要最小限のリファレンス/テンプレートのみだった。
  3. すべてのサードパーティアクションがコミット SHA に固定され、ソース/バージョンの引用がある。
  4. 検証を実行したか、スキップの例外/代替手段を明示的に記録した。
  5. 出力に前提、セキュリティ上重要な判断(権限/シークレット)、生成したファイルのパスが含まれている。

ワークフローの概要

  1. トリガーの判断ツリーを使って、リクエストのルートを決定する
  2. そのルートに必要な最小限のリファレンス/テンプレートを読み込む
  3. 必須のセキュリティ基準と命名基準に従って生成する
  4. サードパーティアクションを引用し、固定する(ソース、バージョン、SHA)
  5. devops-skills:github-actions-validator を使って検証する(または、記録済みの代替手段を使う)
  6. 問題がなくなるまで修正して再検証する
  7. 引用、前提、ファイルパスを添えて、検証済みの出力を提示する

コメント