Cicd pipeline builder
Welcome to the skill-jam βοΈπ
npx -y skills add VRIL-LABS/skill-jam --skill cicd-pipeline-builderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generates GitHub Actions, GitLab CI, or CircleCI pipeline configs tailored to the detected language and framework. Invoke when asked to create a CI/CD pipeline, set up automated testing, configure deployment workflows, or build GitHub Actions workflows.
SKILL.md
5.4 KB, as published. Nobody here has run it
CI/CD Pipeline Builder
Generates complete, production-ready CI/CD pipeline configurations for GitHub Actions, GitLab CI, or CircleCI β tailored to the detected language, framework, and deployment target.
When to Use
- User asks to "set up CI/CD", "create a GitHub Actions workflow", or "automate deployments"
- A new repository has no pipeline configuration
- Tests are being run manually and need to be automated
- User wants to add deployment stages (staging, production)
- Existing pipeline needs optimization (parallelism, caching, conditional steps)
- User asks to add specific jobs: linting, security scanning, Docker builds, releases
Process
-
Identify the target CI/CD platform:
- Default to GitHub Actions (
.github/workflows/) if not specified - GitLab CI β
.gitlab-ci.yml - CircleCI β
.circleci/config.yml
- Default to GitHub Actions (
-
Detect the language, runtime, and framework:
- Check for
package.json,requirements.txt,go.mod,Gemfile,pom.xml,Cargo.toml - Note test runner (Jest, pytest, go test, RSpec, JUnit)
- Note build tool (npm, Vite, webpack, Maven, Gradle)
- Check for Docker files, Kubernetes manifests, or cloud config (AWS, GCP, Azure)
- Check for
-
Design the pipeline stages:
- CI (on every push/PR):
- Checkout
- Set up language runtime (cache dependencies)
- Install dependencies (with cache key based on lockfile hash)
- Lint / format check
- Run unit tests (with coverage report)
- Run integration tests (if applicable)
- Security scan (dependency audit)
- Build artifact (if applicable)
- CD (on merge to main/release tags): 9. Build Docker image (multi-platform if needed) 10. Push to container registry 11. Deploy to staging 12. Run smoke tests 13. Deploy to production (with manual approval gate for production)
- CI (on every push/PR):
-
Apply performance best practices:
- Cache
node_modules, pip packages, Go module cache, Maven.m2 - Parallelize independent jobs (lint, test, security scan)
- Use matrix builds for multi-version testing
- Fail fast on lint before running expensive tests
- Cache
-
Add security hardening:
- Pin action versions to full SHA (not mutable tags like
@v3) - Use
GITHUB_TOKENwith minimal required permissions - Store secrets in platform secret store (never hardcode)
- Use OIDC for cloud provider authentication instead of long-lived keys
- Pin action versions to full SHA (not mutable tags like
-
Add status badges and PR summary comments for test results.
-
Generate the YAML with inline comments explaining non-obvious choices.
Output Format
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
permissions:
contents: read
pull-requests: write
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: '20'
cache: 'npm'
- run: npm ci
- run: npm run lint
test:
name: Test
runs-on: ubuntu-latest
needs: lint
strategy:
matrix:
node-version: ['18', '20', '22']
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test -- --coverage
- uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
Examples
Example Input
Create a GitHub Actions CI pipeline for a Python FastAPI project.
Run tests with pytest. Lint with ruff. Python 3.11 and 3.12.
Deploy to AWS Lambda on push to main using SAM CLI.
Example Output (structure)
.github/workflows/ci.yml
Jobs:
lint: runs ruff check . on ubuntu-latest
test: matrix: [3.11, 3.12], runs pytest --cov, uploads to Codecov
security: runs pip-audit for dependency vulnerabilities
deploy: runs on main push only, uses aws-actions/configure-aws-credentials
with OIDC (no stored keys), runs sam build && sam deploy
requires "production" environment approval gate
Boundaries
- Do NOT store secrets in workflow YAML β always reference
${{ secrets.SECRET_NAME }}. - Do NOT use mutable action tags (
@v3,@main) in final output β pin to commit SHAs with version comment. - Do NOT generate deployment configs without noting that environment secrets (AWS keys, registry credentials) must be configured in the platform's secret store.
- Do NOT generate pipeline configs for platforms not explicitly supported without noting the limitation.
- If the repository structure is unclear, make reasonable assumptions and note them as comments in the YAML.
- Do NOT add deployment stages unless the user requests them or provides deployment context.
- Generated workflows should be valid YAML β verify indentation and syntax before outputting.