harden-gitlab-ci

Revoir · 58
Indexé dans Registry

Harden GitLab CI/CD pipelines for supply-chain security — SHA-pin `include:` and CI/CD components, scope the `CI_JOB_TOKEN` allowlist, protect and mask variables, pin job image digests, and use `id_tokens`/OIDC instead of long-lived secrets. Use when adding or auditing a `.gitlab

Verified installs0
Stars14
Version1.0.0
Qualité58/100 · Prometteur
Confiance58/100 · Do not auto-install
Audit72/100 · Revue nécessaire

Profil de l’actif

Agents de code et de développement

Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.

Voir la catégorie

Scénario

GitHub automation

I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.

Adéquation Agent

Claude Code + CLI + Codex

Compatible avec Codex, Claude Code, Cursor, CLI ou des Agents personnalisés.

Installer

Prêt

npx skills add jrjsmrtn/project-orchestration-skills --skill harden-gitlab-ci

Maintenance

À jour

1 jours depuis le dernier push

Risque

Revue nécessaire

Dependency or permission surface needs review

Qualité GitHub

14

58/100 Qualité · 66/100 Confiance

Tags de couverture

CodingGitHub automationSécuritéagent-skill

Notes de revue

Dependency or permission surface needs review · Permission surface may require sandboxing

Carte d’adoption Agent

Confiance, audit et préparation à l’installation en un coup d’œil

Ces scores combinent les métadonnées publiques du dépôt, les signaux de revue OpenAgentSkill, la fraîcheur de maintenance et la préparation à l’installation. Ils servent à présélectionner et ne remplacent pas la revue humaine.

Qualité

Prometteur
58

Useful candidate, but compare it with alternatives before adopting.

Confiance

Do not auto-install
58

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

Audit

Revue nécessaire
72

Revue lisible par machine de la préparation à l’installation, des métadonnées de sécurité, de la maintenance et du risque d’adoption.

Trust Score OpenAgentSkill v5

Revue humaine avant installation

Choose a stronger alternative or inspect the source manually before any install attempt.

CodexClaude CodeCursorOpenAgentSkill CLI

Stars

14 stars GitHub

Activité du dépôt

14 stars et 0 forks

Maintenance

1 jours depuis le dernier push

Licence

MIT

Installer

npx skills add jrjsmrtn/project-orchestration-skills --skill harden-gitlab-ci

Sécurité d’installation

Chemin d’installation standard de package ou runtime

Surface de permissions

secrets or environment access, shell or command execution

Résultats Agent

Pas encore de données de résultats Agent

Documentation

Contexte README/SKILL.md solide

Résumé des risques

Revoir avant production

  • Low GitHub adoption signal
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • GitHub adoption: 14 GitHub stars

Préparation à l’installation

Chemin d’installation disponible

  • Le chemin d’installation est disponible
  • La preuve du dépôt est disponible
  • La licence est déclarée
  • Pas encore de preuve de résultat Agent-Proven

Métadonnées lisibles par Agent

Données de décision lisibles par machine pour ce skill.

Utilisez ce bloc ou le JSON intégré pour décider si un Agent doit installer ce skill, choisir une alternative ou demander d’abord une revue humaine.

Ouvrir JSON

Tâches adaptées

  • workflows GitHub automation
  • Équipes Claude Code
  • builders willing to evaluate younger projects
  • Inspect repository metadata

Agents adaptés

CodexClaude CodeCursorOpenAgentSkill CLICLI

Décision d’installation

Commande
npx skills add jrjsmrtn/project-orchestration-skills --skill harden-gitlab-ci
Politique
Bloquer
Revue humaine
Oui

Confiance et risque

Confiance
58/100
Audit
72/100
Niveau de risque
Revue nécessaire

Boucle de résultat

Endpoint
/api/agent/outcome
ID d’événement
resolve
Résultats
5

Commande d’installation

npx skills add jrjsmrtn/project-orchestration-skills --skill harden-gitlab-ci

Ne pas utiliser quand

  • Équipes qui nécessitent un SLA soutenu par le fournisseur
  • production agents without a repository review
  • Low GitHub adoption signal
  • Indices de permissions à haut risque : Shell or command execution, Secrets or environment access
  • Dependency or permission surface needs review

Sécurité Agent v2

28/100 · Éviter l’installation automatique

Blocked for auto-installBloquer

This skill should not be selected by an agent without explicit human security review.

Do not auto-install. Inspect the source, dependencies, and permission surface first.

Résoudre via API

Élevé

Exécution shell ou de commande

Les métadonnées de la skill font référence à des workflows de terminal, CLI, shell, sous-processus ou exécution de commande.

Moyen

Accès réseau

La skill récupère probablement des pages distantes, API, dépôts ou services externes.

Moyen

Accès au système de fichiers

La skill peut lire ou écrire des fichiers de projet, documents, artefacts générés ou l’état local de l’espace de travail.

Élevé

Secrets or environment access

Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.

  • Indices de permissions à haut risque : Shell or command execution, Secrets or environment access
  • Dependency or permission surface needs review

Cibles d’installation

Installer ce skill dans votre workflow Agent

Utilisez le point de terminaison public pour récupérer la commande, la checklist, les prompts et les liens canoniques.

skill install

OpenAgentSkill CLI

Resolve policy, run the source installer safely, and report a verified install receipt.

$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install jrjsmrtn-harden-gitlab-ci

Plan de résolution Agent

Laissez un Agent vérifier la pertinence avant l’installation.

L’API Resolve renvoie la skill sélectionnée, des alternatives, la politique de sécurité, les notes d’audit, la cible d’installation et un prompt prêt à l’emploi.

Ouvrir le plan texte

L’Agent doit vérifier

  • Task fit and alternatives from Resolve API.
  • Audit score, trust score, and safety policy warnings.
  • Install target compatibility for Codex, Claude Code, Cursor, or CLI.

Copier le prompt

Task: Use harden-gitlab-ci in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20harden-gitlab-ci%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/jrjsmrtn-harden-gitlab-ci/install
Install command: npx skills add jrjsmrtn/project-orchestration-skills --skill harden-gitlab-ci
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.

Relais Agent

Donnez à l’Agent le chemin d’installation, pas un autre annuaire.

Utilisez le point de terminaison public pour récupérer la commande, la checklist, les prompts et les liens canoniques.

Ouvrir l’API d’installation

Prompt Agent

Use harden-gitlab-ci for this task. Review https://www.openagentskill.com/api/skills/jrjsmrtn-harden-gitlab-ci/install, then install with: npx skills add jrjsmrtn/project-orchestration-skills --skill harden-gitlab-ci

Métadonnées Registry

Profil lisible par Agent pour la sélection automatique de skills.

L’API Registry fournit les signaux de décision, confiance, audit, cas d’usage et installation sans analyser l’interface.

Ouvrir Manifest

Adéquation Agent

60/100

GitHub automation

Plateformes

Claude Code

Rapport d’audit

Revue nécessaire · 72/100

Revue lisible par machine de la préparation à l’installation, des métadonnées de sécurité, de la maintenance et du risque d’adoption.

Voir le rapport d’auditVoir le rapport d’évaluation

Panneau de décision Agent

Fallback candidate for GitHub automation

Prototype with this skill first; keep a fallback candidate ready.

60
Préparation
Prototype
Étape

Rôle dans la pile

Candidate de secours

Pertinence principale

GitHub automation

Libellé de confiance

Prototyper d’abord

Chemin d’installation

Commande prête

À utiliser lorsque

  • workflows GitHub automation
  • Équipes Claude Code
  • builders willing to evaluate younger projects

Preuves

  • recent repository activity
  • install command or GitHub repo available
  • profil qualité 58/100
  • 8 événements OpenAgentSkill

revoir d’abord

  • Low GitHub adoption signal

Chemin d’implémentation

  1. 1Installez-le dans un Agent en sandbox et exécutez une tâche de GitHub automation de bout en bout.
  2. 2Compare output quality, latency, and failure behavior against at least one alternative.
  3. 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.

Profil de confiance

Do not auto-install

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

58
Trust Score OpenAgentSkill

Adoption GitHub

Corriger

14 stars GitHub

Activité stars/forks

Corriger

14 stars et 0 forks; l’activité des issues n’est pas disponible dans les métadonnées actuelles

Maintenance récente

Validé

1 jours depuis le dernier push

Clarté de licence

Validé

MIT

Signaux positifs

  • Revue IA approuvée
  • Le chemin d’installation est disponible
  • La preuve du dépôt est disponible
  • Dépôt maintenu récemment
  • La commande d’installation ne présente aucun motif de haut risque évident
  • La boucle de résultats est prête mais nécessite la première exécution réelle de l’Agent

Réviser avant installation

  • Low GitHub adoption signal
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • GitHub adoption: 14 GitHub stars
  • Stars/forks activity: 14 stars, 0 forks; issue activity unavailable in current metadata
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
  • Pas encore de rapports de résultats Agent réels
  • Une revue humaine est requise avant une installation sans surveillance

Action recommandée

Choose a stronger alternative or inspect the source manually before any install attempt.

Profil qualité

Prometteur candidat pour les workflows Agent

Useful candidate, but compare it with alternatives before adopting.

58
Stars GitHub
14
Actualité
il y a 1 jours
Prêt à installer
Oui
Licence
MIT
Réviser avant installation: Low GitHub adoption signal

Adéquation au workflow

Utilisez cette skill dans ces scénarios

Adéquation au workflow

Ajouter à un workflow complet

Liste d’alternatives

Comparer avant installation

Similar skills that may fit this task.

Tout comparer

Vue d’ensemble

--- name: harden-gitlab-ci description: Harden GitLab CI/CD pipelines for supply-chain security — SHA-pin `include:` and CI/CD components, scope the `CI_JOB_TOKEN` allowlist, protect and mask variables, pin job image digests, and use `id_tokens`/OIDC instead of long-lived secrets. Use when adding or auditing a `.gitlab-ci.yml`, before making a GitLab project public, when a supply-chain review flags CI gaps, or when standardizing pipeline hardening across GitLab projects (gitlab.com or self-hosted). GitLab-specific by design — for GitHub Actions use `harden-github-actions`; Forgejo/Gitea Actions are out of scope. metadata: author: "Georges Martin <jrjsmrtn@gmail.com>" version: "0.1.34" license: MIT ---

# Harden GitLab CI

Harden GitLab CI/CD pipelines against supply-chain attack: pin what runs, minimise what it can reach, and stop long-lived secrets from existing at all.

> **GitLab-specific by design.** Like `harden-github-actions`, this skill is deliberately bound to one > forge. The controls are properties of the GitLab CI execution model — `include:` resolution, the > `CI_JOB_TOKEN` allowlist, project/group variable scoping, `id_tokens` — not portable concepts in > GitLab syntax. It is a **sibling** of `harden-github-actions`, not a translation of it: the two > forges differ in what the risks *are*, not merely in how they are spelled.

## When to Use

- When adding a `.gitlab-ci.yml` to a project (after `setup-git-hooks`) - When auditing an existing pipeline before making a GitLab project public - When a supply-chain review (or the `supply-chain` skill) flags CI hardening gaps - When standardising pipeline hardening across GitLab projects

**Not for:** GitHub Actions (use `harden-github-actions`) or Forgejo/Gitea Actions. The controls do not carry over — say so rather than approximating.

## Required Inputs

1. **Repository** — a GitLab project (auto-detected from git remotes). **Self-hosted GitLab is a first-class target**, not an exception: authenticate once and every control below is identical. 2. **Project visibility** — public/internal or private. Phases 3 and 4 branch on it: public and internal projects expose pipeline artifacts to unauthenticated users, and fork merge requests are the main variable-exfiltration route. 3. **Scope** — what to run: - `audit` — report findings against the checklist below; **no writes** (default) - `fix` — apply the mechanical fixes (pin includes/components/images), leave judgment calls to the maintainer - `full` — `audit`, then `fix` after confirmation

## The GitLab Threat Model — What Actually Differs

Where the risk sits differs from GitHub Actions; the controls are not one-for-one equivalents:

| Concern | GitHub Actions | GitLab CI | |---|---|---| | Third-party code execution | `uses: actions/x@ref` from the Marketplace | **`include:` + CI/CD Catalog components** — same class of risk, different keyword | | Ambient credential | `GITHUB_TOKEN` with repo-wide default scopes | **`CI_JOB_TOKEN`** — defaults to *own project only*; risk is a widened allowlist | | Secret exfiltration surface | workflow can read all repo secrets | **variable scoping** — protected/masked/environment-scoped, plus fork-MR exposure | | Provenance / keyless auth | OIDC via `id-token: write` | **`id_tokens:` with an `aud` claim** | | Runner trust | GitHub-hosted vs self-hosted | **shared vs group/project runners**, `privileged` Docker, `shell` executor |

> **GitLab has a marketplace-shaped supply chain**: the **CI/CD Catalog** of components. Assuming > otherwise — that only GitHub has this problem — skips the pinning discipline entirely. GitLab's > own docs (*CI/CD components → Best practices*) say to "Pin CI/CD components to a specific commit > SHA (preferred) or release version tag to ensure the integrity of the component used in a > pipeline."

## Workflow

### Phase 1: Detect Context

1. Confirm the forge is GitLab and the CLI is authenticated: ```bash git remote -v glab auth status # self-hosted: glab auth login --hostname gitlab.internal.example ``` If the remote is GitHub or Forgejo, **stop** and point at the right sibling skill. 2. Locate the pipeline config. `glab ci lint` **defaults to `.gitlab-ci.yml` in the current directory**, but a project may relocate it (Settings → CI/CD → General pipelines → CI/CD configuration file). If it is relocated, `cd` to its directory or pass its path/URL — a bare lint would silently validate the wrong file, or nothing. 3. Validate it parses before changing anything: ```bash glab ci lint # or: glab ci lint <path-or-url> ``` 4. Inventory the third-party surface — run these and triage every hit (`CONFIG` = the config path):

