SKILL.md
Building CI/CD Pipelines
Current State
!ls .github/workflows/*.yml .gitlab-ci.yml Jenkinsfile .circleci/config.yml 2>/dev/null || echo 'No CI/CD config found'
Overview
Generate CI/CD pipeline configurations for GitHub Actions, GitLab CI, Jenkins, CircleCI, and Azure DevOps. Produce multi-stage workflows covering linting, testing, building container images, security scanning, and deploying to staging/production with proper gating and rollback mechanisms.
Prerequisites
- Git repository hosted on a supported platform (GitHub, GitLab, Bitbucket, Azure DevOps)
- Container runtime (Docker) if building images
- Target deployment environment credentials configured as pipeline secrets
- Test suite that can run headlessly (
npm test,pytest,go test, etc.) - Understanding of branching strategy (trunk-based, GitFlow, or environment branches)
Instructions
- Scan the project for existing CI/CD configuration files (
.github/workflows/,.gitlab-ci.yml,Jenkinsfile,.circleci/config.yml) - Identify the application stack: language, framework, test runner, package manager, and deployment target
- Define pipeline stages:
lint->test->build->security-scan->deploy-staging->integration-test->deploy-production - Generate the pipeline configuration file with appropriate triggers (push to main, PR events, tags)
- Add caching for dependencies (
node_modules,.pip-cache, Go modules) to reduce build times - Configure matrix builds for multiple language versions or OS targets where appropriate
- Add secret references for deployment credentials, container registry tokens, and API keys (never hardcode)
- Implement deployment gates: manual approval for production, automated rollback on health check failure
