deterministic-pr-gateslisted
Install: claude install-skill akshaypimprikar/pragma
# Deterministic Pre-PR Gates
## Why deterministic, not LLM-judged
Most "quality gate" agent skills work by asking an LLM to read a diff and judge it: is this good code, does it follow our conventions, is anything missing. That's a real capability, but it's non-deterministic — the same diff can pass on one run and get flagged on the next, and a confident-sounding judgment is not the same as a verified fact.
This skill does the opposite. Every gate is a real command with a checkable outcome: an exit code, a grep match, a coverage percentage against a threshold. Nothing here asks a model to opine. If a gate passes, it passed because a build succeeded, a test suite went green, or a pattern genuinely didn't match — not because an LLM said it looked fine.
Use an LLM-judgment skill *in addition* to this one for things that are genuinely subjective (does this variable name communicate intent, is this abstraction premature). Use this skill for everything that has a yes/no answer, so the two never overlap and neither goes soft on the other's job.
## When gates apply
Not every gate applies to every project or every diff. Each gate below states its own condition — most are conditional on specific files having changed. Skip a gate outright if its condition isn't met; report it as skipped, not as passed.
## Gate 0 — Change scope check (runs first)
```bash
git diff <base-branch>...HEAD --name-only -- '<source file extension(s), e.g. *.swift or *.py *.ts>'
```
If this returns no out