actionlint について
actionlint は、actionlint のコマンドラインツールで GitHub Actions のワークフローファイルを検証するスキルです。構文、参照、式、シェル、安全性の問題を検出し、分類と修正案を示します。
主な機能
- 01ワークフローの構文と参照を検証
- 02式とシェルのエラーを検出
- 03セキュリティ上の問題を指摘
- 04プロジェクトまたは既定の設定を使用
- 05エラーの分類と修正案を提示
活用シーン
- 01変更のマージ前に全ワークフローを検証
- 02指定したワークフローファイルを確認
- 03標準入力から生成済みワークフローを検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rshade/ agent-skills --skill actionlintインストール後、Claude Code で/actionlintを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsontest-workflow.ymlreferences/actionlint-config.yamlactionlint-rules.md詳細
Actionlint
GitHub Actions のワークフローファイル(.github/workflows/*.yml)を検証し、構文エラー、無効な参照、式の誤り、セキュリティ上の問題を検出します。実行時になって初めて表面化するエラーを事前に検出できます。
このスキルでできること
actionlintが利用可能か確認し、見つからない場合はインストール方法を案内します。- プロジェクト固有の
.actionlintrc.yamlを検出するか、適切なデフォルト設定を使用します。 - ワークフローファイルの構文、アクション参照、式、シェルスクリプト、セキュリティ上の問題を検証します。
- エラーをルールのカテゴリと修正方法とともに報告します。
インストールの確認
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: ブロック内のシェルスクリプトも自動的に検証します。推奨されますが、必須ではありません。
設定の検出順序
- プロジェクトのルートにある
.actionlintrc.yaml - デフォルト設定(
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 を参照してください。