```bash # Components/includes on a moving target: ~latest, a partial semver, or a branch grep -nE '@(~latest|[0-9]+(\.[0-9]+)?$|main|master)' "$CONFIG"

# include: project blocks — then confirm each has a `ref:` pinned to a 40-char SHA. # A missing ref: is a finding: it silently defaults to the target project's HEAD. grep -nA3 'include:' "$CONFIG" | grep -E 'project:|ref:' grep -nE '^\s*ref:\s*(?![0-9a-f]{40}\s*$)' -P "$CONFIG" # ref: present but not a SHA

# Remote includes — no auth, no ref to pin; each one is a trust-boundary decision grep -nE '^\s*-?\s*remote:' "$CONFIG"

# Images/services not pinned by digest (covers `image:` and `- name:` service entries; # the negative lookahead is what keeps already-pinned `foo:1@sha256:…` from false-positiving) grep -nPE '^\s*-?\s*(image|name):\s*(?!.*@sha256:)' "$CONFIG"

# Deprecated JWTs (see Phase 5) and inline secrets grep -nE 'CI_JOB_JWT' "$CONFIG"

# Runner isolation escapes grep -nE 'privileged:\s*true|executor:\s*shell' "$CONFIG" .gitlab-runner/*.toml 2>/dev/null ```

