CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cdk8s-apps

CDK8s for type-safe Kubernetes manifests using Python. Use when building complex K8s applications programmatically, generating manifests from code, creating reusable infrastructure patterns, or managing multi-environment deployments.

Quality

77%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/cdk8s-apps/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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 content is highly actionable with executable code for the core workflows and reasonable validation checkpoints, but it is overweight: conceptual overview sections, duplicated when-to-use guidance, and deep-dive material that duplicates the three reference files inflate the body well past an overview's role. Slimming the body and leaning on the existing references would fix both conciseness and progressive disclosure.

Suggestions

Cut the 'What is cdk8s?', 'Key Benefits', and 'When to Use cdk8s vs Alternatives' marketing/decision sections (or compress them to a few bullets), and keep a single when-to-use statement — this duplicated conceptual exposition is the main conciseness drain.

Move the full L1/L2/L3 construct treatment and the multi-environment/EKS workflow code into the existing references (constructs.md, patterns.md) and keep only one short representative example per topic in SKILL.md, converting the body into a true overview that routes to the Detailed Guides.

Add an explicit error-recovery step to the deploy workflow (e.g. 'if kubectl apply --dry-run fails, fix the chart and re-run cdk8s synth before applying') to close the feedback loop that currently caps workflow clarity.

DimensionReasoningScore

Conciseness

The body carries several padded sections that explain what Claude already knows or duplicate other sections: "**What is cdk8s?**", the "**Key Benefits:**" marketing list (Type Safety / IDE Support / Reusability), and when-to-use guidance that appears twice (the Overview "When to Use cdk8s" list and again in "When to Use cdk8s vs Alternatives"). Pinned versions ("cdk8s==2.70.26") are also time-sensitive without a deprecation framing. This is noticeably verbose with several unnecessary sections, matching anchor 2 rather than the mostly-efficient anchor 3.

2 / 5

Actionability

The skill is largely copy-paste executable: install commands ("npm install -g cdk8s-cli", "cdk8s init python-app"), three complete workflow programs, pytest-based tests with Testing.synth, a GitHub Actions YAML, and a command list. Minor gaps keep it below 5: the L1 example ends in an ellipsis ("template=k8s.PodTemplateSpec(...)"), and the "Use Explicit Names" snippet mixes a cdk8s-plus Deployment with "from imports import k8s" metadata.

4 / 5

Workflow Clarity

The end-to-end sequence is clear (init → write chart → cdk8s synth → review dist/ → kubectl apply) and "Test Before Deploying" provides checkpoints ("kubectl apply --dry-run=client -f dist/", "pytest tests/", "git diff dist/") before a risky batch deploy. It falls short of anchor 5 because no explicit error-recovery loop is described for what to do when validation or dry-run fails.

4 / 5

Progressive Disclosure

References are real, one level deep, and clearly signaled ("[Getting Started Guide](references/getting-started.md)" etc. under "Detailed Guides"), but the 630-line body inlines substantial deep content those files already cover — the full L1/L2/L3 construct treatment duplicating constructs.md, and the multi-environment and EKS workflows duplicating patterns.md. Content that clearly belongs in the separate files is inline, matching anchor 3 rather than the mostly-appropriate placement of anchor 4.

3 / 5

Total

13

/

20

Passed

Description

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

A strong description: it pairs a concrete what with an explicit, multi-scenario 'Use when' clause in third person, using natural trigger terms including the Kubernetes/K8s synonym. The only improvements are adding a few more natural phrasings (YAML, Helm, Kustomize) to sharpen trigger coverage and distinctiveness at the margins.

DimensionReasoningScore

Specificity

The description states a concrete what ("CDK8s for type-safe Kubernetes manifests using Python") and lists four specific actions: "building complex K8s applications programmatically, generating manifests from code, creating reusable infrastructure patterns, or managing multi-environment deployments". This matches the anchor-5 pattern of multiple specific concrete actions with comprehensive coverage; it is not 4 because there are no meaningful gaps in the actions described.

5 / 5

Completeness

Both parts are explicit: the what ("CDK8s for type-safe Kubernetes manifests using Python") and an explicit "Use when..." clause with four concrete trigger scenarios. This mirrors the anchor-5 example's structure; it is not 4 because the when-clause is already explicit and specific rather than needing more specificity.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "Kubernetes manifests", "K8s", "manifests from code", "multi-environment deployments", "reusable infrastructure patterns" — including the Kubernetes/K8s synonym pair. A few natural user phrasings are missing (e.g. "YAML" as in 'instead of YAML', "Helm", "Kustomize"), which fits anchor 4 rather than the comprehensive synonym-plus-extension coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The niche is clearly cdk8s (programmatic manifest generation), distinct from Helm/Kustomize/raw-YAML skills, and triggers are phrased around writing manifests from code. Minor overlap risk remains: "multi-environment deployments" and "reusable infrastructure patterns" could also match a generic Kubernetes or general IaC skill, fitting anchor 4 rather than the minimal-conflict anchor 5.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (632 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

fernandezbaptiste/Skrillz

Path

skills/cdk8s-apps/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.