
Ci Cd And Automation
Stand up or extend automated lint, typecheck, test, and deploy gates so every PR is verified before merge and release.
Overview
CI/CD and Automation is an agent skill for the Ship phase that designs and modifies automated lint, test, typecheck, and deployment pipelines so every change is verified before merge and release.
Install
npx skills add https://github.com/addyosmani/agent-skills --skill ci-cd-and-automationWhat is this skill?
- Defines a ordered quality-gate pipeline on every pull request (lint, type check, tests, build)
- Shift-left guidance: catch defects earlier in the pipeline to cut production incident cost
- Covers new pipeline setup, adding checks, deployment configuration, and debugging CI failures
- Frames smaller, frequent releases as lower-risk than large batch deploys
- Four named pre-merge gates: lint, type check, tests, and build in sequence
Adoption & trust: 4k installs on skills.sh; 49.1k GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You ship features quickly with agents but lack a repeatable gate that catches lint, type, test, and build failures on every PR.
Who is it for?
Indie SaaS or API repos adopting GitHub Actions (or similar) and wanting a clear default pipeline from PR open to deploy.
Skip if: Teams with no automated tests yet who need test authoring first—add tests before treating CI as the only safety net.
When should I use this skill?
Setting up or modifying build and deployment pipelines; automating quality gates, CI test runners, or deployment strategies; debugging CI failures.
What do I get? / Deliverables
You get a documented gate order and CI/CD changes that enforce checks on each change and support safer, smaller production releases.
- CI workflow configuration
- Ordered quality-gate checklist for PRs
- Deployment stage definitions
Recommended Skills
Journey fit
CI/CD is the enforcement layer for quality and release readiness—canonical home is Ship where automated verification blocks bad changes before production. The skill centers on pre-merge quality gates (lint → typecheck → tests) which map directly to the testing subphase, with deployment as a downstream gate.
How it compares
Procedural pipeline design for your repo—not a hosted CI product or MCP server that runs builds for you.
Common Questions / FAQ
Who is ci-cd-and-automation for?
Solo builders and tiny teams shipping web apps, APIs, or CLIs who want agent help wiring quality gates and deploy steps into CI.
When should I use ci-cd-and-automation?
Use when creating a new project's CI, adding automated checks, changing deployment flows, expecting verification on agent-made changes, or fixing broken pipeline jobs.
Is ci-cd-and-automation safe to install?
Review the Security Audits panel on this Prism page and treat any skill that suggests shell or git changes in CI as something you apply in a branch with least-privilege secrets.
SKILL.md
READMESKILL.md - Ci Cd And Automation
# CI/CD and Automation ## Overview Automate quality gates so that no change reaches production without passing tests, lint, type checking, and build. CI/CD is the enforcement mechanism for every other skill — it catches what humans and agents miss, and it does so consistently on every single change. **Shift Left:** Catch problems as early in the pipeline as possible. A bug caught in linting costs minutes; the same bug caught in production costs hours. Move checks upstream — static analysis before tests, tests before staging, staging before production. **Faster is Safer:** Smaller batches and more frequent releases reduce risk, not increase it. A deployment with 3 changes is easier to debug than one with 30. Frequent releases build confidence in the release process itself. ## When to Use - Setting up a new project's CI pipeline - Adding or modifying automated checks - Configuring deployment pipelines - When a change should trigger automated verification - Debugging CI failures ## The Quality Gate Pipeline Every change goes through these gates before merge: ``` Pull Request Opened │ ▼ ┌─────────────────┐ │ LINT CHECK │ eslint, prettier │ ↓ pass │ │ TYPE CHECK │ tsc --noEmit │ ↓ pass │ │ UNIT TESTS │ jest/vitest │ ↓ pass │ │ BUILD │ npm run build │ ↓ pass │ │ INTEGRATION │ API/DB tests │ ↓ pass │ │ E2E (optional) │ Playwright/Cypress │ ↓ pass │ │ SECURITY AUDIT │ npm audit │ ↓ pass │ │ BUNDLE SIZE │ bundlesize check └─────────────────┘ │ ▼ Ready for review ``` **No gate can be skipped.** If lint fails, fix lint — don't disable the rule. If a test fails, fix the code — don't skip the test. ## GitHub Actions Configuration ### Basic CI Pipeline ```yaml # .github/workflows/ci.yml name: CI on: pull_request: branches: [main] push: branches: [main] jobs: quality: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' cache: 'npm' - name: Install dependencies run: npm ci - name: Lint run: npm run lint - name: Type check run: npx tsc --noEmit - name: Test run: npm test -- --coverage - name: Build run: npm run build - name: Security audit run: npm audit --audit-level=high ``` ### With Database Integration Tests ```yaml integration: runs-on: ubuntu-latest services: postgres: image: postgres:16 env: POSTGRES_DB: testdb POSTGRES_USER: ci_user POSTGRES_PASSWORD: ${{ secrets.CI_DB_PASSWORD }} ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' cache: 'npm' - run: npm ci - name: Run migrations run: npx prisma migrate deploy env: DATABASE_URL: postgresql://ci_user:${{ secrets.CI_DB_PASSWORD }}@localhost:5432/testdb - name: Integration tests run: npm run test:integration env: DATABASE_URL: postgresql://ci_user:${{ secrets.CI_DB_PASSWORD }}@localhost:5432/testdb ``` > **Note:** Even for CI-only test databases, use GitHub Secrets for credentials rather than hardcoding values. This builds good habits and prevents accidental reuse of test credentials in other contexts. ### E2E Tests ```yaml e2e: runs-on: ubuntu-latest steps: - uses