Treat every hit as a finding to justify or fix — not as noise to skim.

### Phase 2: Pin the Third-Party Supply Chain

This is the highest-value control — the direct analogue of SHA-pinning actions.

**CI/CD components** (`include: component`) — pin to a **commit SHA**:

```yaml include: # BAD — a moving target; ~latest re-resolves on every run - component: $CI_SERVER_FQDN/my-org/security-components/secret-detection@~latest

# GOOD — immutable - component: $CI_SERVER_FQDN/my-org/security-components/secret-detection@e3262fdd0914fa823210cdb79a8c421e2cef79d8 ```

Version resolution precedence, and why `~latest` is unsafe: a **commit SHA** is exact; a **tag** (`1.0.0`) is mutable unless the project protects its tags — and if a tag and SHA share a name, the SHA wins; a **branch** is fully mutable; `~latest`/partial semver re-resolves to whatever the Catalog last published. Prefer SHA; accept a release tag only when the component project protects tags.

**`include: project`** — `ref:` accepts a branch, tag, **or commit SHA**. Pin it:

```yaml include: - project: 'my-group/ci-templates' ref: 787123b47f14b552955ca2786bc9542ae66fee5b # not `main` file: '/templates/build.yml' ```

`ref:` is optional and **defaults to the project's HEAD** — an unpinned `include: project` silently tracks someone else's default branch. Treat a missing `ref:` as a finding, not a style nit.

