Provides standards and guidance for setting up compliant CI/CD pipelines.

Install

mkdir -p .claude/skills/ci-zircote-plugins && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17302" && unzip -o skill.zip -d .claude/skills/ci-zircote-plugins && rm skill.zip

Installs to .claude/skills/ci-zircote-plugins

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

This skill should be used when the user asks about "CI pipeline", "continuous integration", "GitHub Actions", "CI configuration", "CI jobs", "workflow", "CI caching", "CI environment", "pipeline structure", or needs guidance on setting up or configuring CI/CD pipelines.
270 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Define required CI/CD job structures and order
  • Implement concurrency controls for CI runs
  • Enforce pinned action versions in GitHub Actions
  • Configure caching for dependencies and build artifacts
  • Set up multi-platform testing matrices
  • Manage CI environment variables and secrets

How it works

The skill provides standards and guidelines for implementing CI/CD pipelines, covering job order, concurrency, version pinning, caching, multi-platform testing, and environment configuration. It offers examples for GitHub Actions.

Inputs & outputs

You give it
A request for guidance on CI/CD pipeline setup or configuration
You get back
Guidance, checklists, and example YAML for compliant CI/CD pipelines, including job structures, concurrency, caching, and security

When to use ci

  • Setting up CI pipelines
  • Configuring CI jobs
  • Implementing CI caching strategies

About this skill

CI/CD Standards

Guidance for implementing compliant CI/CD pipelines that meet SDLC requirements.

Tooling

Available Tools: If using Claude Code, the gh:ci-assist skill can help migrate and configure CI pipelines. Also see gh:migrate for CI/CD migration from other platforms.

Pipeline Trigger Requirements

When CI MUST Run

CI MUST run on:

  • All pull requests to protected branches
  • All pushes to protected branches (develop, main)
  • Scheduled intervals (daily/weekly for security scans)

Concurrency Controls (MUST)

CI MUST implement concurrency controls to cancel superseded runs:

# GitHub Actions example
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

Required Pipeline Jobs

Job Order (MUST)

CI pipelines MUST include these jobs in order:

OrderJobPurposeRequired
1Format checkVerify code formattingMUST
2LintStatic analysis with errorsMUST
3TestRun all testsMUST
4DocumentationVerify docs buildMUST
5Security auditCheck for vulnerabilitiesMUST
6MSV checkVerify minimum version supportMUST
7CoverageMeasure test coverageSHOULD
8BenchmarksPerformance regression checkSHOULD

All Jobs Must Pass (MUST)

All CI jobs MUST pass before a PR can be merged. Configure branch protection to enforce this.

CI Configuration Requirements

Pinned Action Versions (MUST)

CI workflows MUST use pinned action versions. Prefer commit SHAs over tags:

# Good - SHA pinned
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0

# Acceptable - tag pinned
- uses: actions/[email protected]

# Bad - floating tag
- uses: actions/checkout@v4

Caching (MUST)

CI MUST cache dependencies and build artifacts:

# Example: Rust caching
- uses: actions/cache@v4
  with:
    path: |
      ~/.cargo/bin/
      ~/.cargo/registry/index/
      ~/.cargo/registry/cache/
      target/
    key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

Multi-Platform Testing (MUST)

CI MUST test on all supported operating systems and architectures:

strategy:
  matrix:
    os: [ubuntu-latest, macos-latest, windows-latest]
    # Add architecture if cross-compiling

CI Environment Requirements

Explicit Configuration (MUST)

CI environment variables MUST be explicitly configured (no reliance on runner defaults):

env:
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1
  CI: true

Secrets Management (MUST)

Sensitive values MUST be stored as secrets, never in workflow files:

# Good
env:
  API_KEY: ${{ secrets.API_KEY }}

# Bad - never do this
env:
  API_KEY: "sk-abc123..."

Minimal Permissions (MUST)

CI MUST use minimal permissions (principle of least privilege):

permissions:
  contents: read
  pull-requests: write # Only if needed

