cloud-native-readiness について
cloud-native-readinessは、リポジトリのクラウドネイティブデプロイ適性を評価し、既存のDockerおよびKubernetes関連ファイルを調べるスキルです。コンテナ化を検討するチーム向けで、適格な場合はdockerfile-skillに引き継ぎ、未対応または未確定のワークロードは後続処理の前に停止します。
主な機能
- 01スコア評価前のワークロード適格性確認
- 026項目によるクラウド対応度の評価
- 03DockerとKubernetes関連ファイルの一覧化
- 04調査結果に基づく次の手順の提示
- 05適格なプロジェクトをdockerfile-skillへ引き渡し
活用シーン
- 01コンテナ化前のリポジトリ評価
- 02既存のDockerおよびKubernetesデプロイファイルの確認
- 03パッケージングの続行または停止の判断
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ labring/ sealos-skills --skill cloud-native-readinessインストール後、Claude Code で/cloud-native-readinessを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlevals/evals.jsonexamples/sample-report.mdknowledge/anti-patterns.mdcriteria.mddeployment-eligibility.mdscoring-model.mdsealos-patterns.mdmodules/assess.mddetect.mdroute.md詳細
クラウドネイティブ対応準備状況評価スキル
識別と検出
- 所有者:
cloud-native-readiness(/cloud-native-readinessおよび対応準備状況、コンテナ化、デプロイ可能性、ワークロード適格性に関するリクエスト)。 - クラス:
read-only-observation。適格性とルートの証拠が確認された後に限り、dockerfile-skillへ型付きハンドオフを行います。 - カナリア:
CNR-ELIGIBILITY-STOPとCNR-ROUTE-HANDOFF。
スコープと境界
ローカルパスまたは GitHub URL を受け取り、リポジトリの証拠を調査します。このエントリでは適格性、対応準備状況、既存のアーティファクトを評価します。プロジェクトファイルは書き換えず、根拠のない対象にスコアを付けることもありません。単独の対応準備状況リクエストでは、レポートをリクエストの結果に含め、.sealos/analysis.json は作成しません。複合デプロイのオーケストレーションでは、独自の契約に基づき、サニタイズしたハンドオフのスナップショットを永続化する場合があります。Dockerfile へのハンドオフでは、対応準備状況レポートを入力アーティファクトとして渡し、パッケージ化に伴う変更は受け取り側の所有者に委ねます。
リスクと確認
スコアリングの前に knowledge/deployment-eligibility.md を読み込みます。サポート対象外または未解決のワークロードは、アーティファクトの検出、スコアリング、Dockerfile の生成、デプロイより前に停止します。レポートではソースパス、環境値、認証情報をすべて伏せ、現行のフェイルクローズの適格性境界を維持します。
ライフサイクルのワークフロー
各リクエストでは、リポジトリを選択し、適格性を判定して、適格な対象を評価し、Docker アーティファクトを検出します。決定マトリクスで許可される場合にのみルーティングします。リクエストは success、stopped、または error で終了します。各結果には、選択したソース、ワークロードの種類、秘匿化の状態、到達した最も強い証拠が含まれます。既存の 3 フェーズの Assess → Detect → Route ワークフローは、以下のドメイン拡張として維持されます。
段階的な情報開示
該当するフェーズに到達したら、modules/assess.md、modules/detect.md、modules/route.md を 1 階層だけ読み込みます。最初のスコアリングより前に、デプロイ適格性に関するナレッジを読み込みます。適格性判定で停止した場合は、Dockerfile の詳細を読み込まず、ハンドオフも呼び出さないでください。
出力、停止、エラーの状態
success:選択したソース、適格なワークロードの種類、スコアの評価軸、アーティファクトの一覧、懸念事項、推奨事項、検証の証拠、型付きハンドオフ(該当する場合)が含まれます。stopped:選択したソース、ワークロードの種類、適格性または確認の理由コード、観測された証拠、秘匿化の結果、安全な次のアクションが含まれます。後続のアーティファクトがあるとは示しません。error:選択したソース、失敗したフェーズまたはヘルパー、あるいはアーティファクト、サニタイズ済みの診断情報、秘匿化の結果、復旧アクションが含まれます。
ハンドオフ
適格であり、ルートでパッケージ化が必要な場合は、評価のみのリクエストに対して、以下の完全な型付きハンドオフを送信します。受け取り側のスキルは、自身のスコープとカナリアを再確認します。
target: dockerfile-skill
inputArtifact: readiness report with source, project language/framework/package manager, dependencies/configuration, workload, score, dimensions, concerns, and artifact inventory
allowedAction: generate Docker packaging within the receiving skill's owned file scope
failureReturn: readiness findings and the failed route condition
responseOwner: cloud-native-readiness
検証
workload-eligibility.mjs、score-model.mjs、現在の対応準備状況評価の証拠、およびベースラインのトレース readiness-positive-eligible と readiness-violating-ineligible を使用します。スコアリングやビルドの前に適格性を確認し、レポートのフィールドを維持して、認証情報の形式に見える値を秘匿化します。
対応準備状況レポートの契約
このペイロードはリクエストのスコープ内に留め、リポジトリ相対の形式にします。後続のハンドオフでは、検出を繰り返さずに再利用できます。
source:
kind: local-path | github-url
display: redacted repository identifier
project:
language: detected language
framework: detected framework or null
package_manager: detected package manager or null
dependencies: redacted external dependency types and versions
configuration: redacted configuration and environment-key observations
workload:
type: server | static-web | worker | scheduled-job | reviewed-remote-desktop | unresolved
eligibility: eligible | ineligible | needs_review
assessment:
score: 0-12 or null when stopped
dimensions: six named scores when eligible
concerns: redacted findings
artifacts:
status: complete | partial | none
inventory: repository-relative paths and quality observations
recommendation: report-only | package | remediate | stop
verification:
helper: eligibility and/or scoring helper invoked
evidence: observed result and redaction status
handoff: typed tuple or none
terminal_state: success | stopped | error
safe_next_action: request-scoped next action
ペイロードには、パスワード、トークン、kubeconfig の内容、環境値、完全な接続文字列を含めません。
概要
このスキルは、3 フェーズのワークフローを通じて、クラウドネイティブなマイクロサービスのデプロイに対するリポジトリの対応準備状況を評価します。
- Assess - サポート対象外のワークロードの種類を除外し、適格な対象にスコアを付けます
- Detect - Docker アーティファクト(Dockerfile、docker-compose、コンテナイメージ)がすでに存在するか確認します
- Route - アーティファクトが存在する場合は結果を直接返します。存在しない場合は、
dockerfile-skillを呼び出してコンテナ化します
ワークフロー
cloud-native-readiness
│
├─ Phase 1: Cloud-Native Assessment
│ ├─ Eligibility fails or needs review → Report evidence, END
│ └─ Eligible → Calculate readiness score
│
├─ Phase 2: Existing Artifacts Detection
│ ├─ Found Dockerfile/docker-compose/image → Report existing setup, END
│ └─ Not found → Continue
│
└─ Phase 3: Route to dockerfile-skill
└─ Invoke /dockerfile to generate Docker configuration
使用方法
/cloud-native-readiness # Assess current directory
/cloud-native-readiness <path> # Assess specific path
/cloud-native-readiness <github-url> # Clone and assess
クイックスタート
呼び出されたら、まず modules/assess.md を読み込んで実行します。評価レポートで要求されたルートが eligible と判定された場合にのみ、
modules/detect.md と modules/route.md に進みます。ineligible、
未解決の needs_review、またはエラーの結果の場合は、証拠と安全な次のアクションを提示してリクエストを終了し、成果物の検出や後続のルーティングには進みません。
フェーズ 1:クラウドネイティブ対応状況の評価
読み込んで実行します:modules/assess.md
対応状況スコアを割り当てる前に、knowledge/deployment-eligibility.md
を適用します。要求されたルートが eligible と分類された場合にのみ続行します。
6 つの評価項目(各 0~2 点):
| 評価項目 | 確認内容 |
|---|---|
| ステートレス性 | アプリは状態をローカルに保存しますか(メモリ内のセッション、ローカルファイルへの書き込みなど)? |
| 設定の外部化 | 設定はハードコードされていますか、それとも環境変数/設定ファイルで管理されていますか? |
| 水平スケーラビリティ | 複数のインスタンスを競合なく実行できますか? |
| 起動/終了 | アプリはすばやく起動し、SIGTERM を適切に処理しますか? |
| 可観測性 | ヘルスチェック、構造化ログ、メトリクスを備えていますか? |
| サービス境界 | 独立したサービスですか、それとも密結合したモノリスですか? |
スコア:
- 10-12:優秀 — クラウドネイティブに完全対応
- 7-9:良好 — 軽微な調整で対応可能
- 4-6:普通 — コンテナ化の前にある程度のリファクタリングが必要
- 0-3:不十分 — 大幅な手直しが必要。現時点でのコンテナ化は推奨されません
出力:スコア、調査結果、推奨事項を含む、構造化された対応状況レポート。
フェーズ 2:既存成果物の検出
読み込んで実行します:modules/detect.md
確認対象:
Dockerfile/Dockerfile.*(マルチステージ、マルチサービス)docker-compose.yml/docker-compose.yaml/compose.yml.dockerignoreDOCKER.mdまたは Docker 関連ドキュメント- コンテナレジストリの参照(ghcr.io、docker.io、ECR、GCR、ACR)
- Kubernetes マニフェスト(
k8s/、kubernetes/、deploy/、helm/、charts/) - Docker のビルド手順を含む CI/CD パイプライン(
.github/workflows/、.gitlab-ci.yml)
出力:既存の Docker/K8s 成果物の一覧と品質評価。
フェーズ 3:ルーティングの決定
読み込んで実行します:modules/route.md
判定マトリクス:
ineligible または未解決の needs_review の結果の場合は、必ず成果物の検出や Dockerfile の生成に進む前に停止します。スコアマトリクスは eligible の対象にのみ適用します。
| 対応状況スコア | 成果物の有無 | アクション |
|---|---|---|
| ≥ 7 | あり、完全 | 既存の構成を報告します。完了です。 |
| ≥ 7 | あり、一部 | 不足を報告し、改善を提案します。完了です。 |
| ≥ 7 | なし | dockerfile-skill を呼び出して生成します。 |
| 4-6 | 任意 | 問題と修正手順を報告します。必要に応じて dockerfile-skill に進みます。 |
| 0-3 | 任意 | 阻害要因を報告します。dockerfile-skill は呼び出さないでください。 |
対応状況レポートの形式
最終出力は必ず次の形式を使用してください:
適格性の判定で停止する場合は、対応状況スコアを創作せず、ワークロードの種類、理由コード、証拠、次のアクションを報告します。
# Cloud-Native Readiness Report
## Summary
- **Project**: {name}
- **Eligibility**: {eligible | ineligible | needs_review} — {workload type}
- **Score**: {score}/12 ({rating})
- **Verdict**: {Ready | Ready with caveats | Needs work | Not recommended}
## Assessment Details
### ✅ Strengths
- {what's already cloud-native friendly}
### ⚠️ Concerns
- {issues that need attention}
### ❌ Blockers (if any)
- {critical issues preventing containerization}
## Dimension Scores
| Dimension | Score | Notes |
|-----------|-------|-------|
| Statelessness | {0-2} | {detail} |
| Config Externalization | {0-2} | {detail} |
| Horizontal Scalability | {0-2} | {detail} |
| Startup/Shutdown | {0-2} | {detail} |
| Observability | {0-2} | {detail} |
| Service Boundaries | {0-2} | {detail} |
## Existing Docker Artifacts
- {inventory or "None found"}
## Recommendation
- {next steps}
関連リソース
- デプロイ適格性:knowledge/deployment-eligibility.md — 対応するワークロードの種類とフェイルクローズ方式のルーティング
- 評価基準:knowledge/criteria.md — 詳細なスコア基準
- アンチパターン:knowledge/anti-patterns.md — よくあるクラウドネイティブのアンチパターン
- 例:examples/ — 対応状況レポートのサンプル
dockerfile-skill との統合
dockerfile-skill にルーティングする際は、評価コンテキストを渡してください。
- 準備状況レポートの調査結果を Dockerfile の生成判断に反映します
- 検出された外部サービスは
docker-compose.ymlのサービスに直接対応付けます - 特定された懸念事項は、Dockerfile のコメントまたは
DOCKER.mdの注意事項に反映します - 評価で判明した設定の外部化状況を、ENV/ARG の設定に反映します
引き継ぎ:dockerfile-skill を呼び出す際は、次の内容を要約して含めてください。
- 検出された言語/フレームワーク/パッケージマネージャー
- 外部サービスへの依存関係
- 設定の外部化状況
- 特別な懸念事項(ステートフルなコンポーネント、起動に時間がかかることなど)