**`include: remote`** — a public URL fetched over HTTP(S) with **no authentication support**. It is the weakest link: whoever controls that URL controls your pipeline, and there is no ref to pin. Prefer `component` or `project`. If a remote include is unavoidable, use a URL that embeds an immutable revision (a raw file path containing a commit SHA, not `/raw/main/`), and treat the host as part of your trust boundary.

**`include: template`** and **`include: local`** are GitLab-shipped or in-repo — no pinning needed.

**Resolving a tag to a SHA** — for a component or template project:

```bash # .id is the full commit SHA; :sha accepts a branch or tag name glab api "projects/my-org%2Fsecurity-components/repository/commits/1.0.0" --jq '.id' ```

`:fullpath` also works in place of the URL-encoded path when acting on the current project. For a non-GitLab-hosted template, `git ls-remote <url> refs/tags/<tag>` resolves the same thing.

**Job images and services** — pin by digest, keeping the tag for readability:

```yaml # BAD — mutable image: python:3.13 services: - postgres:18 ```

```yaml # GOOD — immutable, still readable image: python:3.13@sha256:<digest> services: - name: postgres:18@sha256:<digest> ```

Resolve digests with `skopeo inspect docker://python:3.13 --format '{{.Digest}}'`. This mirrors `setup-container-security`'s base-image rule; the reasoning and the bump procedure are the same.

