CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

gateway-api

Migrate from the retired ingress-nginx controller to Kubernetes Gateway API, and design, debug, and review Gateway API ingress. Covers annotation inventory and risk triage, ingress2gateway conversion, implementation choice (Envoy Gateway default, Cilium, Istio, NGINX Gateway Fabric, AWS Load Balancer Controller), CRD channel and lifecycle, shared-Gateway ownership, cert-manager listener TLS, Flux layering, parallel-run DNS cutover, and rollback. Use when asked to "migrate off ingress-nginx", "convert my Ingresses to HTTPRoute", "set up Gateway API", "why is my HTTPRoute not attached", or "plan the ingress cutover". Flux reconciliation stuck → /platform-skills:gitops. East-west HTTPRoute in a mesh → /platform-skills:linkerd.

Quality

95%

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 gateway-api in nitinjain999/platform-skills

SKILL.md
Quality
Evals
Security

Quality

Content

92%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.

The body is an unusually strong operational document: executable commands, explicit validation gates and per-stage rollback, dense tables, and essentially zero padding. Its one material defect is that every referenced bundle path — the `references/gateway-api.md` detail file and the `examples/` tree — is missing from the skill bundle, leaving the file the body tells Claude to read first unavailable.

Suggestions

Ship `references/gateway-api.md` in the bundle: the body instructs 'Read `references/gateway-api.md` before responding' and promises the annotation coverage table, troubleshooting table, and rollback table, but no references/ directory exists alongside SKILL.md.

Include the `examples/` tree the body relies on (`examples/fluxcd/basic-monorepo` working layout and `examples/gateway-api/gateway-api-validate.sh`) so scaffold mode's step 9, 'Run `bash examples/gateway-api/gateway-api-validate.sh`', is executable.

If these files cannot be bundled, inline the critical annotation-coverage and condition-reason troubleshooting tables into SKILL.md so the skill is self-contained.

DimensionReasoningScore

Conciseness

The body is almost pure operational guidance with no concept explanations (it never explains what Gateway API or ingress-nginx is) and terse imperatives like "Never a PDB of `minAvailable: 1` on one replica". Inline comments appear only where they encode non-obvious rationale ("`--resolve` only accepts an IP and fails to parse a hostname"), so every token earns its place for a skill of this scope; it is not a 4 because there is no trimmable over-explanation.

5 / 5

Actionability

Fully executable, copy-paste-ready commands throughout: the kubectl/jq annotation-inventory pipeline, `ingress2gateway print --providers=ingress-nginx --emitter=envoy-gateway`, the kubeconform invocation with exact schema locations, and the curl shadow test using `--connect-to`. Even edge cases get exact flags (`--ingress-nginx-ingress-class=<class>`, the `--allow-experimental-gw-api` warning), so it exceeds the 'minor gaps' level of a 4.

5 / 5

Workflow Clarity

Each of the seven modes is a numbered sequence with explicit validation gates and feedback loops: "Do not proceed to `convert` while any item is blocked", kubeconform validation plus "Treat every warning as a finding", cutover pre-flight ("Gateway `Programmed=True`, every route `Accepted=True` and `ResolvedRefs=True`"), soak criteria, a decommission gate, and a mandated per-mode output of Validation and Rollback. This matches the anchor-5 example's validate-fix-retry discipline around risky DNS and decommission changes.

5 / 5

Progressive Disclosure

The in-body structure is anchor-5 quality — a concise overview instructing "Read `references/gateway-api.md` before responding" with an exact enumeration of what it holds, one level deep. However, scoring against the actual bundle structure: no `references/` or `examples/` directory exists, so `references/gateway-api.md`, `examples/fluxcd/basic-monorepo`, and `examples/gateway-api/gateway-api-validate.sh` are all unreachable, and the skill's primary detail file is dangling. That is a broken disclosure chain rather than a minor organization gap (not 4), though signaling and internal organization are strong (not 2).

3 / 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.

The description is exemplary: third-person voice, a comprehensive concrete capability list, and an explicit 'Use when' clause quoting five natural trigger phrases verbatim. Boundary pointers to sibling skills reduce conflict risk further. No weaknesses found.

DimensionReasoningScore

Specificity

"Migrate from the retired ingress-nginx controller to Kubernetes Gateway API, and design, debug, and review Gateway API ingress" plus "annotation inventory and risk triage, ingress2gateway conversion, implementation choice (Envoy Gateway default, Cilium, Istio, NGINX Gateway Fabric, AWS Load Balancer Controller), CRD channel and lifecycle, shared-Gateway ownership, cert-manager listener TLS, Flux layering, parallel-run DNS cutover, and rollback" lists multiple specific concrete actions with comprehensive lifecycle coverage; not a 4 because there are no notable coverage gaps.

5 / 5

Completeness

What: migrate/design/debug/review with a detailed capability inventory. When: an explicit "Use when asked to ..." clause with five concrete trigger phrases. This matches the anchor-5 example exactly; a 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

Explicit natural phrases users would actually say: "migrate off ingress-nginx", "convert my Ingresses to HTTPRoute", "set up Gateway API", "why is my HTTPRoute not attached", "plan the ingress cutover", reinforced by the key nouns (ingress-nginx, HTTPRoute, Gateway API, cutover, rollback). Not a 4 because no common phrasing for this domain is missing — the triggers are verbatim user-voice quotes.

5 / 5

Distinctiveness Conflict Risk

A clear niche (ingress-nginx to Gateway API migration) with distinct triggers, and boundary routing — "Flux reconciliation stuck → /platform-skills:gitops" and "East-west HTTPRoute in a mesh → /platform-skills:linkerd" — actively steers adjacent requests away, minimizing wrong-skill triggering. Not a 4 because no realistic overlap remains with closely related skills.

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: 5 missing

Warning

Total

14

/

16

Passed

Repository

nitinjain999/platform-skills

Path

plugins/platform-skills/skills/gateway-api/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.