agentsclimarketplace

Mcl shared platform design

Skill suwa-sh/multi-cloud-lifecycle-skills/.claude/skills/mcl-shared-platform-design

共有プラットフォーム設計用スキル。AWS / Azure / GCP / オンプレミスを対象に、ベンダー中立の canonical model、ベンダー別マッピング、サービスカタログ、実装仕様、IaC スケルトンを生成する。共有ランタイム(Kubernetes)、オブザーバビリティ、CI/CD デリバリーパイプライン、アーティファクト管理、シークレット/証明書管理、プラットフォーム所有モデル、テナントオンボーディングをカバーする。共有プラットフォームレイヤー、内部開発者プラットフォーム、プラットフォームエンジニアリング、共有サービスカタログ、共通インフラサービスの設計やレビューに使用すること。1 クラウドのみの言及でも発動する。EKS/AKS/GKE 共有クラスタ、集中監視、共有 CI/CD、プラットフォームチームの責務に関するトピックでもトリガーする。オンプレ Kubernetes(kubeadm/Rancher/OpenShift)やハイブリッド構成の共有プラットフォームでもトリガーする。From its SKILL.md

Install
npx -y skills add suwa-sh/multi-cloud-lifecycle-skills --skill mcl-shared-platform-design

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

14.3 KB, ~4.3k tokens by cl100k_base, as published. Nobody here has run it

mcl-shared-platform-design

このスキルの役割

基盤と個別プロダクトの間に位置する共有プラットフォームレイヤーを設計するスキル。基盤の制約とプラットフォーム要件を入力として、canonical model、vendor mapping、サービスカタログ、実装仕様、IaC スケルトンの一式を生成する。

共有プラットフォームは複数のプロダクトチームが利用する共通サービスを提供する。基盤のガードレールに準拠しつつ、プロダクトチームの開発速度を支える。

前提条件

mcl-foundation-design の foundation context が必要。specs/foundation/output/foundation-context.yaml を確認する。存在しない場合は、先に foundation 設計を実行するようユーザーに案内する。

アーキテクチャ概要

foundation と同じ 4 層モデル:

  1. Vendor Sources — EKS/AKS/GKE ドキュメント、監視サービス、CI/CD ツール。オンプレは Kubernetes / Prometheus / Argo CD / Vault 等の OSS 公式ドキュメント
  2. Canonical Model — ベンダー中立なプラットフォーム capability
  3. Vendor Mapping — ベンダーごとのサービス選定
  4. Implementation Artifacts — 実装仕様、カタログ、IaC スケルトン

Canonical Model のスコープ

  • shared_runtime — コンテナオーケストレーション、サーバーレスプラットフォーム、コンピュートオプション
  • shared_observability — メトリクス、ログ、トレース、ダッシュボード、アラート
  • shared_delivery_pipeline — CI/CD、GitOps、デプロイ戦略、環境管理
  • shared_artifact_management — コンテナレジストリ、アーティファクトリポジトリ、依存性プロキシ
  • shared_secret_management — シークレットストア、証明書ライフサイクル、鍵ローテーション
  • platform_ownership_model — チーム構成、責務、SLA、エスカレーション
  • onboarding_model — テナントプロビジョニング、セルフサービス、テナント向けガードレール

ベンダー別マッピング対象

Canonical 概念AWSAzureGCPオンプレ(代表例)
shared_runtimeEKS, ECS, LambdaAKS, Container Apps, FunctionsGKE, Cloud Run, Cloud Functionskubeadm/Rancher/OpenShift による K8s クラスタ
shared_observabilityCloudWatch, X-Ray, Managed GrafanaAzure Monitor, App InsightsCloud Operations, Cloud TracePrometheus, Grafana, Loki, Tempo
shared_delivery_pipelineCodePipeline, CodeBuildAzure DevOps, GitHub ActionsCloud Build, Cloud DeployGitLab CI / Jenkins + Argo CD
shared_artifact_managementECR, CodeArtifactACR, Azure ArtifactsArtifact RegistryHarbor, Nexus / Artifactory
shared_secret_managementSecrets Manager, ACMKey Vault, App ConfigurationSecret Manager, Certificate ManagerHashiCorp Vault, cert-manager

オンプレ列は代表例。ヒアリングでスタックが指定された場合はそのスタックの製品で、未指定の場合は OSS を具体選定してマッピングする(../mcl-common/references/mapping-rules.md のオンプレ特則参照)。

ワークフロー

Step 1: Foundation Context の読み込み