### Phase 3: Scope the Job Token

`CI_JOB_TOKEN` is minted per job, scoped to the triggering user's access level, masked in logs, and revoked when the job ends. **By default it reaches only its own project** — so the work here is mostly *keeping* it that way. But verify the default actually holds before auditing anything else:

- **First, confirm the allowlist is enforced at all.** Under **Settings → CI/CD → Job token permissions**, the project may be set to either *"This project and any groups and projects in the allowlist"* (restricted — the default) or **"All groups and projects"** (permissive). GitLab's warning is unambiguous: *"If you disable the CI/CD job token allowlist, jobs from any project can access your project with a job token… You should only disable this setting for testing or a similar reason."* A project in the permissive mode has **no allowlist to audit** — that is the worst case and the finding. Fix it before reviewing entries. (Self-managed admins can force the restricted mode instance-wide via *Enable and enforce job token allowlist for all projects*.) - Then audit the allowlist: **Settings → CI/CD → Job token permissions → CI/CD job token allowlist**. Every entry is a project that may authenticate *into* this one. Justify each; remove the rest. (Limit: 200 entries — an allowlist near that size is a finding in itself.) - Adding to the allowlist **grants no new permissions** — the user must already have access. It widens *reachability*, not authority. Do not treat allowlist membership as an access grant. - Prefer the **fine-grained permissions** setting (limiting the token to a specific set of REST endpoints) over all-or-nothing allowlisting. - **Public/internal projects**: unauthenticated users can fetch artifacts from public pipelines regardless of the allowlist. If artifacts are sensitive, set feature visibility to *Only project members*. - Review the authentication log periodically for unexpected cross-project token use.

### Phase 4: Variables and Secrets

- **Never put secrets in `.gitlab-ci.yml`.** It is readable by anyone with repo access; it holds non-sensitive configuration only. Secrets live in project/group settings or a secrets manager. - **Protected** = available only to pipelines on protected branches/tags. **Masked** = redacted as `[MASKED]` in job logs. They solve different problems — set both for real secrets: ```bash # Read the secret into a variable; never inline it or echo it read -rs SECRET_VALUE glab variable set DEPLOY_TOKEN "$SECRET_VALUE" --masked --protected glab variable list -F json --jq '.[] | select(.masked==false or .protected==false) | .key' ``` That second command is the audit: any secret-shaped key it prints is a finding. - **Masking has hard constraints** — the value must be a single line, no spaces, ≥ 8 characters, and (with expansion enabled) use only `_ : @ - + . ~ = /` beyond alphanumerics. A secret that cannot be masked is a secret that will eventually appear in a log; regenerate it in a maskable format rather than shipping it unmasked. - **Masking is not a security boundary.** GitLab's own docs (*CI/CD variables → Mask a CI/CD variable*) state it "is not a guaranteed way to prevent malicious users from accessing variable values" — it defeats accid

Détails techniques

Version
1.0.0
Licence
MIT
Dernière mise à jour
21 août 2026
Publié
21 août 2026

Instantané de décision

Candidate de secours

60
Prêt
Prototype
Étape

recent repository activity

Audit

Revue d’installation

Revue d’installation et d’adoption

