Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
agentmorpheus77 avatar

Cicd Pipeline

  • 1 installs
  • Updated April 5, 2026
  • agentmorpheus77/agent-harness-platform

cicd-pipeline is a Claude Code skill for implementing and reviewing CI/CD pipelines in GitHub Actions with quality gates, deploys, and rollback.

About

A Claude Code skill for implementing and reviewing CI/CD pipelines with GitHub Actions. It covers parallel CI jobs, code-quality gates, bundle-size monitoring, environment variables, database migrations in CI, preview deployments, and rollback strategies. A developer uses it when setting up automated testing and deployment for a project.

  • GitHub Actions CI and deploy workflows with parallel lint, test, build, and e2e jobs
  • Quality gates: ESLint, strict TypeScript, bundle-size limits, and DB migration steps
  • Preview deploys, post-deploy health checks, and a rollback workflow

Cicd Pipeline by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,172 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Data as of Jul 7, 2026 (Skillselion catalog sync)
At a glance

cicd-pipeline capabilities & compatibility

Capabilities
ci cd setup · test automation · deployment · rollback
Works with
github · vercel · playwright · sentry
Use cases
ci cd · testing · devops
Pricing
Free
From the docs

What cicd-pipeline says it does

Fail Fast** — run quick checks (lint, types) before expensive ones (tests, build)
SKILL.md
Monitor After Deploy** — verify health after every deployment
SKILL.md
npx skills add https://github.com/agentmorpheus77/agent-harness-platform --skill cicd-pipeline

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
Last updatedApril 5, 2026
Repositoryagentmorpheus77/agent-harness-platform

What it does

Set up GitHub Actions CI/CD with quality gates, deploys, health checks, and rollback.

Who is it for?

Setting up or reviewing GitHub Actions CI/CD with quality gates and safe deploys.

Skip if: Non-GitHub CI systems without adaptation.

When should I use this skill?

Implementing or reviewing CI/CD pipelines, GitHub Actions workflows, or rollback strategies.

What you get

A GitHub Actions pipeline that lints, tests, builds, deploys with health checks, and can roll back.

  • CI workflow
  • Deploy workflow
  • Rollback workflow

By the numbers

  • Defines 5 core CI/CD principles (Automate Everything, Fail Fast, Keep Pipelines Fast, Make Deployments Safe, Monitor Aft

Files

SKILL.mdMarkdownGitHub ↗

CI/CD Pipeline

Core Principles

1. Automate Everything — manual processes are error-prone; automate testing, building, deploying 2. Fail Fast — run quick checks (lint, types) before expensive ones (tests, build) 3. Keep Pipelines Fast — feedback within minutes, not hours; use parallel jobs 4. Make Deployments Safe — preview environments, smoke tests, rollback strategy ready 5. Monitor After Deploy — verify health after every deployment

GitHub Actions — CI Workflow

# .github/workflows/ci.yml
name: CI

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

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  # Run in parallel for speed
  lint:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20', cache: 'npm' }
      - run: npm ci
      - run: npm run lint
      - run: npm run type-check

  test:
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20', cache: 'npm' }
      - run: npm ci
      - run: npm run test:coverage
      - uses: codecov/codecov-action@v4
        with:
          files: ./coverage/coverage-final.json

  build:
    needs: [lint, test]
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20', cache: 'npm' }
      - run: npm ci
      - run: npm run build
        env:
          VITE_API_URL: ${{ secrets.VITE_API_URL }}
      - uses: actions/upload-artifact@v4
        with: { name: build, path: dist/, retention-days: 7 }

  e2e:
    needs: [build]
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20', cache: 'npm' }
      - run: npm ci
      - run: npx playwright install --with-deps
      - run: npm run test:e2e
      - uses: actions/upload-artifact@v4
        if: always()
        with: { name: playwright-report, path: playwright-report/ }

Deployment Workflow

# .github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy-production:
    runs-on: ubuntu-latest
    environment:
      name: production
      url: https://your-app.com

    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20', cache: 'npm' }
      - run: npm ci && npm test
      - run: npm run build
        env:
          NODE_ENV: production
          VITE_API_URL: ${{ secrets.PROD_API_URL }}
      - name: Deploy
        run: | # Replace with your deploy command (Railway, Vercel, Docker, etc.)
          npx vercel --prod --token ${{ secrets.VERCEL_TOKEN }}
      - name: Verify health
        run: |
          sleep 10
          curl -f https://your-app.com/health || exit 1

Code Quality Gates

// .eslintrc.cjs
module.exports = {
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:react-hooks/recommended',
  ],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'warn',
    '@typescript-eslint/no-explicit-any': 'error',
    '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
    'react-hooks/rules-of-hooks': 'error',
    'react-hooks/exhaustive-deps': 'warn',
  },
};
// tsconfig.json — enforce strict mode
{
  "compilerOptions": {
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true
  }
}

