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-4",
"type": "weighted_checklist",
"checklist": [
{
"name": "C01",
"description": "The updated workflow YAML contains a score quality gate block that checks if AVG_SCORE is less than 75 and produces an error or sets FAILED=1 when the threshold is not met.",
"max_score": 14
},
{
"name": "C02",
"description": "The quality gate error message includes both the skill's score and the 75% threshold value (e.g., 'scored X% (below 75% threshold)').",
"max_score": 11
},
{
"name": "C03",
"description": "The PR comment footer has been updated from the informational message to mention the 75% threshold (e.g., 'skills scoring below 75% will fail the check').",
"max_score": 14
},
{
"name": "C04",
"description": "The original informational footer text ('Review score is informational') has been removed or replaced (not present alongside the new enforcement text).",
"max_score": 11
},
{
"name": "C05",
"description": "A cache file exists at ~/project/.github/.tessl/skill-review-cache.json with valid JSON containing keys 'version' (value '1'), 'last_updated' (empty string), and 'skills' (empty object).",
"max_score": 14
},
{
"name": "C06",
"description": "The workflow YAML file still exists at ~/project/.github/workflows/tessl-skill-review.yml and is valid YAML (not broken by the edits).",
"max_score": 9
},
{
"name": "C07",
"description": "The workflow retains its original triggers (pull_request on main, push on main, workflow_dispatch).",
"max_score": 9
},
{
"name": "C08",
"description": "The workflow retains its original permissions (contents: write, pull-requests: write).",
"max_score": 9
},
{
"name": "C09",
"description": "The PR comment body still includes the '<!-- tessl-skill-review -->' HTML marker.",
"max_score": 9
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6