specs/foundation/output/foundation-context.yaml を読み込み、以下を把握する:

  • 組織構造と境界
  • ID、ネットワーク、ポリシー、ログのガードレール
  • 課金境界
  • 承認済み逸脱

すべての shared platform 設計はこれらの制約に準拠すること。

Step 2: プラットフォーム入力の収集

specs/shared-platform/input/ に入力ファイルがあればそこから取得する。無い場合は以下の項目を段階的にヒアリングする。各項目は必ず選択肢を提示し、ユーザーに選んでもらうこと(../mcl-common/SKILL.md のユーザーヒアリングポリシー参照)。

ヒアリング 1: ランタイムと CI/CD

Q1. 共有ランタイム

#選択肢
1Kubernetes(EKS/AKS/GKE、オンプレは kubeadm/Rancher/OpenShift)★推奨
2コンテナ PaaS(ECS/Container Apps/Cloud Run)
3サーバーレス中心(Lambda/Functions/Cloud Functions)
4Kubernetes + サーバーレスのハイブリッド
5VM ベース(オンプレ vSphere/OpenStack、クラウド VM)

Q2. CI/CD パイプライン

#選択肢
1GitHub Actions ★推奨
2GitLab CI/CD
3クラウドネイティブ CI/CD(CodePipeline/Azure DevOps/Cloud Build)
4Jenkins
5その他(ツール名を入力してください)

Q3. CD/デプロイ戦略

#選択肢
1ArgoCD(GitOps)★推奨(K8s 選択時)
2Flux(GitOps)
3CI ツール内蔵のデプロイ
4Spinnaker

ヒアリング 2: オブザーバビリティとシークレット管理

Q4. 統合監視スタック

#選択肢
1Prometheus + Grafana(マネージド)★推奨
2Datadog
3クラウドネイティブ(CloudWatch/Azure Monitor/Cloud Operations)
4Prometheus + Grafana(セルフホスト)
5その他(ツール名を入力してください)

Q5. シークレット管理

#選択肢
1クラウドネイティブ + External Secrets Operator ★推奨
2HashiCorp Vault
3クラウドネイティブのみ(Secrets Manager/Key Vault/Secret Manager)
4Sealed Secrets(K8s ネイティブ)

ヒアリング 3: テナントモデル

Q6. テナント分離モデル

#選択肢
1Namespace 分離(1 クラスタ内で BU/チームごとに Namespace)★推奨
2クラスタ分離(BU/チームごとに専用クラスタ)
3vCluster(仮想クラスタ)

Q7. サービス提供方針(複数選択可)

#選択肢
1ランタイム・監視・CI/CD を必須、その他は任意 ★推奨
2全サービス必須
3全サービス任意(利用は推奨)
4個別にカスタマイズ(サービスごとに必須/任意を指定してください)

Step 3: ベンダーソースの取得(必須)

ベンダーソースは設計判断の根拠となるため、canonical model 生成前に必ず取得すること。ソースが手元にない状態で設計を進めてはならない。

  1. docs/cloud-context/sources/{vendor}/ に対象レイヤーのソースファイルが存在するか確認する
  2. 存在しない場合: バンドルスクリプト ../mcl-common/scripts/fetch-vendor-sources.sh を実行してベンダーソースをダウンロードする。対象ベンダーごとに実行する(オンプレを含む場合は --vendor onprem):
    ../mcl-common/scripts/fetch-vendor-sources.sh <project-dir> --vendor aws --layer shared-platform
    ../mcl-common/scripts/fetch-vendor-sources.sh <project-dir> --vendor azure --layer shared-platform
    ../mcl-common/scripts/fetch-vendor-sources.sh <project-dir> --vendor onprem --layer shared-platform
    
    スクリプトは ../mcl-common/scripts/sources.tsv に定義された URL から公式ドキュメントを取得し、docs/cloud-context/sources/{vendor}/ に markdown として保存する。対象ベンダーあたり最低 1 つのソースが取得できていなければ設計を開始しない。
  3. 存在する場合: そのまま読み込む。docs/cloud-context/summaries/shared-platform/ にサマリーがあればサマリーも併用する
  4. 取得したソースを読み込み、shared-platform レイヤーに関連するガイダンスを把握した上で次の Step に進む

WebFetch に失敗した場合はリトライし、それでも失敗する URL はスキップしてユーザーに通知する。ただし、対象クラウドあたり最低 1 つのソースは取得できていなければ設計を開始しない。

Step 4: Canonical Model の生成

../mcl-common/templates/canonical-model.yaml を使用し、7 つの capability 領域すべてをカバーする canonical model を作成する。全要素が foundation ガードレールに準拠していることを確認する。

