CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

preflight

Production-readiness preflight check for a directory, repo, or single file. Auto-detects file types (Kubernetes manifests, Terraform, GitHub Actions workflows, Helm values/charts, Flux Kustomizations/HelmReleases, Dockerfiles, shell scripts) and applies type-specific checks across the whole scope. Returns a per-file summary table and aggregated verdict. Use before deploying, merging, or applying a folder of config. For PR diffs spanning multiple files use /platform-skills:pr-review instead. For deep Helm chart work use /platform-skills:helmchart instead.

Quality

92%

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

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 highly actionable, rigorously sequenced workflow whose only real weakness is token efficiency at the file level: everything lives in one monolithic SKILL.md instead of splitting per-type checklists into reference files loaded on demand. A handful of editorial rationale passages could also be trimmed.

Suggestions

Move the eight type-specific checklists in Step 6 (Kubernetes workload, RBAC, Flux Kustomization/HelmRelease, KEDA, Terraform, GitHub Actions, Helm, Dockerfile, Shell) into per-type files under references/ (e.g. references/kubernetes.md, references/terraform.md) and instruct the model to read only the file matching each detected type, keeping SKILL.md to the workflow, universal checks, and output format — this would cut context load by well over half for typical runs.

Trim editorial rationale to one-line notes: the --bot/--json precedence justification in Step 0, the serviceAccountName severity rationale, and the Terraform count/for_each reasoning can each state the rule plus a short 'why' without the full argument.

Consider moving the deprecation tables (Kubernetes API removals, GitHub Actions actions) into the per-type reference files as well — they are exactly the stable lookup material that belongs in progressively-disclosed references rather than the always-loaded core.

DimensionReasoningScore

Conciseness

The body is dense with genuinely non-obvious operational detail (severity assignments, tool command shapes, fallback rules) rather than concepts Claude already knows, so it is mostly efficient. Not 5: several passages editorialize beyond the instruction — e.g. the --bot/--json rationale "since correctness of automated parsing matters more than a flag-conflict notice a CI author would notice from their own command line anyway", and the multi-sentence serviceAccountName justification — which could be trimmed to one-line notes. Not 3: the over-explanation is confined to a handful of rationale sentences, not whole padded sections.

4 / 5

Actionability

Guidance is copy-paste ready throughout: exact tool invocations ("kubectl apply --dry-run=server -f <file>", "zizmor --strict-collection --offline <file>", the gh api PATCH snippet for comment updates), a fully specified 9-field finding block, complete output templates for Standard/Bot/JSON modes, and an exact --changed-only resolution algorithm including fallback commands. Not 4: even edge cases (git not present, tool not installed, flag conflicts) have concrete prescribed behaviors.

5 / 5

Workflow Clarity

Steps 0–9 are explicitly sequenced with parsing before scope, scope before interview, discovery before classification; validation checkpoints are pervasive — the three-value Confidence field with a hard evidence rule for "Tool verified", a mandatory "Validation step" field on every finding, tool fallback notes ("<tool> not found — findings for this file are Static review only"), and a Common mistakes section covering error recovery. Not 4: batch-mode discovery and the --changed-only path both include explicit fallback/feedback loops rather than leaving gaps.

5 / 5

Progressive Disclosure

In-file structure is good (numbered steps, per-type sections), so not the anchor-2 case of minimal structure, but all eight type-specific checklists (Kubernetes workload, RBAC, Flux, KEDA, Terraform, GitHub Actions, Helm, Dockerfile, Shell) are fully inlined in a 637-line monolith with no references/, scripts/, or assets/ bundle — a single-file shell-script review loads the entire Terraform and Flux checklists it will never use. Not 4: this is not a minor organization gap; the natural progressive-disclosure split (per-type reference files loaded only for detected types) is entirely absent, and no external reference is signaled anywhere.

3 / 5

Total

17

/

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: third-person voice, concrete enumerated capabilities, an explicit use-when clause with three natural trigger occasions, and explicit de-confliction redirects to sibling skills. Every clause earns its place despite the length.

DimensionReasoningScore

Specificity

Multiple concrete actions are enumerated: "Auto-detects file types (Kubernetes manifests, Terraform, GitHub Actions workflows, Helm values/charts, Flux Kustomizations/HelmReleases, Dockerfiles, shell scripts)", "applies type-specific checks across the whole scope", and "Returns a per-file summary table and aggregated verdict" — comprehensive coverage of what the skill does across all supported scopes (directory, repo, single file). Not 4: there are no meaningful gaps in coverage of the skill's stated capabilities.

5 / 5

Completeness

Both 'what' and 'when' are answered explicitly: the what is the type-specific check pipeline with per-file summary and aggregated verdict, and the when is a concrete trigger clause — "Use before deploying, merging, or applying a folder of config". Not 4: the 'when' is not merely present but specific, naming three concrete occasions.

5 / 5

Trigger Term Quality

Natural trigger terms users would actually say are comprehensively covered: "production-readiness preflight check", "before deploying, merging, or applying", plus the full technology vocabulary (Kubernetes, Terraform, GitHub Actions, Helm, Flux, Dockerfiles, shell scripts). Not 4: it includes synonyms across scope ("directory, repo, or single file") and occasion (deploy/merge/apply), leaving no common natural phrasing missing.

5 / 5

Distinctiveness Conflict Risk

The niche (pre-deploy/merge configuration preflight) is distinct, and conflict risk is actively minimized by explicit redirects: "For PR diffs spanning multiple files use /platform-skills:pr-review instead. For deep Helm chart work use /platform-skills:helmchart instead." Not 4: overlap with closely related skills is addressed by name rather than merely being minor.

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

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

nitinjain999/platform-skills

Path

skills/preflight/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.