CtrlK
BlogDocsLog inGet started
Tessl Logo

gitlab-ci-validator

Validates .gitlab-ci.yml syntax, detects security misconfigurations in job definitions, checks for deprecated keywords, ensures proper stage ordering, and audits pipeline configurations for best practices. Use when working with .gitlab-ci.yml files, validating GitLab CI/CD pipeline syntax, debugging configuration errors, checking for hardcoded secrets or credentials in pipeline jobs, optimizing pipeline performance with DAG or cache, or performing security audits on GitLab CI/CD configurations.

75

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 strong, highly actionable skill body with an exemplary validation-gated workflow, but its progressive disclosure is undermined by a References section whose paths do not match the shipped bundle: no docs/ or examples/ directories exist, the files actually live in references/ and assets/, and docs/RULES.md is missing entirely. Fixing the reference paths would raise the last dimension without touching the rest.

Suggestions

Correct the reference paths to match the actual bundle layout: change docs/ to references/ and examples/ to assets/ throughout the References section (e.g., `references/gitlab-ci-reference.md`, `assets/basic-pipeline.gitlab-ci.yml`).

Resolve the dangling `docs/RULES.md` reference — either add the rules-catalog file to references/ or remove the entry, since it is advertised as the "Full validation rules catalog" but does not exist in the bundle.

Trim the duplicated "Usage" section, which restates the exact validator commands already shown in the workflow steps, and consolidate the flag list into the workflow section to save tokens.

DimensionReasoningScore

Conciseness

The body is largely commands, terse check lists, and anti-patterns with no explanations of concepts Claude already knows (it never explains what GitLab CI or YAML is), but there is duplicated content: the "Usage" section repeats the exact commands already shown in the workflow steps, and each "Checks:" list enumerates rule detail that duplicates the scripts and referenced docs. This matches the score-4 anchor (efficient with minor instances that could be trimmed) rather than score 5, where every token earns its place.

4 / 5

Actionability

Every instruction is a copy-paste-ready command — "bash scripts/validate_gitlab_ci.sh --syntax-only .gitlab-ci.yml", "pip3 install PyYAML", the individual python3 validator invocations — plus a complete, executable custom-rule code example and a ready-to-use CI/CD integration YAML snippet. This matches the score-5 anchor (fully executable, copy-paste ready, common cases covered) and exceeds score 4, which allows minor gaps in the concrete guidance.

5 / 5

Workflow Clarity

The five-step workflow is explicitly ordered ("Syntax Validation (Required first)", "Fix all syntax errors before proceeding") with validation checkpoints and gating actions at every stage ("Fix all critical and high-severity issues immediately"), and the anti-patterns add error-recovery guidance (baseline before --strict, validate before gitlab-ci-local). This matches the score-5 anchor (clear sequence with explicit validation steps and feedback loops) rather than score 4, whose checkpoints are only "mostly" present.

5 / 5

Progressive Disclosure

The overview/references split is well-signaled (a bulleted catalog with one-line descriptions, one level deep), but judged against the actual bundle the paths are broken: the body cites "docs/gitlab-ci-reference.md", "docs/best-practices.md", "docs/common-issues.md", and "docs/RULES.md", while the bundle contains references/gitlab-ci-reference.md, references/best-practices.md, references/common-issues.md and no RULES.md anywhere; likewise "examples/*.yml" files actually live in assets/. This is more than the score-4 anchor's "minor organization gaps" — two of the ten referenced paths resolve to nothing and the remaining paths use wrong directory names — so it sits at the score-3 anchor (structure present but organization is faulty).

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, packed with concrete capabilities, an explicit and detailed "Use when..." trigger clause with synonyms and the exact filename, and a clearly delimited GitLab CI/CD niche. It reads like the rubric's good-overall examples and has no padding or over-claims.

DimensionReasoningScore

Specificity

Lists five distinct concrete actions — "Validates .gitlab-ci.yml syntax", "detects security misconfigurations in job definitions", "checks for deprecated keywords", "ensures proper stage ordering", "audits pipeline configurations for best practices" — giving comprehensive coverage of the skill's capabilities. This matches the score-5 anchor (multiple specific concrete actions, comprehensive coverage) and exceeds the score-4 anchor, which expects minor gaps in coverage; none are evident.

5 / 5

Completeness

Explicitly answers "what" with five concrete capabilities and "when" with a dedicated "Use when working with .gitlab-ci.yml files, validating GitLab CI/CD pipeline syntax, ... or performing security audits" clause listing concrete trigger scenarios. This matches the score-5 anchor exactly (both what AND when with concrete trigger phrases) and clearly exceeds the score-4 anchor where the "when" is only loosely specified.

5 / 5

Trigger Term Quality

Natural trigger terms include the file extension ".gitlab-ci.yml", "GitLab CI/CD pipeline syntax", "debugging configuration errors", "hardcoded secrets or credentials", "DAG or cache", and "security audits", covering synonyms and the concrete filename users would mention. This matches the score-5 anchor (comprehensive natural terms including synonyms and file extensions); the score-4 anchor requires missing natural terms, and no commonly used phrasing for this domain is absent.

5 / 5

Distinctiveness Conflict Risk

The description is anchored to a clear niche — GitLab CI/CD pipeline configuration files — with distinct triggers (.gitlab-ci.yml, pipeline syntax, CI/CD security audits) that no general linting or YAML skill would claim. Minimal conflict risk, matching the score-5 anchor; the score-4 anchor's "minor overlap risk with closely related skills" does not apply since the domain and file type are unambiguous.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
pantheon-org/tekhne
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.