configure-skaffold について
Kubernetes プロジェクトで Skaffold を確認、設定するスキルです。設定の準拠状況を報告し、ローカルホスト限定のポート転送、プロファイル、API バージョン、dotenvx フックなどを調整できます。
主な機能
- 01Kubernetes プロジェクトへの適用可否の確認
- 02Skaffold 設定とプロファイルの監査
- 03安全でないポート転送アドレスの検出
- 04プロファイルと dotenvx フックの追加
- 05準拠チェックと修正に対応
活用シーン
- 01Kubernetes プロジェクトの Skaffold 設定の確認
- 02ポート転送をローカルホストに限定
- 03標準 skaffold.yaml の作成や更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill configure-skaffoldインストール後、Claude Code で/configure-skaffoldを入力して読み込まれたか確認します。
同梱ファイルREFERENCE.md
詳細
/configure:skaffold
Skaffold を確認し、プロジェクト標準に合わせて設定します。
このスキルを使用する場面
| 次の場合にこのスキルを使用してください | 次の場合は別の方法を使用してください |
|---|---|
| Kubernetes プロジェクトの Skaffold 設定が準拠しているか確認する場合 | プロジェクトに k8s/ または helm/ ディレクトリがない場合(Skaffold は適用できません) |
| ポートフォワーディングのセキュリティ問題(0.0.0.0 へのバインド)を修正する場合 | Kubernetes マニフェストまたは Helm チャートを直接管理する場合 |
| Skaffold でシークレットを生成するための dotenvx フックを追加する場合 | Kubernetes を使わずにコンテナビルドを設定する場合(/configure:dockerfile を使用してください) |
| Skaffold API バージョンを最新にアップグレードする場合 | Skaffold の実行時エラーをデバッグする場合(system-debugging エージェントを使用してください) |
| テンプレートから標準の skaffold.yaml を作成する場合 | Skaffold 以外のローカル開発ワークフロー(例:Docker Compose)を設定する場合 |
コンテキスト
- K8s/Helm ディレクトリ: !
find . -maxdepth 1 -type d \( -name 'k8s' -o -name 'helm' \) - Skaffold 設定: !
find . -maxdepth 1 -name \'skaffold.yaml\' - Skaffold API バージョン: !
grep -m1 apiVersion skaffold.yaml - ポートフォワーディング設定: !
grep -m1 address skaffold.yaml - 定義されているプロファイル: !
grep -m10 'name:' skaffold.yaml - シークレット生成スクリプト: !
find . -maxdepth 1 -name \'scripts/generate-secrets.sh\' - dotenvx が利用可能か: !
command -v dotenvx - プロジェクト標準: !
find . -maxdepth 1 -name '.project-standards.yaml' -type f
参照するスキル:skaffold-standards、container-development、skaffold-orbstack
適用範囲:Kubernetes デプロイを行うプロジェクト(k8s/、helm/ ディレクトリがある場合)のみ
パラメーター
$ARGUMENTS から次の項目を解析します。
| フラグ | 説明 |
|---|---|
--check-only | 修正を提案せずに状態を報告します |
--fix | 修正を自動的に適用します |
バージョン確認
重要:Skaffold を設定する前に、最新バージョンを確認してください。
- Skaffold:skaffold.dev または GitHub リリースを確認します
- API バージョン:現在推奨されているのは
skaffold/v4beta13です - dotenvx:最新のパターンについて dotenvx.com を確認します
WebSearch または WebFetch を使って、現在の Skaffold バージョンと API バージョンを確認してください。
実行
次の Skaffold 準拠チェックを実行します。
ステップ 1:適用可能性を確認する
k8s/ または helm/ ディレクトリがあるか確認します。どちらも見つからない場合は「SKIP: Skaffold not applicable (no Kubernetes manifests)」と報告して終了します。見つかった場合は、skaffold.yaml の確認に進みます。
ステップ 2:設定を解析する
skaffold.yaml を読み取り、次の項目を抽出します。
- API バージョン
- ビルド設定(local.push、useBuildkit)
- デプロイ設定(kubeContext、statusCheck)
- ポートフォワーディング(addresses)
- 定義されているプロファイル
- フック(dotenvx との連携)
ステップ 3:準拠状況を分析する
各設定が次の標準に準拠しているか確認します。
| チェック項目 | 標準 | 重大度 |
|---|---|---|
| API バージョン | skaffold/v4beta13 | 古い場合は WARN |
| local.push | false | true の場合は FAIL |
| portForward.address | 127.0.0.1 | 未設定または 0.0.0.0 の場合は FAIL |
| useBuildkit | true | false の場合は WARN |
| kubeContext | orbstack | INFO(ローカル開発向けの推奨設定) |
| dotenvx フック | ビルドまたはデプロイのフック | INFO(シークレット向けの推奨設定) |
セキュリティ上重要:ポートフォワーディングは localhost(127.0.0.1)のみにバインドする必要があります。0.0.0.0 やアドレス未指定は決して許可しないでください。
推奨設定:
- ローカル開発ワークフロー向けの
db-onlyまたはservices-onlyプロファイル - 妥当な期限(init コンテナには 180 秒)を設定した
statusCheck: true - Pod の初期化を適切に行うための
tolerateFailuresUntilDeadline: true - 構造化されたアプリケーションログ向けの JSON ログ解析
- .env ファイルからシークレットを生成する dotenvx フック
ステップ 4:結果を報告する
次の項目を含む準拠状況レポートを出力します。
- Skaffold ファイルの場所と API バージョン
- 各設定チェックの結果(PASS/WARN/FAIL)
- 見つかったプロファイル
- スクリプトの状態(generate-secrets.sh)
- 全体の準拠状況
--check-only が指定されている場合は、ここで終了します。
ステップ 5:修正を適用する(--fix が指定された場合、またはユーザーが確認した場合)
- skaffold.yaml がない場合:REFERENCE.md の標準テンプレートから作成します
- セキュリティ上の問題:ポートフォワーディングのアドレスを
127.0.0.1に修正します - プロファイルがない場合:
db-onlyプロファイルのテンプレートを追加します - 古い API:apiVersion を v4beta13 に更新します
- dotenvx フックがない場合:シークレット生成フックを追加します
- スクリプトがない場合:REFERENCE.md のテンプレートから
scripts/generate-secrets.shを作成します - kubeContext がない場合:ローカル開発用に
orbstackを追加します
ステップ 6:標準の追跡情報を更新する
.project-standards.yaml を更新します:
components:
skaffold: "2025.1"
エージェント向け最適化
| コンテキスト | コマンド |
|---|---|
| 手早く準拠状況を確認 | /configure:skaffold --check-only |
| すべての問題を自動修正 | /configure:skaffold --fix |
| API バージョンを確認 | head -5 skaffold.yaml | grep apiVersion |
| ポートフォワーディングのセキュリティを確認 | grep -A2 'portForward' skaffold.yaml | grep address |
| プロファイルを一覧表示 | grep 'name:' skaffold.yaml | grep -v metadata |
セキュリティに関する注意
address: 127.0.0.1 を指定せずにポートフォワーディングを行うと、サービスがネットワークに公開されます。これは常に修正すべき FAIL 条件です。
標準の Skaffold テンプレート、dotenvx の統合パターン、および generate-secrets スクリプトのテンプレートについては、REFERENCE.md を参照してください。
関連項目
/configure:dockerfile- コンテナー設定/configure:all- すべての準拠チェックを実行skaffold-standardsスキル - Skaffold のパターン