Fingerprint CI Gate
liarjsdev/liarjs-skills
Gate a build on browser fingerprint regressions with liarjs - save a baseline scan as JSON, diff later runs against it, and fail the job when the consistency score falls below a floor.
Validate, lint, audit, or fix .gitlab-ci.yml pipelines, stages, and jobs.
$ npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install akin-ozer/cc-devops-skills gitlab-ci-validator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/akin-ozer/cc-devops-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/devops-skills-plugin/skills/gitlab-ci-validator .claude/skills/gitlab-ci-validator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "gitlab-ci-validator" agent skill from https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/gitlab-ci-validator into .claude/skills/gitlab-ci-validator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gitlab-ci-validator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/gitlab-ci-validatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install akin-ozer/cc-devops-skills gitlab-ci-validator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akin-ozer/cc-devops-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/devops-skills-plugin/skills/gitlab-ci-validator .agents/skills/gitlab-ci-validator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gitlab-ci-validator" agent skill from https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/gitlab-ci-validator into .agents/skills/gitlab-ci-validator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gitlab-ci-validator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install akin-ozer/cc-devops-skills gitlab-ci-validator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akin-ozer/cc-devops-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/devops-skills-plugin/skills/gitlab-ci-validator .cursor/skills/gitlab-ci-validator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gitlab-ci-validator" agent skill from https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/gitlab-ci-validator into .cursor/skills/gitlab-ci-validator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gitlab-ci-validator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/akin-ozer/cc-devops-skills.git --path devops-skills-plugin/skills/gitlab-ci-validator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install akin-ozer/cc-devops-skills gitlab-ci-validator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akin-ozer/cc-devops-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/devops-skills-plugin/skills/gitlab-ci-validator .gemini/skills/gitlab-ci-validator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gitlab-ci-validator" agent skill from https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/gitlab-ci-validator into .gemini/skills/gitlab-ci-validator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gitlab-ci-validator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install akin-ozer/cc-devops-skills gitlab-ci-validatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/akin-ozer/cc-devops-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/devops-skills-plugin/skills/gitlab-ci-validator .github/skills/gitlab-ci-validator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gitlab-ci-validator" agent skill from https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/gitlab-ci-validator into .github/skills/gitlab-ci-validator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gitlab-ci-validator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install akin-ozer/cc-devops-skills gitlab-ci-validator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/akin-ozer/cc-devops-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/devops-skills-plugin/skills/gitlab-ci-validator .opencode/skills/gitlab-ci-validator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gitlab-ci-validator" agent skill from https://github.com/akin-ozer/cc-devops-skills/tree/main/devops-skills-plugin/skills/gitlab-ci-validator into .opencode/skills/gitlab-ci-validator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gitlab-ci-validator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gitlab-ci-validatorValidate, lint, audit, or fix .gitlab-ci.yml pipelines, stages, and jobs.
GitLab CI Validator is an agent skill from akin-ozer/cc-devops-skills. Validate, lint, audit, or fix .gitlab-ci.yml pipelines, stages, and jobs.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 37 other files, including scripts (for example `docs/best-practices.md`, `docs/common-issues.md` and `docs/gitlab-ci-reference.md`).
It sits in DevOps & Cloud, covering CI/CD. It works with GitLab. The repository describes itself as: DevOps skills for Claude Code and Codex. The licence is Apache-2.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 276af75. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
bashpython3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.gitlab.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
GitLab CI Validator loads about 1.6k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 454 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from akin-ozer/cc-devops-skills at commit 276af75, republished under its Apache-2.0 licence (© akin-ozer). 454 words, ~1,616 tokens.
.claude/skills/gitlab-ci-validator/SKILL.md (or your agent's skills folder). This skill also uses 23 other files; get the full folder from GitHub.Comprehensive toolkit for validating, linting, testing, and securing .gitlab-ci.yml configurations.
Use this skill when requests include intent like:
.gitlab-ci.yml"All commands below assume repository root as current working directory.
# 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 --versionUse one canonical command path for orchestration:
VALIDATOR="bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/validate_gitlab_ci.sh"Optional local execution tooling (for --test-only):
bash devops-skills-plugin/skills/gitlab-ci-validator/scripts/install_tools.sh# 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 --strictFollow these gates in order:
2 (--syntax-only).3 (--best-practices) and apply relevant improvements.4 (--security-only) and fix all critical/high findings before merge.5 (--test-only) for local execution checks.6 (--strict) for final merge gate.Required gates: syntax + security. Recommended gate: best practices. Optional gate: local execution test.
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.yaml-syntax, job-stage-undefined, dependencies-undefined-job): prevent pipeline parse and dependency failures.cache-missing, artifact-no-expiration, dag-optimization): reduce runtime cost and improve pipeline throughput.hardcoded-password, curl-pipe-bash, include-remote-unverified): reduce credential leaks and supply-chain risk.devops-skills-plugin/skills/gitlab-ci-validator/docs/gitlab-ci-reference.mddevops-skills-plugin/skills/gitlab-ci-validator/docs/best-practices.mddevops-skills-plugin/skills/gitlab-ci-validator/docs/common-issues.mdpython3:PyYAML:python_wrapper.sh auto-creates .venv and installs pyyaml when possible.pyyaml from an internal mirror, then rerun.gitlab-ci-local, node, or docker:--test-only reports warning/failure.chmod command from the Setup section.$VALIDATOR examples/basic-pipeline.gitlab-ci.yml --syntax-only
$VALIDATOR examples/basic-pipeline.gitlab-ci.yml --security-only$VALIDATOR .gitlab-ci.yml --strictstages:
- 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# 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.ymlname and description unchanged.chmod prerequisites appear before workflow/use examples.gitlab-ci-local or GitLab CI Lint for runtime behavior confirmation.© akin-ozer, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 23 other files (scripts) in devops-skills-plugin/skills/gitlab-ci-validator of akin-ozer/cc-devops-skills.
Open the folder on GitHubat commit 276af75
GitLab CI Validator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| GitLab CI Validator this skillakin-ozer/cc-devops-skills | 319 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Fingerprint CI Gateliarjsdev/liarjs-skills | 518 | 1 repos | ~986 | Automated safety check: Notes | MIT | |
| Megatron-LM Base Image BumpNVIDIA/Megatron-LM | 18k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Megatron-LM CI/CD GuideNVIDIA/Megatron-LM | 18k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Megalinter Checknvuillam/npm-groovy-lint | 248 | 1 repos | ~3.9k | Automated safety check: Notes | MIT | |
| Migrate To TeamcityJetBrains/teamcity-cli | 125 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
liarjsdev/liarjs-skills
Gate a build on browser fingerprint regressions with liarjs - save a baseline scan as JSON, diff later runs against it, and fail the job when the consistency score falls below a floor.
NVIDIA/Megatron-LM
Moves Megatron-LM CI to a newer NVIDIA PyTorch base image, updating both the GitHub and GitLab pins together and handling the CI follow-up.
NVIDIA/Megatron-LM
Explains Megatron-LM's CI pipeline, PR scope labels, triggering the internal GitLab CI with a dry run first, and investigating CI failures.
nvuillam/npm-groovy-lint
Collect MegaLinter lint errors for the current repository. An agent skill from nvuillam/npm-groovy-lint.
JetBrains/teamcity-cli
Migrating CI/CD pipelines to TeamCity. An agent skill from JetBrains/teamcity-cli.
Wide-Moat/open-computer-use
Explore GitLab repositories using glab CLI and git commands.
akin-ozer/cc-devops-skills
Create, generate, or scaffold GitHub Actions workflows, action.yml, or .github/workflows CI/CD pipelines.
akin-ozer/cc-devops-skills
Create, scaffold, or generate Helm charts, Chart.yaml, values.yaml, templates, helpers.
akin-ozer/cc-devops-skills
Generate/create/scaffold Jenkinsfile — declarative, scripted, shared library, CI/CD pipelines.
akin-ozer/cc-devops-skills
Validate, lint, audit, or scan a Dockerfile for security and best practices.
akin-ozer/cc-devops-skills
Validate, lint, audit, fix GitHub Actions workflows (.github/workflows).
akin-ozer/cc-devops-skills
Validate, lint, audit, or check Jenkinsfiles and shared libraries.
Works with
Categories
Validate, lint, audit, or fix .gitlab-ci.yml pipelines, stages, and jobs. GitLab CI Validator is an agent skill from akin-ozer/cc-devops-skills.yml pipelines, stages, and jobs.
GitLab CI Validator fits situations like: tasks that involve CI/CD.
Run `npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a claude-code`. Or copy the skill folder (devops-skills-plugin/skills/gitlab-ci-validator in akin-ozer/cc-devops-skills) into .claude/skills/gitlab-ci-validator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a codex`. Or copy the skill folder (devops-skills-plugin/skills/gitlab-ci-validator in akin-ozer/cc-devops-skills) into .agents/skills/gitlab-ci-validator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add akin-ozer/cc-devops-skills --skill gitlab-ci-validator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gitlab-ci-validator, .gemini/skills/gitlab-ci-validator, .github/skills/gitlab-ci-validator and .opencode/skills/gitlab-ci-validator in your project.
Going by SKILL.md and its folder, GitLab CI Validator needs the command-line tools its instructions call (bash and python3). Our summary lists: Python 3; Docker.
SKILL.md names 1 domain. As links in the text: docs.gitlab.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
GitLab CI Validator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with GitLab CI Validator: Fingerprint CI Gate (liarjsdev/liarjs-skills, 518 stars), Megatron-LM Base Image Bump (NVIDIA/Megatron-LM, 18k stars), Megatron-LM CI/CD Guide (NVIDIA/Megatron-LM, 18k stars) and Megalinter Check (nvuillam/npm-groovy-lint, 248 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
akin-ozer (a GitHub user) maintains it in akin-ozer/cc-devops-skills, which has 319 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on July 26, 2026.
Source: akin-ozer/cc-devops-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.