CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

91%

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, well-structured skill body: layered workflow with explicit gating, fully executable commands, and correct one-level-deep references to a complete bundle. The main weakness is token efficiency — the Usage section, closing note, and Anti-Pattern entries duplicate content already present in the workflow steps.

Suggestions

Delete the 'Usage > Validation Options' section: it repeats the same six commands already shown in the Core Validation Workflow steps.

Remove the closing 'Note' (it restates the 'When Not to Use' first bullet) or fold it into that section.

Trim the per-step 'Checks:' lists in the Core Validation Workflow to the rule IDs, since the Anti-Patterns section already details each finding (e.g., secrets, unpinned images, SSL bypasses) with WHY/BAD/GOOD.

DimensionReasoningScore

Conciseness

The body is mostly dense and specific, but the 'Usage' section repeats validation flags verbatim from the Core Validation Workflow, the closing 'Note' restates the first 'When Not to Use' bullet, and the per-step check lists overlap with the Anti-Patterns entries (e.g., hardcoded secrets and unpinned images each appear twice). Anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') fits; it is not a 2 because there is no padding or explanation of concepts Claude already knows, and not a 4 because the duplicated command blocks are real, removable redundancy.

3 / 5

Actionability

Every workflow step gives a copy-paste-ready command ('bash scripts/validate_gitlab_ci.sh --syntax-only .gitlab-ci.yml', 'python3 scripts/check_best_practices.py .gitlab-ci.yml'), plus a complete CI/CD integration YAML snippet and a concrete custom-rule code example. Anchor 5 ('fully executable; copy-paste ready code or commands; specific examples cover the common cases') matches; the only non-standalone code (the custom rule snippet referencing self._is_job) is an extension example, not a gap in the core workflow.

5 / 5

Workflow Clarity

The layered sequence is explicit ('Validate in layer order: syntax first, then best practices, then security. A syntax error can hide later findings') with gating checkpoints after each step ('Fix all syntax errors before proceeding', 'Fix all critical and high-severity issues immediately'), and the anti-patterns add error-recovery guidance (establish a baseline before enabling --strict, re-check include targets). This is not a destructive/batch skill, so no cap applies; it matches anchor 5's explicit validation steps and error-recovery loops, exceeding anchor 4 whose checkpoints would be only 'mostly present'.

5 / 5

Progressive Disclosure

The body is a genuine overview: detailed syntax lives in 'references/gitlab-ci-reference.md' plus best-practices.md and common-issues.md, each listed with a one-line description in the References section, and all referenced files (3 references, 6 scripts, 5 assets) exist in the bundle as described. References are one level deep, clearly signaled, and cover the common cases with example assets — matching anchor 5 ('clear overview with well-signaled one-level-deep references'); it exceeds anchor 4, which allows minor organization gaps.

5 / 5

Total

18

/

20

Passed

Description

92%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 excellent description: third-person voice, five concrete capabilities, and an explicit 'Use when...' clause with concrete trigger phrases covering validation, debugging, secrets, performance, and audits. The only minor gap is a few natural synonyms (e.g., 'lint') in the trigger list.

DimensionReasoningScore

Specificity

'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' lists five concrete, distinct actions — matching anchor 5's 'multiple specific concrete actions; comprehensive coverage'. It exceeds anchor 4 ('minor gaps in coverage') since syntax, security, deprecation, ordering, and best practices span the skill's full scope, and it is far above anchor 3's '1-2 concrete actions'.

5 / 5

Completeness

The 'what' is explicit (validate syntax, detect security misconfigurations, check deprecated keywords, ensure stage ordering, audit best practices) and the explicit 'Use when working with .gitlab-ci.yml files, validating... debugging... checking... or performing security audits' clause gives concrete trigger phrases — the exact pattern of anchor 5. It clearly exceeds anchor 4, whose 'when' is only partially specific.

5 / 5

Trigger Term Quality

Triggers cover '.gitlab-ci.yml files', 'validating GitLab CI/CD pipeline syntax', 'debugging configuration errors', 'checking for hardcoded secrets or credentials in pipeline jobs', and 'security audits on GitLab CI/CD configurations' — good natural-phrase coverage including the file extension. It sits at anchor 4 rather than 5 because common synonyms like 'lint', 'pipeline config', or 'CI job' phrasing are missing.

4 / 5

Distinctiveness Conflict Risk

The description is tied tightly to '.gitlab-ci.yml' and 'GitLab CI/CD' throughout, giving it a clear niche with minimal overlap risk against generic YAML or CI skills — matching anchor 5 ('clear niche with distinct triggers'). It is not anchor 4's 'minor overlap risk with closely related skills' since the named file format and product leave little ambiguity.

5 / 5

Total

19

/

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

pantheon-org/tekhne

Path

skills/ci-cd/gitlab-ci/validator/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.