ci-fixer

Debug and fix CI/CD pipeline failures. Analyze workflow logs, identify issues, and apply fixes. Use when CI is failing, build errors occur, tests fail in CI, or pipeline is broken.

allowed_tools: Read, Grep, Glob, Bash

$ 安裝

git clone https://github.com/jamesjlundin/full-stack-web-and-mobile-template /tmp/full-stack-web-and-mobile-template && cp -r /tmp/full-stack-web-and-mobile-template/.claude/skills/ci-fixer ~/.claude/skills/full-stack-web-and-mobile-template

// tip: Run this command in your terminal to install the skill


name: ci-fixer description: Debug and fix CI/CD pipeline failures. Analyze workflow logs, identify issues, and apply fixes. Use when CI is failing, build errors occur, tests fail in CI, or pipeline is broken. allowed-tools: Read, Grep, Glob, Bash

CI Fixer

Diagnoses and fixes CI/CD pipeline failures.

When to Use

  • "CI is failing"
  • "Build broke"
  • "Tests fail in CI but pass locally"
  • "Pipeline error"
  • "Deploy failed"

CI Workflows

WorkflowTriggerPurpose
ci.ymlPR, pushTypecheck, lint, build, test
deploy.ymlpush to mainMigrations, Vercel deploy
evals.ymlPR, pushLLM evaluations
ios-testflight.ymlmanualiOS deployment

Common Failures

1. TypeScript Errors

Symptom: tsc --noEmit fails

Diagnosis:

pnpm typecheck

Fixes:

  • Add missing type annotations
  • Fix type mismatches
  • Update type imports

2. ESLint Errors

Symptom: eslint . fails

Diagnosis:

pnpm lint

Auto-fix:

pnpm eslint . --fix
pnpm format

3. Build Failures

Symptom: pnpm -C apps/web build fails

Common causes:

  • Missing environment variables
  • Import errors
  • TypeScript errors not caught by tsc

Diagnosis:

pnpm -C apps/web build

4. Integration Test Failures

Symptom: pnpm test:integration fails

Common causes:

  • Database not running
  • Server not started
  • Rate limiting (disable in CI)
  • Missing test user

CI-specific:

  • Uses GitHub Actions PostgreSQL service
  • DISABLE_RATE_LIMIT=true
  • ALLOW_DEV_TOKENS=true

5. Migration Failures

Symptom: migrate:apply fails in deploy

Common causes:

  • Schema mismatch
  • Missing migration file
  • Database connection error

Diagnosis:

pnpm -C packages/db migrate:apply

6. Dependency Issues

Symptom: pnpm install fails

Fixes:

rm -rf node_modules pnpm-lock.yaml
pnpm install

Procedure

Step 1: Identify Failing Workflow

Check which workflow failed and what step.

Step 2: Read Workflow File

Read: .github/workflows/{workflow}.yml

Step 3: Reproduce Locally

Run the exact commands from the workflow:

# For ci.yml
pnpm install
pnpm tsc --noEmit
pnpm eslint .
pnpm -C apps/web build
pnpm -C packages/db migrate:apply
pnpm test:integration

Step 4: Check Environment

CI uses specific environment variables:

  • DATABASE_URL - PostgreSQL connection
  • DISABLE_RATE_LIMIT=true
  • ALLOW_DEV_TOKENS=true

Step 5: Apply Fix

Based on diagnosis, apply appropriate fix.

Step 6: Verify

Run full CI check locally:

pnpm typecheck && pnpm lint && pnpm -C apps/web build

Environment Differences

LocalCI
Docker PostgreSQLGitHub Actions service
Docker RedisGitHub Actions service
Manual server startwait-on + background
Rate limiting enabledDISABLE_RATE_LIMIT=true
Real tokensALLOW_DEV_TOKENS=true

Guardrails

  • DO NOT modify workflow files without understanding impact
  • DO NOT bypass failing checks without fixing root cause
  • Always reproduce failure locally before fixing
  • If fix is unclear, describe findings and ask for guidance