К основному содержанию
скилл CX Codex

gitlab-ci-validator — скилл для Claude Code: что делает

Проверяет синтаксис и правила безопасности в .gitlab-ci.yml. Пригодится перед мержем, чтобы отловить ошибки до пуша в репозиторий.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a claude-code
Открыть на GitHub

Что делает gitlab-ci-validator

Скилл анализирует пайплайны .gitlab-ci.yml с помощью набора скриптов на Python и Bash. Проверка разбита на отдельные шаги: анализ схемы YAML и аудит безопасности против утечек токенов или небезопасных вызовов curl | bash. Дополнительно проверяются правила кеширования и зависимости между задачами. Флаг --strict превращает любые предупреждения линтера в ошибку и помогает заблокировать ненадёжный коммит.

Для работы скриптов нужен python3. Скрипт-обёртка python_wrapper.sh сам создаёт окружение и ставит pyyaml, но в изолированных сетях библиотеку придётся развернуть заранее. Скилл проверяет только статику и конфигурацию: боевой запуск пайплайна в инфраструктуре GitLab он не заменяет. Для локальной проверки структуры через флаг --test-only понадобятся установленные Docker и gitlab-ci-local.

Какие задачи решает

  • найти синтаксические ошибки и неописанные стадии в .gitlab-ci.yml
  • обнаружить захардкоженные пароли и непроверенные удалённые подключения в пайплайне
  • проверить настройки кеша и время жизни артефактов сборки
  • протестировать структуру пайплайна локально перед отправкой ветки на ревью

Примеры запросов агенту

  • Проверь синтаксис в файле .gitlab-ci.yml
  • Запусти аудит безопасности для нашего GitLab CI перед мержем
  • Почему падает пайплайн в .gitlab-ci.yml?

Как установить gitlab-ci-validator

1Через Skills CLI (Vercel)

npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a claude-code

2Вручную: положить файлы

~/.claude/skills/gitlab-ci-validator/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/gitlab-ci-validator/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора28

k8s-debug Разбирает падения подов, зависшие rollout и проблемы с DNS и хранилищем через kubectl. Пригодится, когда кластер ведёт себя странно после деплоя. CX Codex +1 819установок jenkinsfile-generator Генерирует декларативные и скриптовые пайплайны Jenkinsfile, агенты в Kubernetes и заготовки Shared Library. Пригодится для сборки CI/CD со сложными этапами и проверками безопасности. CX Codex +1 803установок dockerfile-validator Проверяет Dockerfile на безопасность, синтаксические ошибки и практики сборки через скрипт валидации. Пригодится перед коммитом или мерджем в CI/CD. CX Codex +1 740установок dockerfile-generator Скилл собирает production-ready Dockerfile и .dockerignore, проверяет их валидатором и сам правит ошибки. Пригодится, когда нужно затащить сервис в контейнер без ручного перебора слоёв. CX Codex +1 699установок bash-script-validator Скилл прогоняет bash и POSIX-скрипты через синтаксическую проверку, ShellCheck и собственные проверки безопасности. Пригодится перед CI. CX Codex +1 679установок k8s-yaml-validator Скилл прогоняет манифесты Kubernetes через линтер, схемы и dry-run и выдаёт отчёт с ошибками по строкам. Полезен перед kubectl apply. CX Codex +1 672установок helm-validator Прогоняет Helm-чарт по десяти стадиям: структура, lint, рендер шаблонов, YAML, схемы, CRD и безопасность. Отчёт с серьёзностью находок и патчами. CX Codex +1 671установок bash-script-generator Скилл, который превращает задачу в готовый bash-скрипт: собирает требования, пишет код по шаблону и проверяет его. CX Codex +1 670установок

Похожие