ヒアリングで選択された特定製品名(CI/CD ツール、監視スタック等)は description を含め canonical に書かない。括弧書きの例示も禁止。製品の選択は decision record に、製品名は vendor mapping に記録する(../mcl-common/references/canonicalization-rules.md 参照)。

生成後に ../mcl-common/scripts/check-vendor-neutrality.sh specs/shared-platform/output/shared-platform-canonical.yaml を実行し、OK になるまで修正する。

保存先: specs/shared-platform/output/shared-platform-canonical.yaml

Step 5: サービスカタログの生成

プラットフォームサービスの一覧を YAML で生成する。各サービスに以下を含める:

  • サービス名と説明
  • 必須/任意の分類
  • 対応ティア(該当する場合)
  • 利用モデル(セルフサービス、申請ベース、自動)
  • 他プラットフォームサービスへの依存

保存先: specs/shared-platform/output/service-catalog.yaml

Step 6: Vendor Mapping の生成

対象ベンダーごとに canonical 要素をベンダーサービスにマッピングする。fidelity 評価と競合解決は foundation と同じルールに従う。

保存先: specs/shared-platform/output/shared-platform-mapping-{vendor}.yaml

Step 7: Decision Record の生成

保存先: docs/cloud-context/decisions/shared-platform/

Step 8: Implementation Spec の生成

保存先: specs/shared-platform/output/shared-platform-impl-{vendor}.yaml

Step 9: Shared Platform Context の生成

下位の product スキルが利用する context YAML を生成する。以下を含める:

  • available_shared_services
  • mandatory_services
  • optional_services
  • runtime_options
  • observability_standards
  • delivery_standards
  • secrets_and_cert_standards
  • platform_operating_constraints

保存先: specs/shared-platform/output/shared-platform-context.yaml

Step 10: Conformance Report の生成

shared platform の canonical model と foundation context の両方に対して検証する。

保存先: docs/cloud-context/conformance/shared-platform/

Step 11: IaC スケルトンの生成

オンプレは Terraform(vsphere / openstack / kubernetes provider 等)+ Ansible(OS・ミドルウェア構成)の 2 層構成とする。

保存先: infra/shared-platform/{vendor}/

Step 12: ターゲットアーキテクチャ Markdown の生成

共有プラットフォーム設計を要約した可読性の高いアーキテクチャドキュメントを生成する。図解には Mermaid 記法を使用すること(../mcl-common/SKILL.md の図解ポリシー参照)。以下の図を含める:

  • プラットフォーム全体構成図: graph TD で共有サービス間の依存関係とテナント分離をサブグラフで表現
  • CI/CD パイプラインフロー図: graph LR でソースコードからデプロイまでの流れを表現
  • オブザーバビリティスタック図: graph TD でメトリクス・ログ・トレースの収集経路を表現
  • ベンダー別デプロイメント図: graph TD で対象ベンダー(AWS / Azure / オンプレ等)をサブグラフに分け、各サービスのマッピングを表現

保存先: docs/cloud-context/generated-md/shared-platform/

出力一覧

Artifactパス形式
Canonical Modelspecs/shared-platform/output/shared-platform-canonical.yamlYAML
サービスカタログspecs/shared-platform/output/service-catalog.yamlYAML
Vendor Mapping(ベンダーごと)specs/shared-platform/output/shared-platform-mapping-{vendor}.yamlYAML
Decision Recorddocs/cloud-context/decisions/shared-platform/YAML
Implementation Spec(ベンダーごと)specs/shared-platform/output/shared-platform-impl-{vendor}.yamlYAML
Shared Platform Contextspecs/shared-platform/output/shared-platform-context.yamlYAML
Conformance Report(ベンダーごと)docs/cloud-context/conformance/shared-platform/YAML
IaC スケルトン(ベンダーごと)infra/shared-platform/{vendor}/HCL/Bicep 等
ターゲットアーキテクチャdocs/cloud-context/generated-md/shared-platform/Markdown

重要な制約

  • Foundation context は必須の前提条件。省略しない
  • ファイル生成のみ行う。apply や commit はユーザーが実行する
  • YAML が正本。Markdown は派生生成物
  • 共通メタデータフィールドを必ず含める
  • ../mcl-common/templates/ のテンプレートを使用する
  • ../mcl-common/references/ のルールに従う

リファレンス

foundation と同じリファレンスファイルを使用する。必要に応じて ../mcl-common/references/ から参照する。

What ships with it: 5 files

722 B alongside SKILL.md

evals/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.