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

78%

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

The canonical home for this skill is cdk8s-apps in fernandezbaptiste/Skrillz

SKILL.md
Quality
Evals
Security

Quality

Content

63%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 well-structured, highly actionable body dominated by executable Python, bash, and YAML examples with real validation checkpoints (dry-run, unit tests, git diff). Its weaknesses are verbosity — marketing-style benefits bullets and a duplicated when-to-use list — and heavy inline duplication of material already covered by the three reference files, which blurs the overview-vs-detail split that progressive disclosure calls for.

Suggestions

Remove the 'What is cdk8s?' and 'Key Benefits' bullet lists and merge the two overlapping 'When to Use' sections (top of file and 'vs Alternatives' at the end) into a single decision guide — this conceptual/marketing content adds tokens without adding capability.

Slim the body to Quick Start plus pointers: move the detailed workflows (multi-environment, microservice construct), Testing, CI/CD, and EKS sections into references/patterns.md and getting-started.md, since they duplicate content already in those files; keep one short representative example per topic in SKILL.md.

Consolidate version-sensitive data (pinned versions cdk8s==2.70.26, the cdk8s-plus-27/28/29 compatibility table, scattered cdk8s_plus_27 imports) into a single clearly labeled version note in a reference file, and state once how to substitute the plus version matching the target cluster.

DimensionReasoningScore

Conciseness

The bulk is dense, executable code (good), but there are several padded sections Claude does not need: 'What is cdk8s?' and 'Key Benefits' marketing bullets ('Type Safety: Catch configuration errors at development time', 'IDE Support: Autocomplete'), a 'When to Use cdk8s' list that duplicates the later 'When to Use cdk8s vs Alternatives' section, and inline time-sensitive version data (cdk8s==2.70.26, cdk8s-plus-27/28/29 compatibility table) not placed in a deprecated/version section. Not 2 because the majority of the body is lean runnable code rather than prose padding; not 4 because the duplication and benefit-fluff sections are more than minor.

3 / 5

Actionability

Mostly executable guidance: complete install commands, a runnable first application, three full workflows, pytest tests, CI/CD YAML, EKS bridge code, and a command cheat-sheet. Not 5 because of small gaps — the L3 construct example is a stub ('# Compose deployment + service + ingress'), and the 'Use Explicit Names' best practice mixes an ambiguous `Deployment` with `k8s.ObjectMeta` without a clear import, making it non-copy-paste ready.

4 / 5

Workflow Clarity

The Quick Start gives a clear ordered sequence (install → init → write → synth → review → apply), and 'Test Before Deploying' provides explicit checkpoints (kubectl apply --dry-run=client, pytest tests/, git diff dist/) plus a Testing section with synth-and-assert loops. Not 5 because there is no explicit error-recovery feedback loop (e.g., 'if dry-run fails, fix and re-validate') tying validation into the deploy sequence.

4 / 5

Progressive Disclosure

References exist, are real, one level deep (verified: references/*.md only cross-link laterally), and are clearly signaled in a 'Detailed Guides' section with descriptions. However, the ~630-line body inlines substantial content that belongs in those files and largely duplicates them — installation/quick-start (getting-started.md), L1/L2/L3 construct explanations (constructs.md), and multi-environment/microservice patterns (patterns.md). Not 4 because content that should be separate is inline at well-beyond-overview scale; not 2 because structure and signaling are genuinely good.

3 / 5

Total

14

/

20

Passed

Description

83%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 that explicitly covers both what the skill does and when to use it, with concrete, natural trigger phrases anchored by the specific tool name. Minor room to improve: make the what-clause verb-driven and add common synonym terms like 'YAML' to further reduce overlap with adjacent K8s tooling skills.

DimensionReasoningScore

Specificity

The 'what' clause ('CDK8s for type-safe Kubernetes manifests using Python') names the domain, and the 'Use when' clause lists several concrete actions — 'building complex K8s applications programmatically, generating manifests from code, creating reusable infrastructure patterns, or managing multi-environment deployments'. Not 5 because the what-clause is a noun phrase relying on the tool name rather than explicit action verbs (e.g., 'define K8s apps in Python, synthesize to YAML'); not 3 because multiple specific actions are stated, exceeding 1-2.

4 / 5

Completeness

Both questions are explicitly answered: what ('CDK8s for type-safe Kubernetes manifests using Python') and when ('Use when building complex K8s applications programmatically, generating manifests from code, creating reusable infrastructure patterns, or managing multi-environment deployments') with four concrete trigger phrases. Fits the anchor 5 example pattern; the score-4 caveat ('when' could be more explicit) does not apply since the when-clause is fully explicit.

5 / 5

Trigger Term Quality

Good natural keyword coverage: 'Kubernetes manifests', 'K8s applications', 'manifests from code', 'multi-environment deployments', 'infrastructure patterns'. Not 5 because common variations users would say are missing — notably 'YAML', 'Helm'/'Kustomize' comparison terms, and file/CLI hints like 'cdk8s synth'; not 3 because coverage goes well beyond a single generic keyword with several natural phrases.

4 / 5

Distinctiveness Conflict Risk

The named tool 'CDK8s' and triggers like 'generating manifests from code' establish a clear niche distinct from generic coding skills. Not 5 because broad terms like 'Kubernetes manifests' and 'multi-environment deployments' could overlap with closely related K8s skills (Helm, Kustomize, raw YAML, general kubectl help) for a user who just says 'help me write Kubernetes manifests'.

4 / 5

Total

17

/

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

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