CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/gitlab-ci-toolkit

Complete GitLab CI/CD toolkit with generation and validation capabilities for pipelines and configurations

97

Quality

97%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsongenerator/evals/scenario-3/

{
  "context": "Tests whether the agent uses extends or YAML anchors to eliminate duplicated before_script and image declarations, configures dependency caching, and uses needs for per-service DAG chains rather than waiting on all jobs in a stage.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "extends or YAML anchors used",
      "description": "The YAML uses `extends:` referencing a hidden job template (dot-prefixed) OR YAML anchors (`&`/`<<: *`) to share common configuration",
      "max_score": 15
    },
    {
      "name": "No duplicate before_script",
      "description": "The common setup command (npm ci or equivalent) appears in ONE place (template/anchor/default), NOT repeated in each service job",
      "max_score": 12
    },
    {
      "name": "Image declared once",
      "description": "The Node image is declared in ONE location (default block, shared template, or anchor), not duplicated across every job",
      "max_score": 10
    },
    {
      "name": "Cache configured",
      "description": "A `cache:` block is present, configured for node_modules or equivalent dependency directory",
      "max_score": 10
    },
    {
      "name": "Cache key uses CI variable",
      "description": "The cache `key:` references a GitLab CI predefined variable (e.g. $CI_COMMIT_REF_SLUG) rather than a static string",
      "max_score": 8
    },
    {
      "name": "needs for per-service DAG",
      "description": "Each service's test job uses `needs:` to reference only its own service's build job",
      "max_score": 12
    },
    {
      "name": "Image pinned",
      "description": "The shared image tag does NOT use `:latest`",
      "max_score": 8
    },
    {
      "name": "No only/except",
      "description": "The YAML does NOT use `only:` or `except:`",
      "max_score": 8
    },
    {
      "name": "expire_in on artifacts",
      "description": "Any artifact block with `paths:` includes `expire_in:`",
      "max_score": 9
    },
    {
      "name": "Kebab-case job names",
      "description": "All job names use kebab-case",
      "max_score": 8
    }
  ]
}

generator

evals

instructions.json

summary_infeasible.json

summary.json

SKILL.md

tile.json