CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/tessl-skill-review-ci

Implements Tessl skill review CI/CD pipelines through an interactive, configuration-first wizard. Supports GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and CircleCI.

94

1.75x

Quality

90%

Does it follow best practices?

Impact

100%

1.75x

Average score across 5 eval scenarios

Overview
Skills
Evals
Files

rubric.jsonevals/scenario-2/

{
  "context": "Tests whether the agent generates a correct GitLab CI pipeline with custom branch and cache settings, auto-optimize enabled, MR commenting via GitLab API, and proper variable configuration.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "GitLab CI format",
      "description": "Output is a valid .gitlab-ci.yml file (not GitHub Actions, Jenkins, etc.)",
      "max_score": 8
    },
    {
      "name": "Custom target branch",
      "description": "Pipeline targets 'develop' branch instead of 'main' for triggers and cache commits",
      "max_score": 10
    },
    {
      "name": "Custom cache path",
      "description": "Cache file is stored at ci/review-cache.json instead of .tessl/skill-review-cache.json",
      "max_score": 10
    },
    {
      "name": "Auto-optimize enabled",
      "description": "Review command uses --optimize --yes flags since optimization was requested",
      "max_score": 10
    },
    {
      "name": "Optimize commit step",
      "description": "Pipeline includes a step/job to commit optimized skill files back to the MR source branch",
      "max_score": 10
    },
    {
      "name": "MR comment via GitLab API",
      "description": "Uses GitLab Notes API (projects/{id}/merge_requests/{iid}/notes) for MR comments, NOT GitHub API",
      "max_score": 10
    },
    {
      "name": "GitLab CI variables",
      "description": "Uses GitLab CI variables like CI_MERGE_REQUEST_IID, CI_PROJECT_ID, CI_API_V4_URL",
      "max_score": 8
    },
    {
      "name": "Rules-based execution",
      "description": "Uses GitLab rules: with conditions (not GitHub-style 'on:' triggers)",
      "max_score": 8
    },
    {
      "name": "Cache init structure",
      "description": "cache-init.json contains {\"version\": \"1\", \"last_updated\": \"\", \"skills\": {}}",
      "max_score": 8
    },
    {
      "name": "TESSL_API_KEY guidance",
      "description": "Variables guide mentions TESSL_API_KEY as a masked CI/CD variable",
      "max_score": 6
    },
    {
      "name": "GITLAB_TOKEN guidance",
      "description": "Variables guide mentions GITLAB_TOKEN or CI_JOB_TOKEN for API authentication",
      "max_score": 6
    },
    {
      "name": "Skip CI marker",
      "description": "Cache and optimize commits include [skip ci] in the commit message",
      "max_score": 6
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl-labs/tessl-skill-review-ci

evals

azure-devops.md

circleci.md

github-actions.md

gitlab-ci.md

jenkins.md

README.md

SKILL.md

TESTING.md

tile.json