mcpField
A
actionlint

actionlint

github.com/rshadeテスト・品質392 回インストール2 週間前に更新
リポジトリ

actionlint について

actionlint は、actionlint のコマンドラインツールで GitHub Actions のワークフローファイルを検証するスキルです。構文、参照、式、シェル、安全性の問題を検出し、分類と修正案を示します。

主な機能

  1. 01ワークフローの構文と参照を検証
  2. 02式とシェルのエラーを検出
  3. 03セキュリティ上の問題を指摘
  4. 04プロジェクトまたは既定の設定を使用
  5. 05エラーの分類と修正案を提示

活用シーン

  1. 01変更のマージ前に全ワークフローを検証
  2. 02指定したワークフローファイルを確認
  3. 03標準入力から生成済みワークフローを検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rshade/agent-skills --skill actionlint

インストール後、Claude Code で/actionlintを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
test-workflow.yml
references/
actionlint-config.yaml
actionlint-rules.md

詳細

Actionlint

GitHub Actions のワークフローファイル(.github/workflows/*.yml)を検証し、構文エラー、無効な参照、式の誤り、セキュリティ上の問題を検出します。実行時になって初めて表面化するエラーを事前に検出できます。

このスキルでできること

  1. actionlint が利用可能か確認し、見つからない場合はインストール方法を案内します。
  2. プロジェクト固有の .actionlintrc.yaml を検出するか、適切なデフォルト設定を使用します。
  3. ワークフローファイルの構文、アクション参照、式、シェルスクリプト、セキュリティ上の問題を検証します。
  4. エラーをルールのカテゴリと修正方法とともに報告します。

インストールの確認

actionlint --version 2>/dev/null

インストールされていない場合は、次のいずれかの方法でインストールします。

# Go (requires Go 1.22+)
go install github.com/rhysd/actionlint/cmd/actionlint@latest

# Homebrew (macOS/Linux)
brew install actionlint

# Download binary (Linux amd64)
curl -sL "$(curl -sL https://api.github.com/repos/rhysd/actionlint/releases/latest \
  | grep browser_download_url | grep linux_amd64.tar.gz | cut -d'"' -f4)" \
  | tar xz -C /usr/local/bin actionlint

インストールに失敗した場合は、処理を中止し、問題と解決手順を報告します。 検証を黙ってスキップしないでください。

任意の機能強化:shellcheck がインストールされている場合、actionlint は run: ブロック内のシェルスクリプトも自動的に検証します。推奨されますが、必須ではありません。

設定の検出順序

  1. プロジェクトのルートにある .actionlintrc.yaml
  2. デフォルト設定(references/actionlint-config.yaml を参照)

プロジェクト設定がない場合は、検証の実行前に、references のデフォルト設定を使って一時的な .actionlintrc.yaml を作成します。

検証ワークフロー

1. Check actionlint installation
   ├─ Installed → continue
   └─ Missing → install, then continue (fail if install fails)

2. Detect project config
   ├─ Found → use it
   └─ Not found → use default config from references/

3. Run validation
   ├─ All workflows:
   │    actionlint
   ├─ Specific files:
   │    actionlint .github/workflows/ci.yml
   └─ With config:
        actionlint -config-file .actionlintrc.yaml

4. Report results
   ├─ Valid → confirm and proceed
   └─ Invalid → show errors, suggest fixes, re-validate after correction

検証方法

すべてのワークフローファイルを検証する(.github/workflows/ を自動検出)
actionlint
特定のファイルを検証する
actionlint .github/workflows/ci.yml .github/workflows/release.yml
明示的に指定した設定で検証する
actionlint -config-file .actionlintrc.yaml
標準入力から検証する(生成されたワークフローに便利)
cat workflow.yml | actionlint -

エラー処理

インストールの失敗

actionlint をインストールできない場合は、エラーを報告し、解決手順を提示します。検証を続行しないでください。

検証の失敗

検証に失敗した場合は、各エラーについて次の内容を報告します。

  • ファイルと行番号
  • エラーのカテゴリ(構文、アクション、式、ランナー、シェルなど)
  • 問題の内容
  • 具体的な修正方法

例:

Validation failed:

1. .github/workflows/ci.yml:15:9
   action "actions/checkout@master" — use a commit hash or version tag
   Fix: actions/checkout@v4

2. .github/workflows/ci.yml:23:14
   expression error: property "repo" not defined in "github" context
   Fix: use "github.repository" instead of "github.repo"

3. .github/workflows/deploy.yml:8:5
   "push" event does not support "paths" filter with "tags" filter
   Fix: split into separate workflows or remove one filter

エラーを報告した後、修正方法を提案し、修正後に再検証します。

ルールリファレンス

すべてのルール、一般的なエラーカテゴリ、セキュリティチェック、修正例については、references/actionlint-rules.md を参照してください。

コメント