workflow-audit について
`bwwl`でGitHub Actionsのワークフローファイルを検査し、ファイル、ルール、判断の要否ごとに結果を整理する読み取り専用スキルです。リポジトリ管理者向けで、ファイルを変更せず問題を報告します。
主な機能
- 01`bwwl`の前提条件を確認
- 02対象リポジトリのワークフローを検査
- 03ファイルとルール別に結果を分類
- 04機械的な問題と判断が必要な問題を区別
- 05件数と問題のないリポジトリを報告
活用シーン
- 01現在のリポジトリのワークフロー監査
- 02複数リポジトリのワークフローファイル確認
- 03修正適用前の検査結果の整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bitwarden/ ai-plugins --skill workflow-auditインストール後、Claude Code で/workflow-auditを入力して読み込まれたか確認します。
詳細
ルール
- このスキルは読み取り専用です。 ファイルの変更、作成、削除は行わないでください。
- 不確かな点を明示してください。 判断が曖昧な場合は、推測せずにレポートに記載してください。
ステップ 1:前提条件を確認する
bwwl が利用可能か確認します。
bwwl --version
コマンドが見つからない場合は、停止して、続行するには bwwl のインストールが必要であることをユーザーに伝えてください。インストールは試みないでください。
ステップ 2:対象範囲を決定する
ユーザーのリクエストを解析し、Lint の対象を決定します。
- 単一のファイルまたはディレクトリ(例:
.github/workflows/build.ymlや.github/workflows/):現在のリポジトリのみを対象にします。 - 複数のリポジトリ(例:「server, clients, android」):各リポジトリを順番に対象にします。リポジトリがクローンされているベースディレクトリをユーザーに確認します。各リポジトリについて、ローカルクローンが
<base-dir>/<repo>にあるかを確認します。クローンが見つからない場合は、ユーザーに伝えて、そのリポジトリをスキップします。 - 特定の対象が指定されていない場合:現在のディレクトリの
.github/workflows/にあるすべてのファイルを Lint します。
ステップ 3:Lint を実行する
対象となる各リポジトリで、次を実行します。
bwwl lint -f .github/workflows/
標準出力と標準エラーの両方を取得します。複数のリポジトリを対象にする場合は、どのリポジトリを Lint しているかを伝えます。
ステップ 4:検出結果を解析し、分類する
Lint の出力から、検出結果を構造化されたリストとして作成します。ファイルとルールごとにまとめます。検出結果の分類には、bitwarden-workflow-linter-rules スキルを参照してください。
機械的(自動修正可能):
name_capitalized、permissions_exist、pinned_job_runner、step_pinned、underscore_outputs、job_environment_prefix、check_pr_target- 単純な
run_actionlintの検出結果(1 行のシェル修正)
判断が必要(ユーザーの入力が必要):
name_exists、step_approved、複雑なrun_actionlintの検出結果
ステップ 5:レポートする
リポジトリごとに、概要表を出力します。
| ファイル | 検出結果 | ルール | 分類 |
|---|---|---|---|
| ... | ... | ... | ... |
機械的な検出結果の数、判断が必要な検出結果の数、問題のなかったリポジトリの数を含めます。
検出結果に基づいて修正を適用するには、workflow-fix スキルを利用できることをユーザーに伝えます。
コメント
Markdown 対応