indrasvat/claude-code-skills · Archived

ci-gate

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.

First seen Jun 15, 2026

Installation

$ npx skills add indrasvat/claude-code-skills --skill ci-gate

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from indrasvat/claude-code-skills · top by installs.

npx skills add indrasvat/claude-code-skills

Browse all from indrasvat/claude-code-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 3
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, Read, Edit, Write, Glob
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,852 B
  • docs SUMMARY.md 406 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

CI Gate

Run every CI check locally. Fail fast, report everything.

1. Detect project types

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.

2. Prerequisites

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.

3. Execution

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.

4. Output

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.

5. --fix mode

If $ARGUMENTS contains --fix, run auto-fix variants BEFORE the regular checks:

  • Go: golangci-lint run --fix ./...
  • JS/TS: <pm> run lint -- --fix (the -- is required for npm to forward args) or turbo run lint -- --fix
  • Rust: cargo clippy --fix --allow-dirty -- -D warnings
  • Python: ruff check --fix ., ruff format .

Then re-run all checks to verify fixes. Without --fix, change nothing.

6. Idempotency

Without --fix: read-only, no side effects. With --fix: changes are visible via git diff.

Check $ARGUMENTS for flags.