Bundle Size Monitoring

# .github/workflows/bundle-size.yml
name: Bundle Size

on:
  pull_request:
    branches: [main]

jobs:
  size:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm run build
      - uses: andresz1/size-limit-action@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
// package.json
{
  "size-limit": [
    { "name": "Main bundle", "path": "dist/assets/index-*.js", "limit": "200 KB" },
    { "name": "CSS", "path": "dist/assets/index-*.css", "limit": "50 KB" }
  ]
}

Environment Variables

# GitHub Secrets (Settings → Secrets → Actions)
# Required secrets — adjust per project:
PROD_API_URL          # Production API base URL
STAGING_API_URL       # Staging API base URL
VERCEL_TOKEN          # Deployment token
SENTRY_AUTH_TOKEN     # Error monitoring
// src/config/env.ts — validate at startup
import { z } from 'zod';

const envSchema = z.object({
  VITE_API_URL: z.string().url(),
  VITE_ENV: z.enum(['development', 'staging', 'production']),
});

export const env = envSchema.parse(import.meta.env);

Database Migrations in CI

# Only run when migration files change
on:
  push:
    paths: ['migrations/**']

jobs:
  migrate:
    steps:
      - run: npm run db:migrate:staging
      - run: npm run db:migrate # production, only on main

Rollback Strategy

# .github/workflows/rollback.yml
name: Rollback

on:
  workflow_dispatch:
    inputs:
      version:
        description: 'Version to rollback to (e.g., v1.2.0)'
        required: true

jobs:
  rollback:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - uses: actions/checkout@v4
        with: { ref: ${{ inputs.version }} }
      - run: npm ci && npm run build
        env: { VITE_API_URL: ${{ secrets.PROD_API_URL }} }
      - name: Deploy rollback version
        run: npx vercel --prod --token ${{ secrets.VERCEL_TOKEN }}
# Manual rollback steps
git tag | sort -V | tail -5          # Find last good version
# Trigger rollback workflow via GitHub UI → Actions → Rollback

Best Practices

DO:

  • Run tests before every deployment
  • Use separate environments (dev → staging → production)
  • Implement code quality gates (lint, type-check, coverage)
  • Monitor bundle size on PRs
  • Use preview deployments for PRs
  • Run migrations before app deployment
  • Implement health checks post-deploy
  • Tag all production releases
  • Have rollback strategy ready and tested

DON'T:

  • Don't skip tests to deploy faster
  • Don't commit secrets to repository
  • Don't deploy directly to production without staging
  • Don't ignore failing tests or lint errors
  • Don't deploy without smoke tests
  • Don't ignore bundle size increases

Common Pitfalls

# BAD — missing env vars, build fails silently
- run: npm run build

# GOOD — explicitly pass required vars
- run: npm run build
  env:
    VITE_API_URL: ${{ secrets.VITE_API_URL }}

# BAD — sequential jobs (45 min)
- run: npm run test:unit
- run: npm run test:integration
- run: npm run test:e2e

# GOOD — parallel jobs (15 min)
jobs:
  unit: { steps: [{ run: npm run test:unit }] }
  integration: { steps: [{ run: npm run test:integration }] }
  e2e: { needs: [unit, integration], steps: [{ run: npm run test:e2e }] }

When to Use This Skill

  • Setting up a new project (configure CI early)
  • Adding new deployment targets
  • Improving pipeline speed
  • Adding quality gates
  • Handling production incidents (use rollback workflow)
  • Code reviews (verify CI passes)

Related skills

FAQ

What quality gates are included?

ESLint, strict TypeScript compiler options, and bundle-size limits enforced via size-limit-action.

How does it handle failed deploys?

A workflow_dispatch rollback workflow checks out a target version and redeploys, plus post-deploy health checks.

DevOps & CI/CDdeploymonitoring

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.