72
Revue nécessaire
Sécurité
72/100
Maintenance
100/100
Installer
92/100
Ouvrir l’audit completVoir le rapport d’évaluation

Preuves validées par Agent

Preuves validées par Agent

Rapports après resolve, revue, installation et une exécution limitée.

0
Validé
Needs first agent runAuto-installation: revoir d’abordDernier: Inconnu
Taux de réussite
Échec récent
Résultats
0
Qualité de sortie
Échecs
0
Non pertinent
0
Installations
0
Bloqué par le risque
0
Configuration requise
0
Production
0

Aucune donnée de résultat Agent pour l’instant. La première exécution peut signaler succès, besoin de configuration, blocage de risque, échec ou non-pertinence via /api/agent/outcome.

Installer

Ajouter au workflow Agent

Gratuit et open source. Examinez le rapport avant l’installation dans des Agents de production.

Boucle de croissance

Kit de partage

X

Brouillon guidé par scénario pour harden-gitlab-ci, prêt pour une publication manuelle sur X.

Note du curateur
harden-gitlab-ci: Harden GitLab CI/CD pipelines for supply-chain security — SHA-pin `include:` and CI/CD compon...

14 stars

https://www.openagentskill.com/skills/jrjsmrtn-harden-gitlab-ci?ref=x
Ouvrir le brouillon X
Réponse facultative avec commande d’installation
Listing + install path for harden-gitlab-ci:
https://www.openagentskill.com/skills/jrjsmrtn-harden-gitlab-ci?ref=x

Install: npx skills add jrjsmrtn/project-orchestration-skills --skill harden-gitlab-ci

Source de la fiche

Indexé par Registry

Revendiable

Cette fiche a été indexée à partir de sources publiques et n’est pas marquée officielle tant qu’une revendication de mainteneur n’est pas approuvée.

Créateur
jrjsmrtn
Indexé par
Index communautaire OpenAgentSkill

L’attribution renvoie au dépôt public ou au profil du créateur. Les créateurs peuvent revendiquer la fiche pour mettre à jour les signaux de propriété.

Revendiquer ce skill

Revendication du propriétaire

Revendiquer cette fiche de skill

Cette fiche Indexé par Registry est attribuée à jrjsmrtn, mais n’est pas encore marquée officielle. Revendiquez-la pour ajouter un signal de propriétaire vérifié et rendre les futures mises à jour de lancement, d’installation et d’audit plus fiables.

Kit de backlinks créateur

Ajoutez les badges de preuve à votre README

Affichez la fiche canonique, les signaux actuels de confiance et d’audit, ainsi que de vraies preuves Agent-Proven là où les développeurs évaluent le dépôt.

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/jrjsmrtn-harden-gitlab-ci?metric=listed&label=Listed)](https://www.openagentskill.com/skills/jrjsmrtn-harden-gitlab-ci)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/jrjsmrtn-harden-gitlab-ci?metric=trust&label=Trust)](https://www.openagentskill.com/skills/jrjsmrtn-harden-gitlab-ci)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/jrjsmrtn-harden-gitlab-ci?metric=audit&label=Audit)](https://www.openagentskill.com/skills/jrjsmrtn-harden-gitlab-ci/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/jrjsmrtn-harden-gitlab-ci?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/jrjsmrtn-harden-gitlab-ci)

Auteur

J

jrjsmrtn

@jrjsmrtn

Adéquation plateforme

Signaux de santé

Stars GitHub
14
Score de qualité
32/100
Dernier push GitHub
21 août 2026
Indications de framework
Inconnu
Vues OpenAgentSkill
8
Copies d’installation
0
Clics sortants
0

Signal de communauté

Indiquez si ce skill semble utile à votre workflow Agent. Les retours agrégés améliorent le classement au fil du temps.

Confiance et sécurité

Do not auto-install

58
  • Adoption GitHub14 stars GitHubCorriger
  • Activité stars/forks14 stars et 0 forks; l’activité des issues n’est pas disponible dans les métadonnées actuellesCorriger
  • Maintenance récente1 jours depuis le dernier pushValidé
  • Clarté de licenceMITValidé
  • Complétude README/SKILL.mdLes métadonnées incluent suffisamment de contexte d’usage et de workflowValidé
  • Risque dépendances/runtimecommand execution surface, credential or environment accessCorriger