
Cicd Expert
Copy and adapt production-grade GitLab CI, Jenkins, matrix, monorepo, Docker, and ArgoCD GitOps patterns when you are wiring automated build-test-scan-deploy for a solo or indie repo.
Overview
CI/CD Expert is an agent skill most often used in Ship (also Build integrations, Operate infra) that supplies GitLab CI, Jenkins, matrix, monorepo, Docker, and ArgoCD pipeline examples for solo builders automating secure
Install
npx skills add https://github.com/martinholovsky/claude-skills-generator --skill cicd-expertWhat is this skill?
- End-to-end GitLab CI/CD with security, build, test, scan, deploy, and verify stages
- Jenkins pipeline examples alongside advanced matrix and monorepo strategies
- Docker build optimization patterns for faster image builds
- GitOps deployment flow with ArgoCD
- Security-stage recipes: secret scan (TruffleHog), SAST (Semgrep), dependency audit (npm/Snyk)
- 6 documentation sections in the examples table of contents (GitLab, Jenkins, matrix, monorepo, Docker, ArgoCD)
Adoption & trust: 560 installs on skills.sh; 38 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You know you need automated build, test, scan, and deploy stages but do not have a credible pipeline skeleton for GitLab, Jenkins, or GitOps on your stack.
Who is it for?
Solo builders shipping Node or containerized apps who want security-first pipeline stages and GitOps examples without hiring a platform engineer.
Skip if: Teams that only need a one-line GitHub Action for lint with no deploy, security scanning, or multi-environment promotion.
When should I use this skill?
User needs GitLab CI, Jenkins, matrix/monorepo, Docker optimization, or ArgoCD GitOps pipeline examples for their project.
What do I get? / Deliverables
You leave with stage-ordered CI/CD YAML and patterns you can paste into .gitlab-ci.yml or Jenkinsfiles, then tune runners, caches, and deploy targets for your environment.
- .gitlab-ci.yml or Jenkinsfile stage layout
- Security and scan job snippets
- Docker and ArgoCD-oriented deploy patterns
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
CI/CD is how indie builders move from merged code to a safe release; the canonical Prism shelf is Ship because pipelines embody launch prep, gates, and deployment—not one-off local coding. Launch subphase under Ship covers pre-release automation (stages, artifacts, deploy hooks) that the examples explicitly model before verify/deploy steps.
Where it fits
Add a GitLab job that builds and caches node_modules before your API integration tests run on every MR.
Insert TruffleHog and Semgrep stages ahead of build so secrets and OWASP-oriented SAST fail the pipeline early.
Structure deploy and verify stages after scan so promoting to staging matches your release checklist.
Wire ArgoCD sync patterns so cluster state tracks the image tag your pipeline publishes.
How it compares
Use as a procedural pipeline pattern library instead of asking the agent to freestyle CI/CD YAML from memory.
Common Questions / FAQ
Who is cicd-expert for?
Indie and solo developers who own CI/CD themselves and want GitLab, Jenkins, Docker, matrix, monorepo, or ArgoCD-oriented examples the agent can adapt to their repo.
When should I use cicd-expert?
Use it during Ship when wiring launch automation, during Build when adding backend or integration deploy hooks, and during Operate when tightening infra or GitOps deploy flows.
Is cicd-expert safe to install?
Pipeline examples can encourage powerful runners and registry credentials in YAML—review the Security Audits panel on this page and never commit real secrets; substitute CI variables and masked tokens.
SKILL.md
READMESKILL.md - Cicd Expert
# CI/CD Pipeline Examples This file contains comprehensive pipeline examples for various platforms and use cases. --- ## Table of Contents 1. [GitLab CI Examples](#gitlab-ci-examples) 2. [Jenkins Pipeline Examples](#jenkins-pipeline-examples) 3. [Advanced Matrix Builds](#advanced-matrix-builds) 4. [Monorepo Strategies](#monorepo-strategies) 5. [Docker Build Optimization](#docker-build-optimization) 6. [GitOps with ArgoCD](#gitops-with-argocd) --- ## GitLab CI Examples ### Complete GitLab CI/CD Pipeline ```yaml # .gitlab-ci.yml variables: DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "/certs" IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA stages: - security - build - test - scan - deploy - verify # Security stage secret-scan: stage: security image: trufflesecurity/trufflehog:latest script: - trufflehog git file://. --json --fail allow_failure: false sast: stage: security image: returntocorp/semgrep script: - semgrep --config=p/security-audit --config=p/owasp-top-ten --sarif -o semgrep.sarif . artifacts: reports: sast: semgrep.sarif expire_in: 1 week dependency-scan: stage: security image: node:20 script: - npm audit --audit-level=high - npm ci - npx snyk test --severity-threshold=high only: - merge_requests - main # Build stage build: stage: build image: node:20 cache: key: files: - package-lock.json paths: - node_modules/ script: - npm ci - npm run build artifacts: paths: - dist/ expire_in: 1 day only: - merge_requests - main # Test stage unit-tests: stage: test image: node:20 dependencies: - build cache: key: files: - package-lock.json paths: - node_modules/ script: - npm ci - npm run test:unit -- --coverage coverage: '/Lines\s*:\s*(\d+\.\d+)%/' artifacts: reports: coverage_report: coverage_format: cobertura path: coverage/cobertura-coverage.xml expire_in: 1 week integration-tests: stage: test image: node:20 services: - postgres:14 - redis:7 variables: POSTGRES_DB: testdb POSTGRES_USER: testuser POSTGRES_PASSWORD: testpass DATABASE_URL: postgresql://testuser:testpass@postgres:5432/testdb REDIS_URL: redis://redis:6379 dependencies: - build script: - npm ci - npm run db:migrate - npm run test:integration only: - merge_requests - main # Container scan stage container-build: stage: scan image: docker:24 services: - docker:24-dind before_script: - echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY script: - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $IMAGE_TAG -t $CI_REGISTRY_IMAGE:latest . - docker push $IMAGE_TAG - docker push $CI_REGISTRY_IMAGE:latest only: - main container-scan: stage: scan image: aquasec/trivy:latest script: - trivy image --severity HIGH,CRITICAL --exit-code 1 $IMAGE_TAG dependencies: - container-build only: - main # Deploy stages deploy-staging: stage: deploy image: bitnami/kubectl:latest environment: name: staging url: https://staging.example.com before_script: - kubectl config use-context $KUBE_CONTEXT_STAGING script: - kubectl set image deployment/myapp myapp=$IMAGE_TAG -n staging - kubectl rollout status deployment/myapp -n staging --timeout=5m only: - main verify-staging: stage: verify image: curlimages/curl:latest script: - | for i in {1..30}; do if curl -f https://staging.example.com/health; then echo "Staging health check passed" exit 0 fi sleep 10 done echo "Staging health check failed" exit 1 dependencies: - deploy-staging only: - main deploy-production: stage: deploy image: bitnami/kubectl:latest environment: name: production url: