CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cluster-upgrade

Plan, run and roll back a Kubernetes minor-version upgrade, EKS first. Finds removed APIs in Git, rendered Helm charts and the live cluster with pluto and EKS upgrade insights, checks add-on compatibility (VPC CNI, CoreDNS, kube-proxy, Karpenter, Flux, KEDA, admission webhooks) against the target version, finds PodDisruptionBudgets that block node drains, plans the node rotation per pool, and picks the right rollback, including EKS one-step version rollback within 7 days or a blue/green cluster. Use when asked to "upgrade the cluster to 1.x", "what breaks if we upgrade", "find deprecated APIs before the upgrade", "why is the node drain stuck", or "roll back the EKS upgrade". One PR diff with a deprecated API → /platform-skills:pr-review. Karpenter's own upgrade → /platform-skills:karpenter.

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is cluster-upgrade in nitinjain999/platform-skills

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, disciplined body: mode dispatch, inline executable commands, per-phase validation gates, and a rollback decision tree, with detail correctly pushed to a single reference. The one real defect is at the bundle level: `references/cluster-upgrade.md`, which the body depends on for the PDB query, rotation tables and validation block, is not present in the bundle, leaving the drain, rotate and validate modes non-executable as staged.

Suggestions

Ship references/cluster-upgrade.md with the skill bundle — the drain, rotate and validate modes defer to it ("Run the PDB query from the reference", "Run the reference's validation block") and it is missing, so those modes cannot execute as staged.

Inline the short PDB blocker query and one concrete per-pool rotation example in the drain/rotate sections so those modes work from SKILL.md alone even when the reference is not loaded.

DimensionReasoningScore

Conciseness

Lean and disciplined throughout: "Never run `update-cluster-version`, `update-nodegroup-version` or a drain yourself: produce the commands, the checks and the rollback, and let the user run them", "Flag live-only objects as ownerless: nothing will reconcile them after the upgrade", "Order pools by blast radius, smallest first". No background on Kubernetes or upgrade concepts, and the mode-dispatch table replaces prose; every sentence instructs. The table/section overlap is navigation structure, not padding — anchor 5.

5 / 5

Actionability

Inline copy-paste-ready commands for scan, add-ons and rollback: "pluto detect-files -d <repo dir> --target-versions k8s=v<target>", "aws eks describe-addon-versions --kubernetes-version <target> --addon-name <name>", "aws eks update-cluster-version --kubernetes-version <previous>". However "Run the PDB query from the reference", "Per pool type, from the reference's Phase 5 table" and "Run the reference's validation block" defer key executable detail to `references/cluster-upgrade.md`, which is absent from the bundle, so drain/rotate/validate are not executable as staged. Anchor 4 (mostly executable, gaps); not 5 because the common drain and rotation cases lack verifiable commands, not 3 because the body's own commands are complete and runnable.

4 / 5

Workflow Clarity

Clear sequence with explicit checkpoints and failure recovery: "Run `scan`, `addons` and `drain` and fold their findings into one ordered checklist", per-pool gates "After each pool: no `Pending` pods, all nodes `Ready`, GitOps converged", a rollback decision tree keyed on "what failed and when the control plane upgrade completed", and a validate mode that reports "each check as pass or fail". Validation is explicit in every phase, so the destructive/batch cap at 3 does not apply; not 4 because checkpoints and feedback loops are present throughout, including the output format mandating validation commands and rollback per phase.

5 / 5

Progressive Disclosure

Textbook structure: a lean overview deferring detail to one clearly-signaled, one-level reference — "Read `references/cluster-upgrade.md` before responding. It holds the scan commands for each place removed APIs hide, the add-on checks, the drain-blocker query, node rotation per pool type, the EKS rollback rules...". But no `references/` directory exists in the bundle, so that load-bearing file is missing and its contents are unreachable as staged. Not 5 because navigation cannot be verified against the actual bundle; not 3 because the structure itself is far better organized than the anchor-3 example.

4 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: concrete actions spanning the entire upgrade lifecycle, natural quoted trigger phrases that answer both what and when, and explicit routing of edge cases to adjacent skills. It is dense but carries no fluff or over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete actions covering the full lifecycle: "Finds removed APIs in Git, rendered Helm charts and the live cluster with pluto and EKS upgrade insights", "checks add-on compatibility (VPC CNI, CoreDNS, kube-proxy, Karpenter, Flux, KEDA, admission webhooks)", "finds PodDisruptionBudgets that block node drains", "plans the node rotation per pool", "picks the right rollback, including EKS one-step version rollback within 7 days or a blue/green cluster". Matches the anchor-5 pattern (multiple specific concrete actions, comprehensive coverage); not 4 because no lifecycle step — scan, add-ons, drains, rotation, rollback — is missing.

5 / 5

Completeness

Explicitly answers both questions: what ("Plan, run and roll back a Kubernetes minor-version upgrade, EKS first" plus the enumerated sub-capabilities) and when ("Use when asked to..." with five concrete trigger phrases). This is exactly the anchor-5 pattern; the 'Use when' cap does not apply since explicit trigger guidance is present.

5 / 5

Trigger Term Quality

Quoted natural user utterances: "Use when asked to 'upgrade the cluster to 1.x', 'what breaks if we upgrade', 'find deprecated APIs before the upgrade', 'why is the node drain stuck', or 'roll back the EKS upgrade'", plus synonym coverage ("removed APIs" and "deprecated APIs", "roll back"/"rollback", "upgrade"/"version rollback"). Not 4: no common phrasing of this need is missing, including oblique triggers like "what breaks if we upgrade".

5 / 5

Distinctiveness Conflict Risk

Clear niche (Kubernetes minor-version upgrade, EKS-first) with active de-confliction: "One PR diff with a deprecated API → /platform-skills:pr-review. Karpenter's own upgrade → /platform-skills:karpenter." Overlap cases are explicitly routed to other skills, so conflict risk is minimal — beyond the anchor-4 example, which only has minor overlap risk.

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

nitinjain999/platform-skills

Path

plugins/platform-skills/skills/cluster-upgrade/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.