Implementation Checklist

  • Configure CI to run on PRs and protected branch pushes
  • Set up scheduled security scans
  • Implement all required jobs in correct order
  • Pin action versions (preferably SHA)
  • Configure caching for dependencies
  • Set up multi-platform matrix
  • Explicitly configure environment variables
  • Store secrets securely
  • Apply minimal permissions
  • Enable concurrency controls

Compliance Verification

# Verify CI workflow exists
ls -la .github/workflows/

# Check for pinned versions (should see SHA or exact version)
grep -E "uses:.*@" .github/workflows/*.yml

# Verify permissions are set
grep -A5 "permissions:" .github/workflows/*.yml

# Check for secrets usage (should not see hardcoded values)
grep -E "(API_KEY|TOKEN|SECRET)" .github/workflows/*.yml

GitHub Actions Workflow Template

name: CI

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main, develop]
  schedule:
    - cron: "0 0 * * *" # Daily security scan

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

permissions:
  contents: read

env:
  CI: true

jobs:
  format:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Check formatting
        run: make format-check

  lint:
    runs-on: ubuntu-latest
    needs: format
    steps:
      - uses: actions/checkout@v4
      - name: Lint
        run: make lint-strict

  test:
    runs-on: ${{ matrix.os }}
    needs: lint
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - uses: actions/checkout@v4
      - name: Test
        run: make test

  security:
    runs-on: ubuntu-latest
    needs: test
    steps:
      - uses: actions/checkout@v4
      - name: Security audit
        run: make audit

See references/ci-workflows.md for complete workflow templates.

Additional Resources

Reference Files

  • references/ci-workflows.md - Complete CI workflow templates
  • references/ci-caching.md - Caching strategies by language

Examples

  • examples/ci-rust.yml - Rust CI workflow
  • examples/ci-typescript.yml - TypeScript CI workflow
  • examples/ci-python.yml - Python CI workflow
  • examples/ci-java.yml - Java CI workflow

When not to use it

  • When the user is not asking about CI pipelines, GitHub Actions, or CI configuration
  • When the task is not related to setting up or configuring CI/CD pipelines

Limitations

  • Does not directly execute CI/CD pipeline creation or modification
  • Requires manual application of guidelines and templates
  • Does not provide real-time validation of CI configurations

How it compares

This skill standardizes CI/CD pipeline implementation by providing a complete set of rules and templates, ensuring compliance with SDLC requirements more consistently than ad-hoc configurations.

Compared to similar skills

ci side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
ci (this skill)05moReviewIntermediate
turborepo611moReviewIntermediate
bazel-build-optimization142moNo flagsAdvanced
ml-pipeline-workflow94moNo flagsAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

turborepo

vercel

Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines, dependsOn, caching, remote cache, the "turbo" CLI, --filter, --affected, CI optimization, environment variables, internal packages, monorepo structure/best practices, and boundaries. Use when user: configures tasks/workflows/pipelines, creates packages, sets up monorepo, shares code between apps, runs changed/affected packages, debugs cache, or has apps/packages directories.

61191

bazel-build-optimization

wshobson

Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.

14116

ml-pipeline-workflow

wshobson

Build end-to-end MLOps pipelines from data preparation through model training, validation, and production deployment. Use when creating ML pipelines, implementing MLOps practices, or automating model training and deployment workflows.

995

linkerd-patterns

wshobson

Implement Linkerd service mesh patterns for lightweight, security-focused service mesh deployments. Use when setting up Linkerd, configuring traffic policies, or implementing zero-trust networking with minimal overhead.

672

deployment-pipeline-design

wshobson

Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration. Use when architecting deployment workflows, setting up continuous delivery, or implementing GitOps practices.

670

glab

NikiforovAll

Expert guidance for using the GitLab CLI (glab) to manage GitLab issues, merge requests, CI/CD pipelines, repositories, and other GitLab operations from the command line. Use this skill when the user needs to interact with GitLab resources or perform GitLab workflows.

664

Search skills

Search the agent skills registry