Skip to content
Back to skills

Gate

ASecurity

**MANDATORY before every commit and push.** All gates must pass — Gates 1–3 always run; Gates 4 (Docker) and 5 (Cloud) run only when applicable. Do NOT proceed if any gate fails — fix the issue first.

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentstypescriptpythongobashsqldockerawsgcpterraformgit

Works with

  • cursor
  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 11, 2026

npx -y skills add rajitsaha/100xprism --skill gate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rajitsaha-gate/badge)](https://www.skillsdirectory.com/skills/rajitsaha-gate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gate
description: **MANDATORY before every commit and push.** All gates must pass — Gates 1–3 always run; Gates 4 (Docker) and 5 (Cloud) run only when applicable. Do NOT proceed if any gate fails — fix the issue first.
category: quality
tier: core
slash_command: /gate
---

# Gate — Pre-Commit Quality Gate

**MANDATORY before every commit and push.** Gates 1–3 always run; Gates 4 (Docker) and 5 (Cloud) only when applicable. Do NOT ask for permission, skip gates, or continue past a failure — if any gate fails: STOP, fix, re-run the gate.

## How to run the gates (fan out the independent ones)

Gate 1 (the coverage loop) is the long pole — start it first and let it finish. Gates 2–5 (**security, build, docker, cloud-security**) are mutually independent, so run them in parallel using the fan-out ladder from the `subagents` skill: prefer the `Workflow` tool (one stage per gate, `schema`-validated return), else parallel `Agent`/`Task` subagents, else serial. Each gate subagent returns a structured verdict:

```json
{ "gate": "security", "status": "passed|failed|skipped", "severity": "critical|high|none", "findings": ["..."] }
```

The parent **reduces** the verdicts into the summary below: any `failed` with critical/high severity ⇒ overall FAILED. Cache each verdict keyed on the **tree hash** (`git write-tree` + clean-tree check) — the same key the `gate-pass.py` token uses (see *Record the pass*) — so a re-run on an unchanged tree reuses the verdict. Never reuse a verdict across a changed tree.

## Gate 1 — Test Coverage (≥ 95%)

Run the **test** workflow, ALL test layers (unit, integration, E2E if configured).

- Lines ≥ 95% | Functions ≥ 95% | Statements ≥ 95% | Branches ≥ 90%
- Zero failing tests

## Gate 2 — Security (no critical, no high)

Run the **security** workflow across every package manager found in the project.

- **Zero critical, zero high vulnerabilities**; no real secrets in tracked files
- Known exceptions count only if explicitly documented in the project's `/security` override (e.g. install-time-only transitive deps); when in doubt, treat as blocking

## Gate 3 — Local Build

Detect and run all applicable builds:

```bash
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT"
```

**npm frontend** (if `package.json` + `vite`/`webpack`/`next` detected):
```bash
npm run build
```

**npm backend** (if `api/package.json` detected):
```bash
cd api && npm run build
```

**Python** (if `pyproject.toml` detected):
```bash
./venv/bin/python -m build 2>/dev/null || ./venv/bin/python -c "import py_compile, glob; [py_compile.compile(f, doraise=True) for f in glob.glob('**/*.py', recursive=True) if 'venv' not in f]"
```

- Zero compiler errors; zero TypeScript type errors (for TS projects)

## Gate 4 — Docker Build (if Dockerfile present)

```bash
if [ -f "$PROJECT_ROOT/Dockerfile" ]; then
  docker build -t $(basename "$PROJECT_ROOT"):gate-check . --quiet
  echo "Docker build: ✅"
else
  echo "Docker build: skipped (no Dockerfile)"
fi
```

If the project has a `docker-compose.yml`, also verify it starts cleanly:
```bash
if [ -f "$PROJECT_ROOT/deploy/docker-compose.yml" ] || [ -f "$PROJECT_ROOT/docker-compose.yml" ]; then
  COMPOSE_FILE=${PROJECT_ROOT}/deploy/docker-compose.yml
  [ -f "$COMPOSE_FILE" ] || COMPOSE_FILE=${PROJECT_ROOT}/docker-compose.yml
  docker compose -f "$COMPOSE_FILE" config --quiet && echo "Compose config: ✅"
fi
```

## Gate 5 — Cloud Security & Data Privacy (if cloud project)

Detect whether this project deploys to a cloud provider:

```bash
PROJECT_ROOT=$(git rev-parse --show-toplevel)
IS_CLOUD_PROJECT=false

# Detect project instruction file
INSTRUCTION_FILE=$(for f in CLAUDE.md AGENTS.md .cursorrules; do [ -f "$PROJECT_ROOT/$f" ] && echo "$PROJECT_ROOT/$f" && break; done)

# GCP: check for gcloud config, Terraform, or project instruction file references
if [ -n "$INSTRUCTION_FILE" ] && grep -qE "gcloud|GCP_PROJECT|GOOGLE_CLOUD_PROJECT|Cloud Run|Cloud SQL|Firebase" \
  "$INSTRUCTION_FILE" "$PROJECT_ROOT/.env.example" 2>/dev/null; then
  IS_CLOUD_PROJECT=true
fi

# AWS: check for aws-cli config or CDK/Terraform
if ls "$PROJECT_ROOT/terraform/" "$PROJECT_ROOT/infra/" "$PROJECT_ROOT/cdk.json" 2>/dev/null | grep -qE "aws|cdk"; then
  IS_CLOUD_PROJECT=true
fi

echo "Cloud project: $IS_CLOUD_PROJECT"
```

If `IS_CLOUD_PROJECT=true`, run the **cloud-security** workflow (full cloud security and data privacy scan):

- **Zero CRITICAL findings** (public data exposure, open credentials, public storage, SQL injection)
- **Zero HIGH findings** (missing SSL, overprivileged IAM, PII in logs, missing auth headers, eval() usage)
- MEDIUM/LOW findings: reported and tracked, non-blocking

If `IS_CLOUD_PROJECT=false`, Gate 5 is skipped.

## Gate summary output

This is the **reduce step**: aggregate the verdicts (Gate 1 plus the parallel Gates 2–5). STATUS is PASSED only when every applicable gate reports `passed` with no critical/high severity:

```
QUALITY GATE RESULTS
Gate 1 Tests:          ✅ PASSED (FE 97% | BE 96%)   | ❌ FAILED (BE 88%)
Gate 2 Security:       ✅ PASSED (0 critical, 0 high) | ❌ FAILED
Gate 3 Build:          ✅ PASSED                      | ❌ FAILED
Gate 4 Docker:         ✅ PASSED | skipped            | ❌ FAILED
Gate 5 Cloud/Privacy:  ✅ PASSED | skipped            | ❌ FAILED (1 CRITICAL)
STATUS: ✅ ALL GATES PASSED — safe to commit | ❌ GATE FAILED — fix issues before commit
```

**Do NOT commit or push until STATUS shows ALL GATES PASSED.**

## Record the pass (enables the gate-on-commit hook)

**Only when the summary shows ALL GATES PASSED**, record the pass so the optional `gate-on-commit` hook will allow the next commit/push:

```bash
python3 ~/100xprism/hooks/gate-pass.py 2>/dev/null || true
```

This writes a token for the **current tree state** (HEAD + tracked diff + untracked files) to `~/.100xprism/gate-cache`; any later edit invalidates it and re-arms the gate. If a gate **failed**, do NOT run this — leave the cache stale so the commit stays blocked.

Files in this skill

  • .100xprism-generated89 B
  • SKILL.md5.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.