Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Integrate Kubernetes workloads with AWS EKS, Azure AKS, and GCP GKE including IAM, ingress controllers, storage classes, and platform-specific features.
.claude/skills/williamzujkowski-cloud-platform-integrator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 98% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 106% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 141% | 0% |
Trigger conditions:
Not for:
Time normalization:
NOW_ET using NIST/time.gov semantics (America/New_York, ISO-8601): 2025-10-26T01:33:54-04:00NOW_ET for all citation access datesInput validation:
cloud_provider must be: aws, azure, or gcpcluster_name must be valid for cloud provider naming rulesregion must be valid region for selected cloud provideringress_type if specified must match cloud provider capabilitiesSource freshness:
Decision thresholds:
Step 1: Configure IAM for Kubernetes
Step 2: Define storage classes
Output:
Abort conditions:
All T1 steps plus:
Step 1: Deploy cloud-native ingress controller
Step 2: Enable cluster autoscaling
Step 3: Integrate cloud monitoring
Step 4: Configure container registry integration
Step 5: Network policy and security
Output:
Abort conditions:
All T1 + T2 steps plus:
Step 1: Multi-AZ and high availability
Step 2: Advanced autoscaling
Step 3: Disaster recovery and backup
Output:
Cloud provider-specific features:
Ingress controller selection:
Storage class types:
Autoscaling strategy:
Ambiguity handling:
Required fields (all tiers):
yamliam_config: platform: "aws-irsa | azure-workload-identity | gcp-workload-identity" service_account: apiVersion: v1 kind: ServiceAccount metadata: name: "app-sa" annotations: cloud_annotation: "arn:aws:iam::xxx | azure_client_id | gcp_sa_email" iam_policy: "cloud IAM policy or role definition" storage_classes: - name: "cloud-storage" provisioner: "cloud-specific CSI driver" parameters: type: "gp3 | Premium_LRS | pd-ssd" encrypted: "true" reclaimPolicy: "Retain | Delete" allowVolumeExpansion: true
Additional T2 fields:
yamlingress_controller: type: "alb | app-gateway | gke-ingress | nginx" installation: "Helm chart or manifest YAML" configuration: "controller-specific settings" ingress_class: "IngressClass resource YAML" autoscaling: type: "cluster-autoscaler | karpenter | aks-autoscaler | gke-autoscaler" configuration: "autoscaler deployment or managed config" scaling_policies: min_nodes: integer max_nodes: integer target_cpu_utilization: integer monitoring: platform: "cloudwatch | azure-monitor | cloud-logging" configuration: "monitoring agent DaemonSet or managed config" log_aggregation: "FluentBit/Fluentd configuration" metrics_collection: "Prometheus scraping or cloud metrics" registry_auth: method: "irsa | workload-identity | image-pull-secret" configuration: "registry authentication setup"
Additional T3 fields:
yamlhigh_availability: multi_az: boolean topology_spread_constraints: "pod topology config" pod_disruption_budgets: "PDB YAML" advanced_autoscaling: keda_scalers: ["custom metric scalers"] predictive_scaling: "schedule-based scaling rules" spot_instances: enabled: boolean fallback_to_on_demand: boolean disaster_recovery: velero_config: "Velero installation with cloud storage" backup_schedule: "cron schedule for backups" cross_region_replication: boolean
yaml# T1 Example: AWS IRSA ServiceAccount apiVersion: v1 kind: ServiceAccount metadata: name: app-service-account namespace: default annotations: eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/app-role
yaml# T1 Example: AWS EBS StorageClass apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ebs-gp3 provisioner: ebs.csi.aws.com parameters: type: gp3 encrypted: "true" iops: "3000" throughput: "125" reclaimPolicy: Retain allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
yaml# T2 Example: AWS ALB Ingress apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: app-ingress annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:... spec: rules: - host: app.example.com http: paths: - path: / pathType: Prefix backend: service: name: app-service port: number: 80
Token budgets (enforced):
Safety checks:
Auditability:
Determinism:
Validation requirements:
Official Documentation (accessed 2025-10-26T01:33:54-04:00):
IAM and Identity:
Storage and Networking:
Autoscaling:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | fail→pass | 10,712 | 7,905 | -26% | 1 | 1 | 0% | 2,613 | 5,178 | +98% | 0 | 0 | — |
case-01 | fail→pass | 10,251 | 6,261 | -39% | 1 | 1 | 0% | 2,408 | 4,953 | +106% | 0 | 0 | — |
case-02 | fail→pass | 12,906 | 10,092 | -22% | 1 | 1 | 0% | 3,022 | 5,761 | +91% | 0 | 0 | — |
case-03 | fail→pass | 17,451 | 13,830 | -21% | 1 | 1 | 0% | 4,167 | 6,900 | +66% | 0 | 0 | — |
case-19 | fail→pass | 10,976 | 11,081 | +1% | 1 | 1 | 0% | 2,363 | 5,695 | +141% | 0 | 0 | — |
case-04 | pass→pass | 4,510 | 6,282 | +39% | 1 | 1 | 0% | 1,084 | 4,816 | +344% | 0 | 0 | — |
case-05 | pass→pass | 7,876 | 9,499 | +21% | 1 | 1 | 0% | 1,882 | 5,797 | +208% | 0 | 0 | — |
case-06 | pass→pass | 12,351 | 11,139 | -10% | 1 | 1 | 0% | 2,733 | 5,798 | +112% | 0 | 0 | — |
case-07 | pass→pass | 13,050 | 7,144 | -45% | 1 | 1 | 0% | 3,127 | 5,109 | +63% | 0 | 0 | — |
case-20 | fail→fail | 9,490 | 8,452 | -11% | 1 | 1 | 0% | 1,914 | 5,347 | +179% | 0 | 0 | — |
case-08 | pass→pass | 4,388 | 6,745 | +54% | 1 | 1 | 0% | 1,064 | 4,834 | +354% | 0 | 0 | — |
case-09 | fail→pass | 14,412 | 14,659 | +2% | 1 | 1 | 0% | 3,369 | 6,658 | +98% | 0 | 0 | — |
case-10 | fail→pass | 16,564 | 15,816 | -5% | 1 | 1 | 0% | 3,999 | 7,328 | +83% | 0 | 0 | — |
case-11 | fail→pass | 15,060 | 8,902 | -41% | 1 | 1 | 0% | 3,402 | 5,331 | +57% | 0 | 0 | — |
case-12 | fail→pass | 12,879 | 12,051 | -6% | 1 | 1 | 0% | 2,533 | 6,099 | +141% | 0 | 0 | — |
case-14 | fail→pass | 17,268 | 15,153 | -12% | 1 | 1 | 0% | 4,113 | 7,110 | +73% | 0 | 0 | — |
case-15 | fail→pass | 17,391 | 11,489 | -34% | 1 | 1 | 0% | 4,221 | 6,401 | +52% | 0 | 0 | — |
case-16 | fail→pass | 18,284 | 17,090 | -7% | 1 | 1 | 0% | 3,979 | 7,184 | +81% | 0 | 0 | — |
case-17 | fail→pass | 28,578 | 21,192 | -26% | 1 | 1 | 0% | 6,189 | 8,440 | +36% | 0 | 0 | — |
case-18 | pass→pass | 21,737 | 15,471 | -29% | 1 | 1 | 0% | 5,171 | 6,976 | +35% | 0 | 0 | — |
case-21 | fail→pass | 16,729 | 9,987 | -40% | 1 | 1 | 0% | 3,656 | 5,453 | +49% | 0 | 0 | — |
case-22 | fail→pass | 11,407 | 9,113 | -20% | 1 | 1 | 0% | 2,187 | 5,422 | +148% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +68 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.