ci-cd-pipeline
Skill1 starsChanged 7 months agoMITView on GitHub
Design and troubleshoot CI/CD pipelines. GitHub Actions, GitLab CI, Jenkins, CircleCI. Build optimization, caching strategies, parallelization, and deployment automation. Trigger with "set up CI/CD", "fix the build", "GitHub Actions workflow", "speed up the pipeline", "deploy to production", or when the user needs help with continuous integration, continuous deployment, or build automation.
9 other projects use a version of this.
Adopted by
Most recently taken up by
- Wade-DevCode/awesome-coding-skills-cntheir own version, first seen Nov 8, 2026
- Cure-Consulting-Group/ProductEngineeringSkillstheir own version, first seen Nov 4, 2026
- fideguch/my_pm_toolstheir own version, first seen Nov 1, 2026
- Sagargupta16/agent-recipestheir own version, first seen Nov 1, 2026
- nanvix/nanvixtheir own version, first seen Oct 8, 2026
- Ygohel18/skillstheir own version, first seen Sep 27, 2026
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- nanvix/nanvix★ 318same name
- rloisell/rl-agents-n-skills★ 8same name
- Wade-DevCode/awesome-coding-skills-cn★ 7same name
- Sagargupta16/agent-recipes★ 4same name
- Cure-Consulting-Group/ProductEngineeringSkills★ 3same name
- cryptofish7/claude-skills★ 1same name
- fideguch/my_pm_tools★ 1same name
- impeto-ai/claude-skills-impeto★ 1same name
- Ygohel18/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository164 other files it gives its agents.
- instrument-data-to-allotropeSkill
- literature-reviewSkill
- nextflow-developmentSkill
- scientific-problem-selectionSkill
- scvi-toolsSkill
- single-cell-rna-qcSkill
- discover-brandSkill
- enforce-voiceSkill
- generate-guidelinesSkill
- csat-reportSkill
- customer-escalationSkill
- customer-researchSkill
- draft-responseSkill
- kb-articleSkill
- sentiment-analysisSkill
- ticket-triageSkill
- analyzeSkill
- build-dashboardSkill
- create-vizSkill
- data-context-extractorSkill
- data-modelingSkill
- data-pipelineSkill
- etl-designSkill
- explore-dataSkill
- sql-queriesSkill
- statistical-analysisSkill
- validate-dataSkill
- write-querySkill
- accessibility-reviewSkill
- component-librarySkill
- design-critiqueSkill
- design-handoffSkill
- design-systemSkill
- frontend-designSkill
- research-synthesisSkill
- user-researchSkill
- ux-copySkill
- wireframingSkill
- Agent DevelopmentSkill
- CLAUDE.md ManagementSkill
- MCP Server BuilderSkill
- Plugin DevelopmentSkill
- Prompt EngineeringSkill
- Skill CreatorSkill
- curriculum-designSkill
- lesson-planningSkill
- quiz-generatorSkill
- study-guideSkill
- tutoringSkill
- api-designSkill
- architectureSkill
- code-reviewSkill
- database-migrationSkill
- debugSkill
- dependency-auditSkill
- deploy-checklistSkill
- documentationSkill
- error-handlingSkill
- git-workflowSkill
- incident-responseSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
28 rules. 0 are common, 18 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
18
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Detect platform: Look for .github/workflows/, .gitlab-ci.yml, Jenkinsfile, .circleci/config.yml.
- Very specific: line 36
Identify stack: Check package.json, requirements.txt, go.mod, Cargo.toml, pom.xml, Gemfile for language and dependency info.
- Distinctive: line 37
Review existing config: If a pipeline exists, read it fully to understand current stages, jobs, and pain points.
- Distinctive: line 38
Check build times: If debugging performance, look at recent run logs or timing annotations.
- Distinctive: line 39
Review secrets: Check for references to secrets/environment variables that need configuration.
- Distinctive: line 175
Use lock file hashes as cache keys for deterministic invalidation.
- Distinctive: line 179
Run lint, type-check, and unit tests in parallel (no dependencies between them).
- Distinctive: line 180
Use matrix builds for multi-version testing.
- Very specific: line 184
Use concurrency groups to cancel in-progress runs on the same PR.
- Very specific: line 186
Use actions/cache with proper cache keys to avoid re-downloading dependencies.
- Very specific: line 190
Use tools like turborepo, nx, or bazel for incremental/affected-only builds in monorepos.
- Distinctive: line 195
When a pipeline is failing:
- Very specific: line 198
Check for flaky tests: Look for tests that pass on retry (use --retry flags or rerun).
- Distinctive: line 200
Resource limits: Check for OOM kills, disk space issues, or timeout limits.
- Distinctive: line 201
Secret availability: Verify secrets are configured for the branch/environment.
- Distinctive: line 202
Dependency issues: Check for version mismatches, network failures during install.
- Distinctive: line 203
Permission issues: Verify the CI runner has access to required resources.
- Very specific: line 208
Add --frozen-lockfile (pnpm) or --immutable (yarn) to prevent lockfile changes.
- Very specific: line 249
Action: Read package.json, detect test/lint/build scripts, create a complete workflow YAML with caching, matrix testing, and deployment.
- Distinctive: line 252
Action: Read the workflow config and recent run logs, identify environment differences, suggest fixes.
- Distinctive: line 258
Action: Read the Jenkinsfile, map stages to GitHub Actions jobs, translate Groovy DSL to YAML, handle secret migration.
- Very specific: line 263
Use concurrency groups to cancel stale runs and save CI minutes.
- Very specific: line 264
Add timeout-minutes to every job to prevent hung builds from consuming resources.
- Distinctive: line 266
Use environment protection rules for production deployments (require approval).
- Distinctive: line 267
Add status badges to the README so build health is visible.
- Distinctive: line 269
Keep pipelines DRY with reusable workflows (GitHub Actions) or YAML anchors (GitLab CI).
- Distinctive: line 270
Run security scans (dependency audit, SAST) on every PR, not just main.
- Distinctive: line 271
Use artifact uploads to pass build outputs between jobs instead of rebuilding.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CI/CD Pipeline
Design, debug, and optimize CI/CD pipelines across major platforms. Covers workflow creation, build optimization, caching, parallelization, secret management, and deployment strategies.
Workflow
Step 1: Assess the Project
Gather context about the project and its CI/CD needs:
- Detect platform: Look for
.github/workflows/,.gitlab-ci.yml,Jenkinsfile,.circleci/config.yml. - Identify stack: Check
package.json,requirements.txt,go.mod,Cargo.toml,pom.xml,Gemfilefor language and dependency info. - Review existing config: If a pipeline exists, read it fully to understand current stages, jobs, and pain points.
- Check build times: If debugging performance, look at recent run logs or timing annotations.
- Review secrets: Check for references to secrets/environment variables that need configuration.
Step 2: Pipeline Design
Design or restructure the pipeline with these stages:
Standard Pipeline Stages:
- Lint & Format — Fast feedback on code style (eslint, prettier, black, gofmt)
- Type Check — Static analysis (TypeScript, mypy, flow)
- Unit Tests — Fast, isolated tests
- Build — Compile, bundle, or package
- Integration Tests — Tests requiring databases, APIs, or services
- Security Scan — Dependency audit, SAST, secret scanning
- Deploy to Staging — Automated deploy to preview environment
- E2E Tests — Full end-to-end tests against staging
- Deploy to Production — Gated production deployment
GitHub Actions Structure:
name: CI/CD
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- run: npm ci
- run: npm run lint
test:
runs-on: ubuntu-latest
needs: lint
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test -- --coverage
- uses: actions/upload-artifact@v4
with:
name: coverage-${{ matrix.node-version }}
path: coverage/
build:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- run: npm ci
- run: npm run build
- uses: actions/upload-artifact@v4
with:
name: build
path: dist/
deploy:
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/main'
environment: production
steps:
- uses: actions/download-artifact@v4
with:
name: build
path: dist/
- name: Deploy
run: echo "Deploy to production"GitLab CI Structure:
stages:
- lint
- test
- build
- deploy
variables:
NODE_VERSION: "20"
.node-setup:
image: node:${NODE_VERSION}
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
lint:
extends: .node-setup
stage: lint
script:
- npm ci
- npm run lint
test:
extends: .node-setup
stage: test
script:
- npm ci
- npm test -- --coverage
coverage: '/All files[^|]*\|[^|]*\s+([\d\.]+)/'
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: coverage/cobertura-coverage.xmlStep 3: Build Optimization
Apply these optimization techniques:
Caching strategies:
- Cache dependency directories (
node_modules/,.venv/,~/.m2/,~/.cache/go-build/). - Use lock file hashes as cache keys for deterministic invalidation.
- Layer caches: dependencies first (changes rarely), then build artifacts.
Parallelization:
- Run lint, type-check, and unit tests in parallel (no dependencies between them).
- Use matrix builds for multi-version testing.
- Split large test suites across parallel runners with test splitting tools.
Reducing redundant work:
- Use
concurrencygroups to cancel in-progress runs on the same PR. - Skip jobs when only docs or non-code files changed using path filters.
- Use
actions/cachewith proper cache keys to avoid re-downloading dependencies. - Build Docker images with multi-stage builds and layer caching.
Incremental builds:
- Use tools like
turborepo,nx, orbazelfor incremental/affected-only builds in monorepos. - Cache build outputs between runs when possible.
Step 4: Debugging Failures
When a pipeline is failing:
- Read the error output: Identify the exact command and error message.
- Check for flaky tests: Look for tests that pass on retry (use
--retryflags or rerun). - Environment differences: Compare CI environment with local (OS, Node version, env vars).
- Resource limits: Check for OOM kills, disk space issues, or timeout limits.
- Secret availability: Verify secrets are configured for the branch/environment.
- Dependency issues: Check for version mismatches, network failures during install.
- Permission issues: Verify the CI runner has access to required resources.
Common fixes:
npm ciinstead ofnpm installfor reproducible installs.- Pin action versions to full SHA hashes for security and reproducibility.
- Add
--frozen-lockfile(pnpm) or--immutable(yarn) to prevent lockfile changes. - Set
timeout-minuteson jobs to prevent hung builds.
Step 5: Deployment Strategies
Blue-Green Deployment: Two identical environments; switch traffic after verification. Canary Deployment: Route a percentage of traffic to the new version, monitor, then promote. Rolling Deployment: Gradually replace instances with the new version. Feature Flags: Deploy code behind flags, enable incrementally.
Output Format
## CI/CD Pipeline Configuration
### Platform: <platform>
### Stack: <language/framework>
### Pipeline Architecture
<stage diagram or description>
### Configuration
<full YAML/Groovy pipeline config>
### Optimization Notes
- Estimated build time: <duration>
- Caching: <what is cached and expected hit rate>
- Parallelization: <which jobs run in parallel>
### Secrets Required
| Secret Name | Purpose | Where to Configure |
|-------------|---------|-------------------|
| <name> | <purpose> | <location> |
### Deployment Strategy
<strategy with rollback procedure>Examples
User: "Set up GitHub Actions for my Node.js project" Action: Read package.json, detect test/lint/build scripts, create a complete workflow YAML with caching, matrix testing, and deployment.
User: "The build is failing on CI but works locally" Action: Read the workflow config and recent run logs, identify environment differences, suggest fixes.
User: "Our pipeline takes 20 minutes, can we speed it up?" Action: Analyze the current workflow, identify sequential jobs that can be parallelized, add caching, suggest path filters for skip conditions.
User: "Migrate from Jenkins to GitHub Actions" Action: Read the Jenkinsfile, map stages to GitHub Actions jobs, translate Groovy DSL to YAML, handle secret migration.
Best Practices
- Pin all action versions to full commit SHAs, not tags (prevents supply chain attacks).
- Use
concurrencygroups to cancel stale runs and save CI minutes. - Add
timeout-minutesto every job to prevent hung builds from consuming resources. - Store secrets in the platform's secret manager, never in the repo or pipeline config.
- Use environment protection rules for production deployments (require approval).
- Add status badges to the README so build health is visible.
- Set up notifications (Slack, email) for failed builds on the main branch only.
- Keep pipelines DRY with reusable workflows (GitHub Actions) or YAML anchors (GitLab CI).
- Run security scans (dependency audit, SAST) on every PR, not just main.
- Use artifact uploads to pass build outputs between jobs instead of rebuilding.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

