Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aws-samples avatar

Eks Upgrade Check

  • 2 installs
  • 6 repo stars
  • Updated August 5, 2026
  • aws-samples/sample-eks-upgrade-skill

eks-upgrade-check is a skill that assesses a live Amazon EKS cluster's readiness for a Kubernetes version upgrade and scores it 0 to 100 percent.

About

Assesses a live Amazon EKS cluster's readiness for a Kubernetes version upgrade. It connects via AWS CLI and kubectl, runs automated checks across eight areas, computes a 0 to 100 percent readiness score, and produces a report with prioritized remediation steps and pre-filled CLI commands. A platform engineer runs it before upgrading to answer whether the cluster is safe to move to the next version.

  • Runs checks across 8 assessment areas and outputs a 0 to 100 percent readiness score
  • Detects deprecated/removed APIs, version skew, addon and Karpenter compatibility live
  • Hard-blocker override caps the score at 59 percent (NOT READY) on critical findings

Eks Upgrade Check by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #918 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

eks-upgrade-check capabilities & compatibility

Needs an AWS account with EKS read access; uses existing AWS credentials, no extra config if aws eks list-clusters works.

Capabilities
eks to agentcore
Works with
aws · kubernetes
Use cases
devops · security audit
Runs
Runs locally
Pricing
Bring your own API key
From the docs

What eks-upgrade-check says it does

This skill assesses your live EKS cluster's readiness for a Kubernetes version upgrade.
SKILL.md
If any hard blocker is detected (e.g., incompatible Karpenter, critical
SKILL.md
npx skills add https://github.com/aws-samples/sample-eks-upgrade-skill --skill eks-upgrade-check

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
repo stars6
Last updatedAugust 5, 2026
Repositoryaws-samples/sample-eks-upgrade-skill

What it does

Assess a live Amazon EKS cluster's readiness for a Kubernetes version upgrade and produce a remediation report.

Who is it for?

Platform teams validating EKS upgrade safety before running a control-plane or node upgrade

Skip if: Clusters not in ACTIVE state, where the skill stops because the EKS API rejects upgrades

When should I use this skill?

Planning an EKS upgrade and needing a readiness score, deprecated-API scan, or addon compatibility check

What you get

A readiness score and remediation report with pre-filled CLI commands and an ordered upgrade sequence.

  • Readiness score report
  • Prioritized remediation steps
  • Pre-filled upgrade CLI commands

By the numbers

  • 8 assessment areas
  • Readiness score 0-100%
  • Hard-blocker override caps score at 59%

Files

SKILL.mdMarkdownGitHub ↗

EKS Upgrade Readiness Skill

Overview

This skill assesses your live EKS cluster's readiness for a Kubernetes version upgrade. It connects to your cluster via AWS CLI and kubectl, runs automated checks across 8 assessment areas, calculates a readiness score (0-100%), and produces a detailed report with prioritized remediation steps and pre-filled AWS CLI commands.

This skill is laser-focused on upgrade safety — answering the question: "Is it safe to upgrade this cluster to the next version?"

What Gets Assessed

#SectionKey Checks
01Version ValidationUpgrade path validity, version skew policy, support status
02Breaking ChangesVersion-specific API removals, behavioral changes, resource impact
03Deprecated API DetectionLive scan of cluster resources for deprecated/removed APIs
04Add-on CompatibilityCore add-on versions, OSS add-on matrix, Karpenter compatibility
05Node ReadinessNode version skew, AL2→AL2023 migration, AMI compatibility
06Workload RisksSingle replicas, missing PDBs, health probes, resource requests
07AWS Upgrade InsightsOfficial EKS pre-upgrade checks and recommendations
08Upgrade PlanPre-filled CLI commands, step-by-step upgrade sequence

Readiness Score

The skill calculates a weighted readiness score:

CategoryMax DeductionRationale
Breaking Changes25 ptsHighest risk — can break apps
Deprecated APIs20 ptsActionable, fixable pre-upgrade
Node Readiness (skew + subnet IPs)20 ptsCan block upgrade entirely
Unsupported Version15 ptsNo security patches, urgent upgrade needed
Add-on Compatibility15 ptsCritical > optional add-ons
Karpenter10 ptsOnly if installed
Workload Risks10 ptsBest-practice, not blockers
AWS Upgrade Insights10 ptsOfficial AWS checks
AL2 Nodes / Behavioral10 ptsInformational

Hard Blocker Override: If any hard blocker is detected (e.g., incompatible Karpenter, critical add-on DEGRADED, subnet IPs < 5, cluster not ACTIVE), the score is capped at ≤ 59% (NOT READY) regardless of other findings. See steering/report-generation.md for the full list.

Score Interpretation:

  • 90-100: READY — Safe to proceed
  • 80-89: GOOD — Minor issues, can proceed with caution
  • 70-79: FAIR — Several issues need attention first
  • 60-69: RISKY — Significant issues, not recommended yet
  • 0-59: NOT READY — Critical blockers, must resolve first

Prerequisites

1. AWS credentials configuredaws configure or ~/.aws/credentials with EKS access 2. kubectl access to the target cluster (for Kubernetes API queries) 3. Required AWS Permissions:

  • eks:DescribeCluster, eks:ListClusters, eks:ListNodegroups, eks:DescribeNodegroup
  • eks:ListAddons, eks:DescribeAddon, eks:ListInsights, eks:DescribeInsight
  • ec2:DescribeSubnets
  • iam:GetRole, iam:ListAttachedRolePolicies, iam:ListRolePolicies, iam:GetRolePolicy

MCP Server Setup

This skill uses two MCP servers, both pre-configured in .mcp.json at the project root:

  • awslabs.eks-mcp-server — connects to your EKS cluster
  • awslabs.aws-documentation-mcp-server — looks up AWS documentation during assessment

On first launch, Claude Code will prompt you to enable both servers. If MCP servers are not available, the skill falls back to AWS CLI and kubectl commands.

Configuration

The skill uses your existing AWS credentials. No additional configuration needed if aws eks list-clusters works from your terminal.

To use a specific profile or region, set environment variables:

export AWS_PROFILE=your-profile-name
export AWS_REGION=your-region

Getting Started

Invoke the skill: /eks-upgrade-check

Or simply ask: "Run an EKS upgrade readiness assessment"

The skill will discover your clusters, ask which one to assess and what target version, then run the full assessment.

---

Assessment Workflow

Step 0: Pre-flight

Action 1 — List clusters (test connectivity & discover clusters)

Run aws eks list-clusters to discover available clusters.

  • ✅ Success → Show the cluster list. Ask which cluster to assess. If only one cluster, confirm it.
  • ❌ Failure → STOP. Do NOT retry more than once. Show:
Cannot access EKS clusters. Try these steps:
1. Check that AWS credentials are configured: aws sts get-caller-identity
2. Check your region: aws eks list-clusters --region <region>
3. Check that MCP servers are enabled in Claude Code

Wait for the user to resolve the issue.

Action 2 — Describe the selected cluster

Run aws eks describe-cluster --name <cluster> and show: cluster name, Kubernetes version, platform version, region, status, account ID.

Action 2b — Validate cluster status

Check the status field from the cluster description. If status is NOT ACTIVE:

  • CREATING/UPDATING/DELETING → STOP. Show: "Cluster is currently in <status> state. The EKS API will reject an upgrade request. Wait for the operation to complete, then re-run this assessment."
  • FAILED → STOP. Show: "Cluster is in FAILED state. This is a hard blocker — the cluster must be recovered before an upgrade can be attempted. Contact AWS Support if the cluster is stuck in FAILED."

Do NOT proceed with the assessment if cluster status is not ACTIVE. This is a hard blocker (see report-generation.md).

Action 3 — Validate permissions

After describing the cluster, verify key permissions by attempting: 1. aws eks list-nodegroups --cluster-name <cluster> 2. aws eks list-addons --cluster-name <cluster> 3. aws eks list-insights --cluster-name <cluster>

If any fail with AccessDenied, show the user exactly which permission is missing and list the required IAM actions. Do NOT proceed until permissions are confirmed.

Action 4 — Determine target version

Ask: "Your cluster is on v[current]. The next version is v[current+1]. Shall I assess upgrade readiness to v[current+1]?"

If the user specifies a version more than 1 minor version ahead, explain that EKS requires one-version-at-a-time upgrades and show the required path (e.g., 1.29 → 1.30 → 1.31 → 1.32). Offer to assess the first hop.

Action 5 — Confirm and proceed

Steps 1-8: Run Assessment

Read each steering file in order from ${CLAUDE_SKILL_DIR}/steering/. For each section: 1. Read the steering file 2. Execute the checks described in it using AWS CLI and kubectl commands 3. Collect findings with severity ratings

Steering file loading guide:

User RequestSteering File(s)
Full upgrade assessmentALL files in order
Version / upgrade pathsteering/version-validation.md
Breaking changes / API removalssteering/breaking-changes.md
Deprecated APIssteering/deprecated-apis.md
Add-on compatibility / Karpentersteering/addon-compatibility.md
Node readiness / AL2 / AMIsteering/node-readiness.md
Workload risks / PDB / probessteering/workload-risks.md
AWS Insightssteering/upgrade-insights.md
Generate reportsteering/report-generation.md

Step 9: Calculate Score & Generate Report

Read ${CLAUDE_SKILL_DIR}/steering/report-generation.md and produce the report.

---

Tool Usage Rules

1. Do NOT call any tools when this skill is first activated. Wait for the user to ask. 2. Do NOT hardcode or guess cluster names. Always discover by listing first. 3. Do NOT retry a failed command more than once. 4. Always read the relevant steering file before executing checks for that section. 5. Use `aws` CLI and `kubectl` for cluster queries. If MCP servers are available, prefer them for EKS operations.

Data Files

  • OSS Add-on Registry: ${CLAUDE_SKILL_DIR}/data/oss_addon_registry.json — identifiers and authoritative upstream URLs for common OSS add-ons. This file does NOT contain compatibility data. Compatibility is always verified live via the registry's compatibility_url and releases_url fields. If an add-on is not in the registry or the upstream source is unreachable, report UNKNOWN — never guess.
  • HTML Converter: ${CLAUDE_SKILL_DIR}/tools/md_to_html.py — converts markdown reports to HTML

Report Output

  • Markdown: EKS-Upgrade-Assessment-<cluster>-<version>-<YYYY-MM-DD>-<HHMM>.md
  • HTML: Run python3 ${CLAUDE_SKILL_DIR}/tools/md_to_html.py <report>.md to convert

Do NOT generate HTML manually. Always use the conversion script.

Related skills

FAQ

What does the readiness score mean?

90 to 100 is READY, 60 to 69 is RISKY, and 0 to 59 is NOT READY; a hard blocker caps the score at 59 percent regardless of other findings.

What does it need to run?

AWS credentials configured, kubectl access to the target cluster, and specific EKS/EC2/IAM read permissions.

Cloud & Infrastructureinframonitoring

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.