When the user needs to set up or improve CI/CD pipelines — GitHub Actions, GitLab CI, deployment automation, or says "set up CI", "automate deployment", "add tests to pipeline", "fix my build".
79
74%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/cicd-setup/SKILL.mdFrom startup-context: tech stack, deployment target, team size. Also detect or ask:
# CI/CD Pipeline: [Project Name]
## Stack Detection Results — detected language, runtime, tools, and build commands
## Pipeline Overview — Mermaid flowchart showing stages
## Pipeline Configuration — Full YAML config file
## Secrets Required — table: name, where to get, how to add
## Setup Instructions — step-by-step to activate
## Validation Checklist — commands verified, caching confirmed, branch rules set
## Optimization Notes — caching strategy, estimated build timeAlways detect before generating. The detector relies on concrete file signals:
| Ecosystem | Cache Path | Cache Key |
|---|---|---|
| Node.js | ~/.npm or node_modules | hashFiles('**/package-lock.json') |
| Python | ~/.cache/pip | hashFiles('**/requirements*.txt') |
| Go | ~/go/pkg/mod | hashFiles('**/go.sum') |
| Rust | ~/.cargo/registry, target/ | hashFiles('**/Cargo.lock') |
| Ruby | vendor/bundle | hashFiles('**/Gemfile.lock') |
timeout-minutes: 15) and concurrency to cancel redundant runs| Environment | Trigger | Approval | Purpose |
|---|---|---|---|
| CI | Every push/PR | None | Run lint + tests |
| Staging | Merge to main | None (auto) | Integration testing, QA |
| Production | Git tag or manual | Required | Live users |
code-review — chain to review the CI config itself before committingsecurity-review — chain to add or audit security scanning stages (trivy, semgrep, npm audit)Example prompt: "Set up CI/CD for my Next.js app deployed on Vercel."
Good output snippet:
name: CI
on:
push: { branches: [main] }
pull_request: { branches: [main] }
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 20, cache: 'npm' }
- run: npm ci
- run: npm run lint && npx tsc --noEmit
test:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 20, cache: 'npm' }
- run: npm ci && npm test -- --coverageExample prompt: "My Python CI takes 8 minutes, how do I speed it up?"
Good output snippet:
Stack detection shows: Python 3.11, pytest, pip. Three fixes to cut to ~3 minutes:
(1) Add pip caching keyed on hashFiles('requirements*.txt'),
(2) split unit/integration tests into parallel jobs,
(3) add path filters to skip CI on docs-only changes.4ad31b4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.