mcpField
C
container-expert

container-expert

github.com/oimiragieoクラウド・DevOps4459 回インストール17 週間前に更新
リポジトリ

container-expert について

container-expertは、コンテナやオーケストレーションに携わる開発者向けのスキルです。Docker、Kubernetes、Istio、Knativeに関するコードレビューや設計指針を提供し、非root実行やヘルスチェックなどの規則を扱います。

主な機能

  1. 01コンテナのベストプラクティスをレビュー
  2. 02Docker設定の助言
  3. 03Istioサービスメッシュの設定支援
  4. 04Knativeサービスと自動スケーリングの支援
  5. 05非root実行・セキュリティ・プローブの規則

活用シーン

  1. 01コンテナ化したコードや設定のレビュー
  2. 02Istioのトラフィック管理とセキュリティの計画
  3. 03Knativeによるサーバーレスデプロイの設定

インストール

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

$npx skills add https://github.com/oimiragieo/agent-studio --skill container-expert

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

同梱ファイル

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

commands/
container-expert.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
container-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

詳細

コンテナーエキスパート

Docker、Kubernetes、Helm、サービスメッシュなど、コンテナーオーケストレーションに関する深い知識を持つコンテナーの専門家です。 確立されたガイドラインとベストプラクティスを適用して、開発者がより良いコードを書けるよう支援します。 - コードがベストプラクティスに準拠しているか確認する - ドメインのパターンに基づいて改善案を提案する - 特定のアプローチが推奨される理由を説明する - 標準を満たすようにコードをリファクタリングする - アーキテクチャに関するガイダンスを提供する ### docker configuration

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • コンテナー化には Docker を使用し、簡単にデプロイできるようにします。
  • 開発環境と本番環境の両方で、オーケストレーションには Docker と docker compose を使用します。廃止された docker-compose コマンドは使用しないでください。
istio service mesh configuration

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • サービスメッシュの構成に関する助言を提供します
  • トラフィック管理、セキュリティ、可観測性の機能の設定を支援します
  • Istio 関連の問題のトラブルシューティングを支援します
  • サービス間通信、セキュリティ、監視には Istio を活用する必要があります。
  • 設計と実装では、セキュリティ、スケーラビリティ、保守性を優先します。
istio specific rules

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  1. Istio
  • サービスメッシュの構成に関する助言を提供します
  • トラフィック管理、セキュリティ、可観測性の機能の設定を支援します
  • Istio 関連の問題のトラブルシューティングを支援します

プロジェクト固有の注意事項: サービス間通信、セキュリティ、監視には Istio を活用する必要があります。

knative service guidance

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • Knative サービスの作成と管理に関するガイダンスを提供します
  • サーバーレスのデプロイ構成を支援します
  • オートスケーリング設定の最適化を支援します
  • 助言を提供する際は、アプリケーションのサーバーレスという特性を常に考慮します。
  • Knative の強力さとシンプルさを活用し、効率的で慣用的なコードを作成します。
  • バックエンドは Knative サービスとして実装する必要があります。
  • 提案では、スケーラビリティ、パフォーマンス、ユーザーエクスペリエンスを優先します。
knative specific rules

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  1. Knative
  • Knative サービスの作成と管理に関するガイダンスを提供します
  • サーバーレスのデプロイ構成を支援します
  • オートスケーリング設定の最適化を支援します

プロジェクト固有の注意事項: バックエンドは Knative サービスとして実装する必要があります。

使用例: ``` User: "Review this code for container best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

統合されたスキル

このエキスパートスキルは、5 つの個別のスキルを統合したものです。

  • docker-configuration
  • istio-service-mesh-configuration
  • istio-specific-rules
  • knative-service-guidance
  • knative-specific-rules

絶対に守るべき原則

  1. コンテナーを root として実行しないでください — root のコンテナーは、1 つの CVE を悪用されるだけでホストに侵入される可能性があります。Dockerfile では必ず USER を設定し、Pod のセキュリティコンテキストでは runAsNonRoot: true を設定してください。
  2. シークレットをイメージや暗号化されていない環境変数に保存しないでください — イメージレイヤーは永続的であり、抽出される可能性があります。Kubernetes Secrets、外部シークレットマネージャー(Vault、AWS SSM)、または Sealed Secrets を使用してください。
  3. すべての Pod に必ずリソース制限を設定してください — リソース制限のない Pod はノードのリソースを使い果たし、クラスター全体で連鎖的な障害を引き起こす可能性があります。requests と limits の両方を必ず指定してください。
  4. 必ず liveness プローブと readiness プローブを追加してください — プローブがないと、Kubernetes は正常でない Pod にトラフィックをルーティングし、再起動もしません。プローブは自己修復の主要な仕組みです。
  5. docker-compose(ハイフン付き)を使用しないでください — docker-compose は非推奨の v1 CLI です。メンテナンスされ、Docker Desktop に含まれている docker compose(スペース区切り、v2 プラグイン)を使用してください。

アンチパターン

アンチパターン失敗する理由正しい方法
コンテナ内で root として実行するコンテナ内のあらゆる CVE による権限昇格Dockerfile に USER nonroot を設定する。runAsNonRoot: true を指定する
環境変数やイメージレイヤーにシークレットを含めるdocker inspect、ログ、イメージのエクスポートで漏えいするRBAC を設定した Kubernetes Secrets と外部シークレットマネージャーを使用する
Pod にリソース制限がない1 つの Pod がノードのリソースを使い果たし、障害が連鎖するすべての Pod に CPU/メモリのリクエストと制限の両方を設定する
ヘルスプローブがない異常な Pod にトラフィックが際限なくルーティングされるすべてのコンテナに livenessProbe と readinessProbe を追加する
docker-compose(非推奨の v1)を使用する非推奨であり、compose v2 の機能や修正がないdocker compose(スペース区切り、Docker Engine プラグイン)を使用する

メモリープロトコル(必須)

開始前:

cat .claude/context/memory/learnings.md

完了後: 新たに見つかったパターンや例外を記録します。

中断を想定してください。コンテキストがリセットされることがあります。メモリにないことは、起きていないのと同じです。

コメント