gitlab-workflow Mindrally Скилл учит ИИ-ассистента правилам GitLab: от оформления merge request до настройки конвейеров .gitlab-ci.yml. Помогает выстроить командную разработку. CX Codex +1 1 100установок gitlab-cicd-pipeline aj-geddes Скилл помогает агенту писать .gitlab-ci.yml: стадии, джобы, кэш, артефакты, деплой в Kubernetes. Пригодится, когда пайплайн надо собрать с нуля или переделать. CX Codex +1 664установок cicd-expert martinholovsky Скилл для проектирования CI/CD: GitHub Actions, GitLab CI, Jenkins, гейты безопасности и GitOps с ArgoCD. Пригодится, когда пайплайн надо собрать или починить. CX Codex +1 645установок ci-cd-pipeline-builder Alireza Rezvani Собирает стартовый CI/CD-пайплайн по файлам вашего репозитория: определяет стек и выдаёт YAML для GitHub Actions или GitLab CI. 683установок pipeline-blueprint zebbern Скилл собирает пайплайны для GitHub Actions и GitLab CI под тип проекта: фронтенд, бэкенд, библиотека, монорепозиторий. Пригодится, когда CI ещё нет или он разросся. CX Codex +1 ★ 4 676звёзд репо gitlab официальный GitLab Подключает GitLab к Claude Code: агент работает с репозиториями, мерж-реквестами, пайплайнами, задачами и вики прямо из чата. ★ 44 635звёзд репо

Рядом в теме «DevOps и инфраструктура»

Всё по теме «DevOps и инфраструктура» →

Вопросы о gitlab-ci-validator

Как установить gitlab-ci-validator в Claude Code?

Выполните команду npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a claude-code.

Что делает gitlab-ci-validator?

Он проводит статический анализ .gitlab-ci.yml. Скрипты проверяют корректность синтаксиса YAML, порядок стадий, утечки секретов и параметры кеширования.

Запускает ли скилл реальные джобы в GitLab?

Нет, инструмент выполняет только статический анализ файлов. Чтобы протестировать поведение пайплайна локально с флагом --test-only, потребуются Docker и gitlab-ci-local.

Исходный текст

SKILL.md · Apache-2.0
---
name: gitlab-ci-validator
description: Validate, lint, audit, or fix .gitlab-ci.yml pipelines, stages, and jobs.
---

# GitLab CI/CD Validator

Comprehensive toolkit for validating, linting, testing, and securing `.gitlab-ci.yml` configurations.

## Trigger Phrases

Use this skill when requests include intent like:

- "Validate this `.gitlab-ci.yml`"
- "Why is this GitLab pipeline failing?"
- "Run a security review for our GitLab CI"
- "Check pipeline best practices"
- "Lint GitLab CI config before merge"

## Setup And Prerequisites (Run First)

All commands below assume repository root as current working directory.

```bash
# Ensure validator scripts are executable
chmod +x devops-skills-plugin/skills/gitlab-ci-validator/scripts/*.sh \
  devops-skills-plugin/skills/gitlab-ci-validator/scripts/*.py

# Required runtime
python3 --version
```

Use one canonical command path for orchestration:

```bash
VALIDATOR="bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/validate_gitlab_ci.sh"
```

Optional local execution tooling (for `--test-only`):

```bash
bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/install_tools.sh
```

## Quick Start Commands

```bash
# 1) Full validation (syntax + best practices + security)
$VALIDATOR .gitlab-ci.yml

# 2) Syntax and schema only (required first gate)
$VALIDATOR .gitlab-ci.yml --syntax-only

# 3) Best-practices only (recommended)
$VALIDATOR .gitlab-ci.yml --best-practices

# 4) Security only (required before merge)
$VALIDATOR .gitlab-ci.yml --security-only

# 5) Optional local pipeline structure test (needs gitlab-ci-local + Docker)
$VALIDATOR .gitlab-ci.yml --test-only

# 6) Strict mode (treat best-practice warnings as failure)
$VALIDATOR .gitlab-ci.yml --strict
```

## Deterministic Validation Workflow

Follow these gates in order:

1. Run Quick Start command `2` (`--syntax-only`).
2. If syntax fails, stop and fix errors before continuing.
3. Run Quick Start command `3` (`--best-practices`) and apply relevant improvements.
4. Run Quick Start command `4` (`--security-only`) and fix all `critical`/`high` findings before merge.
5. Optionally run Quick Start command `5` (`--test-only`) for local execution checks.
6. Run Quick Start command `6` (`--strict`) for final merge gate.

Required gates: syntax + security.
Recommended gate: best practices.
Optional gate: local execution test.

## Rule Severity Rationale And Documentation Links

### Severity Model

