workflow-fix について
workflow-fixは、bwwlでGitHub Actionsのワークフロー問題を修正するスキルです。変更を`.github/`内に限定し、機械的な修正とユーザー判断が必要な問題を区別します。コミットの引き渡しやドラフトPR作成の前に差分を提示します。
主な機能
- 01bwwlを確認して問題を特定
- 02ワークフローファイルの機械的な問題を修正
- 03判断が必要な問題についてユーザーに確認
- 04再検査で修正を検証
- 05コミット引き渡し前に差分を提示
活用シーン
- 01ワークフロー監査後の修正適用
- 02複数リポジトリのワークフロー問題への対応
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bitwarden/ ai-plugins --skill workflow-fixインストール後、Claude Code で/workflow-fixを入力して読み込まれたか確認します。
詳細
ルール
- 確認なしに変更を伴う API 呼び出しを行わないでください。
gh apiの GET リクエストは自由に実行できます。-X POST、-X PUT、-X PATCH、-X DELETEを使用する呼び出しは、実行前にユーザーに提示し、承認を得る必要があります。 - 強制プッシュ、ブランチの削除、リポジトリの削除は絶対に行わないでください。
- 変更するファイルは
.github/以下に限ります。 アプリケーションコード、スクリプト、ワークフローファイル以外の設定には触れないでください。 - コミットに進む前に差分を提示し、確認を得てください。
- PR はすべてドラフトとして作成してください。
- 不確かな点は明示してください。 判断が曖昧な場合や修正によってワークフローが壊れる可能性がある場合は、推測せずに作業を中断して確認してください。
ステップ 1:前提条件を確認する
bwwl が利用可能か確認します。
bwwl --version
コマンドが見つからない場合は、作業を中断し、続行するには bwwl のインストールが必要であることをユーザーに伝えてください。インストールを試みてはいけません。
ステップ 2:対象範囲を決定する
ユーザーのリクエストを解析し、修正対象を特定します。
- 単一のファイルまたはディレクトリ:現在のリポジトリのみを対象にします。
- 複数のリポジトリ(例:「server, clients, android」):各リポジトリを順番に処理します。リポジトリがクローンされているベースディレクトリをユーザーに尋ねます。各リポジトリについて、
<base-dir>/<repo>にローカルクローンがあるか確認します。クローンが見つからない場合は、ユーザーに伝えてそのリポジトリをスキップします。 - 具体的な対象の指定なし:現在のディレクトリの
.github/workflows/にあるすべての指摘を修正します。
ユーザーが先に workflow-audit スキルを実行していない場合は、続行する前にリンターを実行して指摘を特定します。
ステップ 3:対象範囲内の各リポジトリを処理する
各リポジトリについて、ステップ 4~7 を繰り返します。作業対象のリポジトリを伝えてください。
ステップ 4:修正ブランチを作成する
修正する指摘がある場合に限り、修正ブランチを作成します。
git checkout -b fix/workflow-linter-findings
ステップ 5:修正を適用する
各ルールに対する適切な修正については、bitwarden-workflow-linter-rules スキルを参照してください。
機械的に修正できる指摘の場合: 確認を求めずに、すべての修正を適用します。
例外 — step_pinned: 各ハッシュピンを適用する前に、bitwarden-workflow-linter-rules スキルの step_pinned 修正手順に従います(gh api で SHA を解決し、検証リンクを提示して、ユーザーの確認を待ちます)。
判断が必要な指摘の場合: それぞれについて作業を一時停止し、指摘内容をわかりやすく提示します。ユーザーに希望する選択肢を尋ね(bitwarden-workflow-linter-rules スキルに従う)、その選択を適用します。
ステップ 6:修正を検証する
リンターを再実行し、すべての指摘が解消されたことを確認します。
bwwl lint -f .github/workflows/
エラーが残っている場合は、分析して修正します。エラーがなくなるまで繰り返します。
ステップ 7:レビューと PR の作成
すべての修正を適用した後:
- 変更内容すべての
git diffを提示します。 - PR に進んでよいか、ユーザーに確認します。
- ステージング、コミット、プッシュの各コマンドは自分で実行しないでください。ユーザーが手動で実行できるよう、提案として以下のブロックを提示します。
git add .github/workflows/
git commit -m "Fix workflow linter findings"
git push -u origin fix/workflow-linter-findings
- ユーザーがプッシュを確認したら、ドラフト PR を作成します。
gh pr create \
--title "Fix workflow linter findings" \
--body "Automated fixes for findings from the Bitwarden workflow linter (bwwl)." \
--draft
ステップ 8:概要
すべてのリポジトリを処理した後、次の概要テーブルを出力します。
| リポジトリ | 修正した指摘 | 作成した PR | スキップ/メモ |
|---|---|---|---|
| ... | ... | ... | ... |