From indrasvat-skills
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/indrasvat-skills:ci-gateThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run every CI check locally. Fail fast, report everything.
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.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub indrasvat/claude-code-skills --plugin indrasvat-skills