- `critical`: Direct credential/secret exposure or high-confidence compromise path. Block merge.
- `high`: Exploitable unsafe behavior or strong security regression. Fix before merge.
- `medium`: Security hardening gap with realistic risk. Track and fix soon.
- `low`/`suggestion`: Optimization or maintainability improvement.

### Rule Classes And Why They Matter

- Syntax rules (`yaml-syntax`, `job-stage-undefined`, `dependencies-undefined-job`): prevent pipeline parse and dependency failures.
- Best-practice rules (`cache-missing`, `artifact-no-expiration`, `dag-optimization`): reduce runtime cost and improve pipeline throughput.
- Security rules (`hardcoded-password`, `curl-pipe-bash`, `include-remote-unverified`): reduce credential leaks and supply-chain risk.

### References

- Local syntax reference: `devops-skills-plugin/skills/gitlab-ci-validator/docs/gitlab-ci-reference.md`
- Local best practices: `devops-skills-plugin/skills/gitlab-ci-validator/docs/best-practices.md`
- Local common issues: `devops-skills-plugin/skills/gitlab-ci-validator/docs/common-issues.md`
- GitLab CI YAML reference: https://docs.gitlab.com/ee/ci/yaml/
- GitLab CI/CD components: https://docs.gitlab.com/ee/ci/components/
- GitLab pipeline security guidance: https://docs.gitlab.com/ee/ci/pipelines/settings.html

## Fallbacks For Tool Or Environment Constraints

- Missing `python3`:
  - Behavior: validator cannot run.
  - Fallback: install Python 3 and rerun.
- Missing `PyYAML`:
  - Behavior: `python_wrapper.sh` auto-creates `.venv` and installs `pyyaml` when possible.
  - Fallback in restricted/offline environments: pre-install `pyyaml` from an internal mirror, then rerun.
- Missing `gitlab-ci-local`, `node`, or `docker`:
  - Behavior: `--test-only` reports warning/failure.
  - Fallback: skip local execution testing and continue with syntax/best-practice/security gates.
- No execute permission on scripts:
  - Behavior: shell permission errors.
  - Fallback: rerun the setup `chmod` command from the Setup section.

## Examples

### Example 1: New Pipeline Validation

```bash
$VALIDATOR examples/basic-pipeline.gitlab-ci.yml --syntax-only
$VALIDATOR examples/basic-pipeline.gitlab-ci.yml --security-only
```

### Example 2: Pre-Merge Hard Gate

```bash
$VALIDATOR .gitlab-ci.yml --strict
```

### Example 3: CI Integration

```yaml
stages:
  - validate

validate_gitlab_ci:
  stage: validate
  script:
    - chmod +x devops-skills-plugin/skills/gitlab-ci-validator/scripts/*.sh devops-skills-plugin/skills/gitlab-ci-validator/scripts/*.py
    - bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/validate_gitlab_ci.sh .gitlab-ci.yml --strict
```

## Individual Validators (Advanced)

```bash
# Syntax validator (via wrapper for PyYAML fallback)
bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/python_wrapper.sh \
  devops-skills-plugin/skills/gitlab-ci-validator/scripts/validate_syntax.py .gitlab-ci.yml

# Best-practices validator
bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/python_wrapper.sh \
  devops-skills-plugin/skills/gitlab-ci-validator/scripts/check_best_practices.py .gitlab-ci.yml

# Security validator
bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/python_wrapper.sh \
  devops-skills-plugin/skills/gitlab-ci-validator/scripts/check_security.py .gitlab-ci.yml
```

## Done Criteria

- Frontmatter `name` and `description` unchanged.
- One canonical orchestrator path is used consistently.
- Setup and `chmod` prerequisites appear before workflow/use examples.
- Quick-start and workflow are non-duplicative (workflow references quick-start gates).
- Severity rationale and rule-to-doc references are explicit.
- Fallback behavior is documented for missing tools and constrained environments.
- Examples are executable from repository root.

## Notes

- This skill validates configuration and static patterns; it does not execute production pipelines.
- Use `gitlab-ci-local` or GitLab CI Lint for runtime behavior confirmation.

© akin-ozer · Apache-2.0 · akin-ozer/cc-devops-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой