skills/ci-gate/SKILL.md
Run all CI checks locally before pushing — linters, type checks, tests, and vulnerability scans in parallel with a pass/fail summary table. Use when the user says "run CI", "check before push", "run all tests", "lint check", "pre-push checks", "validate before PR", "CI gate", "does it pass CI", "is it clean", "run checks", or wants to verify the project builds and passes before pushing.
npx skillsauth add indrasvat/claude-code-skills ci-gateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run every CI check locally. Fail fast, report everything.
Look for marker files in the working directory:
| Marker | Stack | Checks |
|--------|-------|--------|
| go.mod | Go | go vet ./..., golangci-lint run ./..., go test -race -count=1 ./..., govulncheck ./... |
| package.json | JS/TS | lint, typecheck, test (detect pm: bun.lockb->bun, pnpm-lock.yaml->pnpm, yarn.lock->yarn, else npm). If turbo.json exists, use turbo run lint typecheck test instead. |
| Cargo.toml | Rust | cargo clippy -- -D warnings, cargo test, cargo audit |
| pyproject.toml | Python | ruff check ., ruff format --check ., python -m pytest |
If multiple markers exist, run checks for ALL detected stacks.
Before running, command -v check every tool needed for the detected stack(s). Collect ALL missing tools into a single list and report them together. If a critical tool is missing (go, cargo, node, python), stop and tell the user. If only optional tools are missing (golangci-lint, govulncheck, cargo-audit, turbo), warn but continue without those checks.
Run all checks for all detected stacks in parallel using background jobs in a single Bash call. Capture each check's exit code, wall-clock duration (via SECONDS), and stderr/stdout.
Print a summary table FIRST:
| Check | Status | Duration |
|----------------------------|--------|----------|
| go vet ./... | PASS | 2.1s |
| cargo clippy -- -D warnings| FAIL | 5.4s |
For any FAIL row, print its full error output below the table. Exit with code 1 if any check failed, 0 if all passed.
If $ARGUMENTS contains --fix, run auto-fix variants BEFORE the regular checks:
golangci-lint run --fix ./...<pm> run lint -- --fix (the -- is required for npm to forward args) or turbo run lint -- --fixcargo clippy --fix --allow-dirty -- -D warningsruff check --fix ., ruff format .Then re-run all checks to verify fixes. Without --fix, change nothing.
Without --fix: read-only, no side effects. With --fix: changes are visible via git diff.
Check $ARGUMENTS for flags.
development
Fetch, categorize, and address PR review comments in priority order. Classifies each comment as BLOCKER, QUESTION, SUGGESTION, or NITPICK and works through blockers first. Use when the user says "address PR comments", "fix review feedback", "respond to PR", "handle review comments", "triage PR", "what does the reviewer want", "address feedback", "PR comments", "review feedback", or needs to work through pull request review comments systematically.
testing
Create a pull request with a standards compliance review gate. Reviews the diff against CLAUDE.md and repo conventions before creating the PR, stopping on discrepancies. Supports tiered PR templates (small, standard, complex). Use when the user says "create PR", "open PR", "ship it", "ship PR", "make a pull request", "push and PR", "ready for review", "send for review", "create a pull request", or wants to create a GitHub pull request from the current branch.
testing
Verify Kubernetes deployment health — pod status, rollout progress, events, readiness, HPA state, and recent errors. Use when the user says "check rollout", "is deploy healthy", "rollout status", "deployment health", "pod status", "check pods", "why is deploy failing", "k8s health", "verify deployment", "are pods ready", "check deployment", or wants to verify a Kubernetes deployment is healthy after a rollout.
documentation
Generate comprehensive Product Requirements Documents with interactive discovery, progress tracking, and True Ralph Loop support for autonomous implementation. Use when user wants to (1) create a PRD for a new project/feature, (2) implement a PRD autonomously with fresh Claude sessions, (3) track implementation progress, (4) recover context after session loss. Creates docs/PRD.md and docs/PROGRESS.md.