agentleFS
glinckerglincker/claude-code-marketplace/skills/devops/cicd-pipeline-builder/SKILL.md

cicd-pipeline-builder

Skill37 starsChanged 12 months agoApache-2.0View on GitHub

Generate CI/CD pipelines for GitHub Actions, GitLab CI, Jenkins with best practices

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Matrix testing: Test multiple versions

    line 246
  2. Distinctive:

    Environment secrets: Use platform secrets management

    line 250
  3. Distinctive:

    Test job with matrix (Node 18, 20, 21)

    line 266

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

CI/CD Pipeline Builder

Generate complete CI/CD pipelines for GitHub Actions, GitLab CI, or Jenkins. Includes testing, building, security scanning, and deployment stages with caching and optimization.

What This Skill Does

  • Generates platform-specific CI/CD configs
  • Includes testing, linting, building stages
  • Adds security scanning (SAST, dependency checks)
  • Implements caching for faster builds
  • Creates deployment workflows
  • Matrix testing for multiple versions

Supported Platforms

  • GitHub Actions (most popular)
  • GitLab CI/CD
  • Jenkins
  • CircleCI

Instructions

GitHub Actions Example

.github/workflows/ci.yml:

name: CI/CD Pipeline

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

env:
  NODE_VERSION: '20'

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18, 20, 21]
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

      - name: Run linter
        run: npm run lint

      - name: Run tests
        run: npm test -- --coverage

      - name: Upload coverage
        uses: codecov/codecov-action@v3
        with:
          files: ./coverage/lcov.info

  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run security audit
        run: npm audit --audit-level=moderate

      - name: CodeQL Analysis
        uses: github/codeql-action/analyze@v3

  build:
    needs: [test, security]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: ${{ env.NODE_VERSION }}
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

      - name: Build
        run: npm run build

      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: build-artifacts
          path: dist/

  deploy:
    needs: build
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main'
    environment: production
    steps:
      - uses: actions/checkout@v4

      - name: Download artifacts
        uses: actions/download-artifact@v4
        with:
          name: build-artifacts
          path: dist/

      - name: Deploy to production
        run: |
          echo "Deploying to production..."
          # Add your deployment commands here

GitLab CI Example

.gitlab-ci.yml:

stages:
  - test
  - build
  - deploy

variables:
  NODE_VERSION: "20"

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/
    - .npm/

test:
  stage: test
  image: node:${NODE_VERSION}
  script:
    - npm ci --cache .npm --prefer-offline
    - npm run lint
    - npm test -- --coverage
  coverage: '/Lines\s*:\s*(\d+\.\d+)%/'
  artifacts:
    reports:
      coverage_report:
        coverage_format: cobertura
        path: coverage/cobertura-coverage.xml

security:
  stage: test
  image: node:${NODE_VERSION}
  script:
    - npm audit --audit-level=moderate
  allow_failure: true

build:
  stage: build
  image: node:${NODE_VERSION}
  script:
    - npm ci --cache .npm --prefer-offline
    - npm run build
  artifacts:
    paths:
      - dist/
    expire_in: 1 week

deploy:production:
  stage: deploy
  image: alpine:latest
  script:
    - echo "Deploying to production..."
    # Add deployment commands
  only:
    - main
  environment:
    name: production
    url: https://example.com

Advanced Features

Docker Build & Push

build-docker:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v4

    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v3

    - name: Login to DockerHub
      uses: docker/login-action@v3
      with:
        username: ${{ secrets.DOCKERHUB_USERNAME }}
        password: ${{ secrets.DOCKERHUB_TOKEN }}

    - name: Build and push
      uses: docker/build-push-action@v5
      with:
        context: .
        push: true
        tags: |
          myapp:latest
          myapp:${{ github.sha }}
        cache-from: type=gha
        cache-to: type=gha,mode=max

Multi-Environment Deployments

deploy-staging:
  if: github.ref == 'refs/heads/develop'
  environment:
    name: staging
    url: https://staging.example.com

deploy-production:
  if: github.ref == 'refs/heads/main'
  needs: [deploy-staging]
  environment:
    name: production
    url: https://example.com

Best Practices

  1. Caching: Cache dependencies for faster builds
  2. Matrix testing: Test multiple versions
  3. Security scanning: Include SAST tools
  4. Artifacts: Save build outputs
  5. Branch protection: Require CI pass before merge
  6. Environment secrets: Use platform secrets management

Tool Requirements

  • Read: Analyze project structure
  • Write: Generate workflow files
  • Glob: Find project files
  • Grep: Detect frameworks

Examples

Example 1: Node.js Project

User: "Generate GitHub Actions CI/CD"

Output:

  • Test job with matrix (Node 18, 20, 21)
  • Lint and test stages
  • Security audit
  • Build and deploy

Example 2: Python Project

User: "Create GitLab CI for Python"

Output:

  • Pytest with coverage
  • Black formatting check
  • Pylint static analysis
  • Docker image build

Changelog

Version 1.0.0

  • GitHub Actions support
  • GitLab CI support
  • Matrix testing
  • Security scanning
  • Docker build integration

Author

GLINCKER Team

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

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.