Implements Tessl skill review CI/CD pipelines through an interactive, configuration-first wizard. Supports GitHub Actions, Jenkins, Azure DevOps, and CircleCI.
90
Does it follow best practices?
Validation for skill structure
Implements Tessl skill review CI/CD pipelines in your repository through an interactive, configuration-first wizard. Supports multiple CI platforms.
Use this skill when you want to:
This skill walks you through three phases:
| Platform | Reference File | Status |
|---|---|---|
| GitHub Actions | github-actions.md | Full support |
| Jenkins | jenkins.md | Full support |
| Azure DevOps | azure-devops.md | Full support |
| CircleCI | circleci.md | Full support |
Regardless of CI platform, the pipeline does the same thing:
SKILL.md files (PR diff or full scan)tessl skill review --json <path>Single-Pipeline (Recommended for internal repositories)
Two-Pipeline (Recommended for public repositories)
First, check that we're in a valid git repository with a remote configured.
Actions:
git rev-parse --git-dir to verify git repositorygit remote -v to check for a remoteError Messages:
Detect the repository's default branch from the remote.
Actions:
git remote show origin | grep 'HEAD branch' | cut -d' ' -f5git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@'"main" with a warningStore result in: DEFAULT_BRANCH variable
Scan for existing Tessl skill review pipelines and detect their version.
Actions:
find .github/workflows -name '*tessl*skill*review*' 2>/dev/nullfind . -name 'Jenkinsfile' -exec grep -l 'tessl skill review' {} \; 2>/dev/nullfind . -name 'azure-pipelines*.yml' -exec grep -l 'tessl skill review' {} \; 2>/dev/nullfind .circleci -name 'config.yml' -exec grep -l 'tessl skill review' {} \; 2>/dev/nullCACHE_ENTRIES_FILE and PREV_SCORE--json and jq but no cachetessl skill review with markdown tableShow user what was found and offer appropriate path forward.
If no pipeline found: "No existing Tessl pipeline detected. Ready to create a new one."
If v4 found: "Found Tessl skill review pipeline v4 (latest version).
Options: A) Keep existing pipeline, skip to cache setup B) Recreate pipeline (useful if you want to change architecture or CI platform)
Which option?"
If v1-v3 found: "Found Tessl skill review pipeline v{X}.
v4 adds:
Update to v4?"
Ask: "Which CI platform do you use?"
Options:
.github/workflows/ YAML files.circleci/config.yml, Docker executors, contextsStore answer in: CI_PLATFORM variable (values: "github-actions", "jenkins", "azure-devops", "circleci")
Ask: "Which pipeline architecture do you want?"
Options:
Store answer in: PIPELINE_ARCH variable (values: "single" or "two")
Ask: "Should skill review failures block the build?"
Options:
Store answer in: BLOCK_BUILD variable (values: true or false)
Ask: "Use smart defaults, or customize settings?"
Current defaults:
{DEFAULT_BRANCH} (auto-detected)**/SKILL.md, **/skills/**.tessl/skill-review-cache.json (GitHub Actions uses .github/.tessl/)Options:
If user chose defaults: Set variables and skip to Step 2.6.
Question 2.4a: Target Branch "Which branch should trigger the pipeline on push?"
{DEFAULT_BRANCH}Question 2.4b: Trigger File Paths "Which file paths should trigger the pipeline?"
**/SKILL.md, **/skills/**Question 2.4c: Cache File Location "Where should the cache file be stored?"
Display configuration table and ask for approval:
Configuration Summary
| Setting | Value |
|-------------------|------------------------------------------|
| CI Platform | {CI_PLATFORM} |
| Architecture | {Single/Two}-pipeline |
| Block Build | {BLOCK_BUILD} |
| Target Branch | {TARGET_BRANCH} |
| Trigger Paths | {TRIGGER_PATHS} |
| Cache Location | {CACHE_FILE} |"Proceed with this configuration?"
If "Go back", restart from Step 2.1.
Note on build blocking: When BLOCK_BUILD is false, the pipeline templates must be modified so that validation failures produce warnings instead of failing the job. Each platform handles this differently — see the platform reference files for details.
Load the appropriate reference file for template generation:
Use the templates from the selected reference file, substituting {{TARGET_BRANCH}}, {{TRIGGER_PATHS}}, {{CACHE_FILE}}, and {{BLOCK_BUILD}} with user's configuration.
Build blocking substitution: When BLOCK_BUILD is false, modify the review step in the generated pipeline so that validation failures do NOT cause a non-zero exit code. The specific mechanism varies by platform:
exit 1 to a warning message and exit 0 when BLOCK_BUILD is falseblock-on-failure pipeline parameter default to false.github/workflows/ for GH Actions){
"version": "1",
"last_updated": "",
"skills": {}
}Display platform-specific instructions for adding TESSL_API_KEY:
After all files are created, ask the user what git operations to perform.
Options:
A) Review changes first - Shows git status and git diff
B) Stage and commit - Stage specific files, show commit message preview, commit
C) Stage, commit, and push - All of B plus push
D) I'll handle git myself - List created files and exit
git add <specific-files> not git add .After setup is complete, refer to TESTING.md for verification steps.
Platform-specific testing guidance is also in each reference file.
Tessl skill review pipeline setup complete!
What you have now:
Next steps:
Reference files:
Install with Tessl CLI
npx tessl i tessl-leo/tessl-skill-review-ci