Implements Tessl skill review CI/CD pipelines through an interactive, configuration-first wizard. Supports GitHub Actions, Jenkins, and Azure DevOps.
70
90%
Does it follow best practices?
Impact
50%
0.67xAverage score across 6 eval scenarios
Advisory
Suggest reviewing before use
{
"context": "scenario-3",
"type": "weighted_checklist",
"checklist": [
{
"name": "C01",
"description": "An Azure DevOps pipeline YAML file exists at ~/project/azure-pipelines.yml (or a similarly named YAML file in the project root).",
"max_score": 7
},
{
"name": "C02",
"description": "The pipeline has separate 'trigger:' (for push) and 'pr:' (for pull request) blocks, both targeting the 'release' branch.",
"max_score": 8
},
{
"name": "C03",
"description": "The trigger and pr paths include '**/SKILL.md' and '**/skills/**'. The pr paths also include the pipeline YAML filename.",
"max_score": 7
},
{
"name": "C04",
"description": "The pipeline variables section defines CACHE_FILE as 'ci/review-cache/scores.json' and TARGET_BRANCH as 'release'.",
"max_score": 8
},
{
"name": "C05",
"description": "The pipeline uses NodeTool@0 for Node.js setup.",
"max_score": 6
},
{
"name": "C06",
"description": "The pipeline uses Azure DevOps-native logging: ##vso[task.setvariable] for outputs and/or ##vso[logissue] for warnings/errors.",
"max_score": 7
},
{
"name": "C07",
"description": "The pipeline posts PR comments using the Azure DevOps REST API with System.AccessToken (not GitHub API).",
"max_score": 8
},
{
"name": "C08",
"description": "The PR commenting logic searches for an existing thread with '<!-- tessl-skill-review -->' marker and updates it, or creates a new thread.",
"max_score": 7
},
{
"name": "C09",
"description": "The pipeline has a CommitCache stage that depends on the review stage and only runs on pushes to 'release' (not on PRs). The condition references 'refs/heads/release'.",
"max_score": 8
},
{
"name": "C10",
"description": "The PR comment footer text is informational (mentions score is informational / not used for pass/fail gating), since no quality gate was requested.",
"max_score": 7
},
{
"name": "C11",
"description": "The checkout step uses 'persistCredentials: true' and fetchDepth: 0.",
"max_score": 6
},
{
"name": "C12",
"description": "A cache file exists at ~/project/ci/review-cache/scores.json with valid JSON containing 'version', 'last_updated', and 'skills' keys.",
"max_score": 8
},
{
"name": "C13",
"description": "The review script runs 'tessl skill review --json' and calculates average scores from descriptionJudge and contentJudge dimensions.",
"max_score": 6
},
{
"name": "C14",
"description": "The pipeline uses 'pool: vmImage: ubuntu-latest' (or equivalent Microsoft-hosted agent).",
"max_score": 7
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6